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 |