Porting Applications from HP OpenVMS Alpha to HP OpenVMS Industry Standard 64 for Integrity Servers

Order Number: XX-00DBF-BA

This document, "Porting Applications from HP OpenVMS Alpha to HP OpenVMS Industry Standard 64 for Integrity Servers" (December 2003, v8.1), serves as a guide for application developers migrating their applications from OpenVMS Alpha to the Itanium-based OpenVMS I64 operating system.

The manual highlights that most applications can be easily ported due to a shared OpenVMS source code base, but identifies key architectural and environmental differences that require attention. The general porting process outlined includes:

  1. Assessing Needs: Evaluating the application to identify dependencies, choose a porting method (rebuilding from source is generally assumed as a binary translator is not available in v8.1), and plan the migration.
  2. Environment Setup: Configuring the I64 migration environment, including hardware and software tools.
  3. Pre-Porting on Alpha: Compiling applications with the latest Alpha compilers and establishing performance baselines.
  4. I64 Migration: Recompiling, relinking, debugging, and testing the application on the OpenVMS I64 system.
  5. Integration: Incorporating the migrated application into a software system.

Key fundamental differences and areas requiring potential modifications include:

  • Calling Standard: Variations in data model, register usage, parameter passing, and return values compared to Alpha.
  • Floating-Point Arithmetic: I64 hardware primarily supports IEEE floating-point (default and recommended for performance); VAX floating-point types are supported through software conversion, which can incur performance overhead and slight precision differences.
  • Object File Format: I64 uses industry standards ELF and DWARF, which differ from Alpha's formats.
  • Code Dependencies: Changes may be necessary for Alpha-specific assembly code, conditionalized code, reliance on specific system services (e.g., SYS$GOTO_UNWIND, SYS$LKWSET), direct manipulation of the mechanism array data structure, explicit dependencies on Alpha object file format, multithreaded applications (due to increased stack space requirements), unaligned data handling, and privileged code (e.g., terminal drivers).
  • Development Tools: Native I64 compilers are available for languages like Bliss, C, COBOL, Fortran 90, Java, and VAX MACRO-32 (with some limitations), while others (BASIC, C++, Pascal) are planned for future releases, and Alpha Macro-64 is not supported. The binary translator for Alpha images is not available in this version (v8.1). Debuggers, linker, and librarian utilities have been adapted for I64.
  • Endianism: Not a concern when porting between OpenVMS Alpha and I64, as both platforms use little-endian byte ordering.

The document also provides a detailed application evaluation checklist and information on available HP porting resources.

XX-00DBF-BA
December 2003
106 pages
Quality

Original
0.3MB

Site structure and layout ©2025 Majenko Technologies