This document is a comprehensive guide for application developers to migrate applications from HP OpenVMS Alpha systems to HP OpenVMS Industry Standard 64 (I64) on Integrity Servers.
The manual outlines a structured porting process, emphasizing that most "well-behaved" applications can be easily ported by recompiling and relinking their source code. The process involves:
- Assessment: Evaluating the application for dependencies, identifying suitable migration methods (rebuilding from source or binary translation), and planning the effort.
- Preparation: Setting up the migration environment, compiling applications with the latest OpenVMS Alpha compilers, and testing them to establish baselines.
- Migration & Testing: Recompiling and relinking on an I64 system, debugging, and thoroughly testing the migrated application (including standard and I64-specific tests).
- Integration: Deploying the migrated application into the target software system.
Key differences between OpenVMS Alpha and I64 architectures that necessitate special attention and potential code modifications include:
- Calling Standard: Changes in register usage, parameter passing, and return values.
- Floating-Point Arithmetic: OpenVMS I64 natively uses IEEE floating-point, while VAX floating-point formats are emulated in software, which can impact performance and precision.
- Object File Format: I64 adopts industry-standard ELF (Executable and Linkable Format) and DWARF (debugging information format), differing from Alpha's formats.
- Architecture-Specific Code: Applications with direct dependencies on Alpha architecture features, Macro-64 assembly code (which must be rewritten), unaligned data, and certain OpenVMS Alpha system services require changes.
- Privileged Code & Threads: Applications operating in privileged modes or using custom stack-switching code need careful review.
The guide also describes the OpenVMS I64 development environment, including native compilers for various languages (e.g., BASIC, BLISS, C, C++, Fortran, Java), the linker, debuggers (OpenVMS Debugger, XDelta Debugger), and the Librarian utility. For situations where source code is unavailable or incompatible compilers exist, the HP OpenVMS Migration Software for Alpha to Integrity Servers (a binary translator) and the Translated Image Environment (TIE) are provided as alternative migration tools. Endianism is noted as generally not being a porting concern between OpenVMS Alpha and I64, as both use little-endian byte ordering.