HP OpenVMS Systems Documentation

Content starts here

OpenVMS Linker Utility Manual


Previous Contents Index

Appendix B
Appendix B Alpha Object Language
     B.1     Object Language Overview
     B.2     Module Header Records (EOBJ$C_EMH)
         B.2.1         Main Module Header Record (EMH$C_MHD)
         B.2.2         Language Processor Name Header Record (EMH$C_LNM)
         B.2.3         Source Files Header Record (EMH$C_SRC)
         B.2.4         Title Text Header Record (EMH$C_TTL)
     B.3     Global Symbol Directory Records (EOBJ$C_EGSD)
         B.3.1         Program Section Definition Subrecords (EGSD$C_PSC, EGSD$C_PSC64, EGSD$C_SPSC, EGSD$C_SPSC64)
             B.3.1.1             Normal Program Section Definition Subrecord (EGSD$C_PSC, EGSD$C_PSC64)
             B.3.1.2             Program-Section-Definition-in-Shareable-Image Subrecord (GSD$C_SPSC, EGSD$C_SPSC64)
             B.3.1.3             Standard Program Section Names and Attributes
         B.3.2         Global Symbol Specification Subrecords (EGSD$C_SYM, EGSD$C_SYMG)
             B.3.2.1             GSD Subrecord for a Global Symbol Definition (EGSD$C_SYM with EGSY$V_DEF Set)
             B.3.2.2             GSD Subrecord for a Universal Symbol Definition (EGSD$C_SYMG)
             B.3.2.3             GSD Subrecord for a Symbol Reference
         B.3.3         Entity-Ident-Consistency-Check Subrecord (EGSD$C_IDC)
         B.3.4         GSD Subrecords Reserved to the OpenVMS Operating System (EGSD$C_SYMV, EGSD$C_SYMM)
             B.3.4.1             Vectored-Symbol-Definition Subrecord (EGSD$C_SYMV)
             B.3.4.2             Symbol-Definition-with-Version-Mask Subrecord (EGSD$C_SYMM)
     B.4     Text Information and Relocation Records (EOBJ$C_ETIR)
         B.4.1         Stack Commands
         B.4.2         Store Commands
         B.4.3         Operator Commands
         B.4.4         Control Commands
         B.4.5         Conditional Store Commands
             B.4.5.1             Defining Conditional Linkage with Address-Related Commands
             B.4.5.2             Optimizing Instructions with Instruction-Related Commands
                 B.4.5.2.1                 Calculating JSR Hints
     B.5     End-of-Module Record (EOBJ$C_EEOM)
     B.6     Debugger Information Records (EOBJ$C_EDBG)
     B.7     Traceback Information Records (EOBJ$C_ETBT)
Index
Index
Examples
1-1 Hello World! Program (HELLO.C)
1-2 Sample Linker Options File
2-1 Module Containing a Symbolic Reference: my_main.c
2-2 Module Containing a Symbol Definition: my_math.c
3-1 Sample Program MYTEST.C
3-2 Sample Program MYADD.C
3-3 Sample Program MYSUB.C
3-4 Program Sections Generated by Example 3-1
3-5 Linking Examples 3-1, 3-2, and 3-3
3-6 Image Section Information in a Map File
3-7 Program Section Information in a Map File (VAX Example)
3-8 Image Section Descriptions in an ANALYZE/IMAGE Display
3-9 Image Section Synopsis of Second Link
4-1 Shareable Image Test Module: my_main.c
4-2 Shareable Image: my_math.c
4-3 Transfer Vector for the Shareable Image MY_MATH.EXE
Figures
1-1 Position of the Linker in Program Development
2-1 Symbol Vector Contents
2-2 Symbol Resolution
2-3 Clusters Created for Sample Link
2-4 Linker Processing of Default Libraries and SYS$BASE_IMAGE.EXE
3-1 Communication of Image Memory Requirements
3-2 Program Sections Created for Examples 3-1, 3-2, and 3-3
3-3 Combining Program Sections into Image Sections
4-1 Comparison of UNIVERSAL = Option and Transfer Vectors
4-2 Accessing Universal Symbols Specified Using the SYMBOL_VECTOR = Option
A-1 Order of Records in an Object Module
A-2 GSD Record with Multiple Subrecords
B-1 Order of Records in an Object Module
B-2 Module Header Record with Subrecords
B-3 GSD Subrecord for a Program Section Definition
B-4 GSD Subrecord for a Shareable Image Program Section Definition
B-5 GSD Subrecord for a Global Symbol Definition (Data)
B-6 GSD Subrecord for a Global Symbol Definition (Procedure)
B-7 GSD Subrecords for Universal Data Definition
B-8 GSD Subrecord for a Universal Procedure Definition
B-9 GSD Subrecord for a Global Symbol Reference (EGSD$C_SYM with EGSY$V_DEF Clear)
B-10 GSD Subrecord for an Entity Ident Consistency Check
B-11 Optimization of a Standard Call
B-12 Calculating a Hint to a Shareable Image
B-13 End-of-Module Record
Tables
1-1 Input Files Accepted by the Linker
1-2 Output Files Generated by the Linker
1-3 Linker Qualifiers
1-4 Linker Options
1-5 Logical Names for Cross-Architecture Linking
2-1 Linker Input File Processing
2-2 Linker Input File Cluster Processing
3-1 Program Section Attributes
3-2 Mapping Program Section Attributes to Image Section Attributes for Executable Images
3-3 Mapping Program Section Attributes to Image Section Attributes for Shareable Images
3-4 Significant Attributes of Program Sections in MYSUB_CLUS Cluster
3-5 Image Section Attributes
4-1 Linker Qualifiers and Options Used to Create Shareable Images
5-1 LINK Command Map File Qualifiers
5-2 Image Map Sections
5-3 Symbol Characterization Codes
A-1 Types of GSD Subrecords
A-2 Alignment Field Values
A-3 Stack Commands
A-4 Store Commands
A-5 Operator Commands
A-6 Control Commands
B-1 Object Record Types
B-2 Relationships of Structures in the Alpha Object Language
B-3 Key to Structure Prefixes
B-4 Module Header Subrecords
B-5 Types of GSD Subrecords
B-6 Alignment Field Values
B-7 Standard Program Sections
B-8 Stack Commands
B-9 Store Commands
B-10 Operator Commands
B-11 Control Commands
B-12 Summary of Store Conditional Commands for Linkage
B-13 Contents of Linkage When Symbol Is Local to the Image
B-14 Contents of Linkage When Symbol Is External to the Image
B-15 Summary of Store Conditional Commands for Instruction Replacement

Previous Next Contents Index