This document, the Release Notes for DECmigrate Version 1.1A for OpenVMS AXP Systems (November 1994), describes product restrictions and known problems.
Purpose of DECmigrate:
DECmigrate supports the migration of OpenVMS VAX applications to OpenVMS AXP systems. The VAX Environment Software Translator (VEST) utility translates VAX executable and shareable images into functionally equivalent OpenVMS AXP images containing both Alpha AXP code and the original VAX image. Version 1.1A is a maintenance release, providing bug fixes but no new features.
Key Requirements and Compatibility:
- DECmigrate Version 1.1A runs on OpenVMS AXP Version 6.1 or higher.
- Translated images from Version 1.1A can only run on OpenVMS AXP V6.1 or later.
- Translatable VAX images must be nonprivileged, linked on VAX/VMS Version 4.0 or later, and run on OpenVMS VAX Version 5.4-2 or later.
- Installation requires specific system resources (two free global sections and 26 free global pagelets).
Major Restrictions and Known Problems:
Interoperability:
- Native and translated images can interoperate, but native routines calling or called by translated images must be compiled with the
/TIE qualifier and linked with /NONATIVE_ONLY.
- Shared PSECTs are not supported between translated and native images.
- Translated code cannot call jsbentry in native code, and vice versa.
Translation Limitations:
- VEST cannot translate images accessed via DECnet or those linked with
/NOSYSSHR if their system version array is not empty.
- VEST may not report underlying environmental problems (e.g., insufficient quotas) that prevent translation.
Runtime Issues:
- Translated images may cause IDENTMISMATCH errors if linked with OpenVMS VAX versions later than 5.4-2 due to incompatible run-time library shareable images.
- A fatal exception can occur if a translated image opens the maximum number of files and then executes a complex VAX instruction.
- Layered product shareable libraries (e.g., DECwindows Motif) may be incompatible between native and translated versions within the same process.
- Circular dependencies between shareable images with initialization code will prevent activation.
Floating Point Restrictions:
- Precision differences (D56 vs. D53) can lead to inaccurate results; retranslation with
/FLOAT=D56_FLOAT may be required.
- "Dirty zeros" from VAX hardware may cause traps;
/PRESERVE=FLOAT_EXCEPTIONS can help.
- Dfloating to Gfloating conversion can lead to HPARITH traps; retranslation with
/FLOAT=D56_FLOAT might be needed.
Language-Specific Restrictions:
- VAX Ada: Applications cannot be translated; must be recompiled on OpenVMS AXP.
- VAX BASIC: Images using WHEN ERROR constructs may require
/OPTIMIZE=NOSCHEDULE.
- VAX COBOL: Programs with
CANCEL or IS INITIAL may encounter runtime errors and require relinking with SYS$LIBRARY:COBRESTVA.OBJ.
- VAX DIBOL: Requires translation with
/PRESERVE=SAFETY.
- VAX C: Issues with
brk() and vfork() exist; relinking with /SHARE is recommended for VAXCRTL.
Instruction and Exception Handling:
/PRESERVE=INSTRUCTION_ATOMICITY does not apply to complex VAX instructions or specific instructions like CALLG, CALLS, JSB.
- Native and translated condition handlers cannot establish each other.
- Translated images depending on or modifying the VAX Program Status Longword (PSL) may not function properly, as there is no VAX PSL on AXP.
- VAX code using DECthreads TRY/CATCH exception handling is not translatable.
Unsupported Feature:
The GIRDLE Information File Compressor, included in the kit, is an unsupported program, and Digital does not guarantee its performance.