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
  Glossary
  Index
  Figures
  Tables


Contents


Preface
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
             3.2.3.1             Software Dependencies
             3.2.3.2             Development Environment
             3.2.3.3             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
             4.1.2.1             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
             4.5.2.1             System Dump Analyzer
             4.5.2.2             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
             4.8.1.1             MACRO Sources
             4.8.1.2             BLISS Sources
             4.8.1.3             C Sources
             4.8.1.4             Existing Conditionalized Code
         4.8.2         System Services With Alpha Architecture Dependencies
             4.8.2.1             SYS$GOTO_UNWIND
             4.8.2.2             SYS$LKWSET and SYS$LKWSET_64
         4.8.3         Code With Other Dependencies on the Alpha Architecture
             4.8.3.1             Initialized Overlaid Program Sections
             4.8.3.2             Condition Handlers Use of SS$_HPARITH
             4.8.3.3             Mechanism Array Data Structure
             4.8.3.4             Reliance on Alpha Object File Format
         4.8.4         Code that Uses Floating-Point Data Types
             4.8.4.1             LIB$WAIT Problem and Solution
         4.8.5         Incorrect Command Table Declaration
         4.8.6         Code that Uses Threads
             4.8.6.1             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
             4.8.9.1             Use of SYS$LKWSET and SYS$LKWSET_64
             4.8.9.2             Use of SYS$LCKPAG and SYS$LCKPAG_64
             4.8.9.3             Terminal Drivers
             4.8.9.4             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
             5.3.1.1             No Based Clusters
             5.3.1.2             Handling of Initialized Overlaid Program Sections on OpenVMS I64
             5.3.1.3             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
             5.3.3.1             New /BASE_ADDRESS Qualifier
             5.3.3.2             New /SEGMENT_ATTRIBUTE Qualifier
             5.3.3.3             New /FP_MODE Qualifier
             5.3.3.4             New /EXPORT_SYMBOL_VECTOR and /PUBLISH_GLOBAL_SYMBOLS Qualifiers
             5.3.3.5             New Alignments for the PSECT_ATTRIBUTE Option
             5.3.3.6             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
             5.4.1.1             Architecture Support
             5.4.1.2             Language Support
             5.4.1.3             Functional Areas and Commands
             5.4.1.4             Functionality Not Yet Ported
         5.4.2         XDelta Debugger
             5.4.2.1             XDelta Capabilities on OpenVMS I64
             5.4.2.2             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
             5.5.3.1             New ELF Type for Weak Symbols
             5.5.3.2             Version 6.0 Library Index Format
             5.5.3.3             New Group-Section Symbols
             5.5.3.4             Current Library Limitation with Regard to Weak and Group Symbols


Previous Next Contents Index