| 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 |