HP OpenVMS Systems Documentation

Content starts here

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

Begin Index

Contents (summary)
Preface Preface
Chapter 1 Introduction
Chapter 2 Fundamental Differences to Consider
Chapter 3 Assessing Needs for Porting Your Application
Chapter 4 Migrating Source Modules
Chapter 5 OpenVMS I64 Development Environment
Chapter 6 Preparing to Port Applications
Chapter 7 Other Considerations
Appendix A Application Evaluation Checklist
Appendix B Unsupported Layered Products
Appendix C Porting Application-Specific Stack-Switching Code to I64


Preface Preface
Chapter 1
1 Introduction
     1.1     OpenVMS Industry Standard 64 for Integrity Servers
     1.2     Overview of the Porting Process
         1.2.1         Evaluating the Application
Chapter 2
2 Fundamental Differences to Consider
     2.1     Calling Standard
         2.1.1         Changes to the OpenVMS Calling Standard
         2.1.2         Extensions to the OpenVMS Calling Standard
     2.2     Floating-Point Arithmetic
         2.2.1         Overview
         2.2.2         Impact on OpenVMS Applications
     2.3     Object File Format
Chapter 3
3 Assessing Needs for Porting Your Application
     3.1     Overview
     3.2     Evaluating the Application
         3.2.1         Selecting the Porting Method
         3.2.2         Identifying Applications to Be Ported
         3.2.3         Assessing Dependencies
                Software Dependencies
                Development Environment
                Operating Environment
         3.2.4         Operational Tasks
     3.3     HP Porting Resources
     3.4     Additional Considerations
Chapter 4
4 Migrating Source Modules
     4.1     Setting Up the Migration Environment
         4.1.1         Hardware
         4.1.2         Software
                HP OpenVMS Migration Software for Alpha to Integrity Servers and Translated Image Environment (TIE)
         4.1.3         Coexistence with Translated Images
     4.2     Compiling Applications on Alpha With Current Compiler Version
     4.3     Testing Applications on Alpha for Baseline Information
     4.4     Recompiling and Relinking on an I64 System
     4.5     Debugging the Migrated Application
         4.5.1         Debugging
         4.5.2         Analyzing System Crashes
                System Dump Analyzer
                Crash Log Utility Extractor
     4.6     Testing the Migrated Application
         4.6.1         Alpha Tests Ported to I64
         4.6.2         New I64 Tests
         4.6.3         Uncovering Latent Bugs
     4.7     Integrating the Migrated Application into a Software System
     4.8     Modifying Certain Types of Code
         4.8.1         Conditionalized Code
                MACRO Sources
                BLISS Sources
                C Sources
                Existing Conditionalized Code
         4.8.2         System Services With Alpha Architecture Dependencies
                SYS$LKWSET and SYS$LKWSET_64
         4.8.3         Code With Other Dependencies on the Alpha Architecture
                Initialized Overlaid Program Sections
                Condition Handlers Use of SS$_HPARITH
                Mechanism Array Data Structure
                Reliance on Alpha Object File Format
         4.8.4         Code that Uses Floating-Point Data Types
                LIB$WAIT Problem and Solution
         4.8.5         Incorrect Command Table Declaration
         4.8.6         Code that Uses Threads
                Thread Routines cma_delay and cma_time_get_expiration
         4.8.7         Code With Unaligned Data
         4.8.8         Code that Relies on the OpenVMS Alpha Calling Standard
         4.8.9         Privileged Code
                Use of SYS$LKWSET and SYS$LKWSET_64
                Use of SYS$LCKPAG and SYS$LCKPAG_64
                Terminal Drivers
                Protected Image Sections
Chapter 5
5 OpenVMS I64 Development Environment
     5.1     Native I64 Compilers
         5.1.1         VAX MACRO--32 Compiler for OpenVMS I64
     5.2     Other Development Tools
         5.2.1         Translating Alpha Code
     5.3     Linking Modules
         5.3.1         Differences When Linking on OpenVMS I64 Systems
                No Based Clusters
                Handling of Initialized Overlaid Program Sections on OpenVMS I64
                Behavior Difference When Linking ELF Common Symbols
         5.3.2         Expanded Map File Information
         5.3.3         New Linker Qualifiers and Options for OpenVMS I64
                New /BASE_ADDRESS Qualifier
                New /SEGMENT_ATTRIBUTE Qualifier
                New /FP_MODE Qualifier
                New /EXPORT_SYMBOL_VECTOR and /PUBLISH_GLOBAL_SYMBOLS Qualifiers
                New Alignments for the PSECT_ATTRIBUTE Option
                New GROUP_SECTIONS and SECTION_DETAILS keywords for the /FULL Qualifier
         5.3.4         Mixed-Case Arguments in Linker Options, Revisited
     5.4     Debugging Capabilities on OpenVMS I64 Systems
         5.4.1         OpenVMS Debugger
                Architecture Support
                Language Support
                Functional Areas and Commands
                Functionality Not Yet Ported
         5.4.2         XDelta Debugger
                XDelta Capabilities on OpenVMS I64
                Differences Between XDelta on OpenVMS I64 and OpenVMS Alpha Systems
     5.5     OpenVMS I64 Librarian Utility
         5.5.1         Considerations When Using the I64 Librarian
         5.5.2         Changes to the LBR$ Routines
         5.5.3         I64 Library Format Handles UNIX-Style Weak Symbols
                New ELF Type for Weak Symbols
                Version 6.0 Library Index Format
                New Group-Section Symbols
                Current Library Limitation with Regard to Weak and Group Symbols

Previous Next Contents Index