This document outlines the release notes for the HP OpenVMS Migration Software for Alpha to Integrity Servers (OMSAI) Version 1.0, released in February 2005.
Purpose and Functionality:
OMSAI is designed to migrate OpenVMS Alpha applications to OpenVMS Itanium (I64) systems. It utilizes the Alpha Environment Software Translator (AEST) to translate existing OpenVMS Alpha executables and shareable images (including those previously translated from VAX by DECmigrate) into functionally equivalent OpenVMS I64 images. These translated I64 images contain both the translated Alpha code and the original Alpha image. OMSAI also helps identify dependencies and nonportable code.
Software Requirements:
- The AEST binary translator runs on OpenVMS Alpha Version 7.3 or higher.
- Translated applications run on OpenVMS I64 Version 8.2 or higher.
Key Criteria and Restrictions:
- Translatable Images: Supports user-mode native OpenVMS Alpha binary images (linked on V6.1-7.3x) and VESTed VAX binary images (linked on VAX V5.5-7.3).
- Performance: Translated images are expected to run slower than native Itanium-compiled images, potentially up to a factor of 10 in the worst case. Programs compiled with G_FLOAT format may experience a slowdown factor exceeding 100, which is planned for future correction.
- Global Restrictions: The software cannot translate programs that:
- Contain non-user-mode code.
- Use undocumented OS interfaces or user-written system services.
- Are linked with code and data tied to fixed addresses or reference system memory space.
- Use privileged or undocumented Alpha instructions.
- Employ self-modifying or dynamically generated code (these will be handled in simulator mode).
- Depend on shareable images that have not been translated or recompiled for I64.
- Were linked on OpenVMS Alpha earlier than Version 6.1 or OpenVMS VAX earlier than Version 5.5 (for VESTed images).
- Multithreaded Applications: Only native OpenVMS Alpha multithreaded images are supported. Correct translation is not guaranteed for applications using non-standard thread managers or low-level locking/synchronization techniques due to architectural differences.
- Interoperability: Native I64 and translated images can interoperate if native routines are compiled with
/TIE and linked with /NONATIVE_ONLY. The I64 C++ compiler, however, does not support /TIE, meaning translated C++ images cannot interoperate with native C++ images. All C++ components must be either entirely translated or natively compiled.
- Supported Languages: C, C++, Fortran, COBOL, BLISS, Macro-32, and Macro-64.
- Unsupported Features:
- Alpha or VESTED VAX PL/I applications.
- DECwindows applications.
- Programs using specific Alpha atomic instructions (RS, RC, CALL_PAL AMOVRM, AMOVRR).
__FAST_SETJMP and _FAST_LONGJMP.
- Potential for spurious floating-point exceptions in translated C code compiled on Alpha with
/FLOAT=D_FLOAT that makes calls to floating point math functions.
- Runtime Environment: TIE$SHARE run-time support for translated images is not bundled with the base OpenVMS I64 operating system V1.0 and requires a separate TIE V1.0 PCSI kit installation.
- System Quotas: Translation of large images may require increasing system quotas like BYTLM, WSDEF, WSQUO, WSEXTENT, and PGFLQUO.
- Retranslation: Any images translated with a previous version of OMSAI must be retranslated using the V1.0 kit.