HP OpenVMS Linker Utility Manual


Begin Index

Contents (summary)
Preface Preface
Part 1 Introduction to the OpenVMS Linker
Chapter 1 Introduction
Part 2 Linking on OpenVMS I64 Systems
Chapter 2 Understanding Symbol Resolution (I64)
Chapter 3 Understanding Image File Creation (I64)
Chapter 4 Creating Shareable Images (I64)
Chapter 5 Interpreting an Image Map File (I64)
Part 3 Linking on OpenVMS Alpha and VAX Systems
Chapter 6 Understanding Symbol Resolution (Alpha and VAX)
Chapter 7 Understanding Image File Creation (Alpha and VAX)
Chapter 8 Creating Shareable Images (Alpha and VAX)
Chapter 9 Interpreting an Image Map File (Alpha and VAX)
Part 4 LINK Command Reference
  Glossary
  Index
  Figures
  Examples
  Tables


Contents


Preface
Preface Preface
Part 1
Part 1 Introduction to the OpenVMS Linker
Chapter 1
1 Introduction
     1.1     Overview
         1.1.1         Terminology Used in this Manual
         1.1.2         Linker Overview
         1.1.3         Linker Functions
         1.1.4         Using the Linker
     1.2     Specifying Input to the Linker
         1.2.1         Object Modules as Linker Input Files
         1.2.2         Shareable Images as Linker Input Files
             1.2.2.1             Including a Shareable Image in a Link Operation
             1.2.2.2             Installing a Shareable Image
         1.2.3         Library Files as Linker Input Files
             1.2.3.1             Creating a Library File
             1.2.3.2             Including a Library File in a Link Operation
         1.2.4         Symbol Table Files as Linker Input Files (VAX Only)
         1.2.5         Options Files as Linker Input Files
     1.3     Specifying Linker Output Files
         1.3.1         Creating an Executable Image
         1.3.2         Creating a Shareable Image
         1.3.3         Creating a System Image (Alpha and VAX)
         1.3.4         Creating a Symbol Table File
         1.3.5         Creating a Map File
         1.3.6         Creating a Debug Symbol File (I64 and Alpha)
     1.4     Controlling a Link Operation
         1.4.1         Linker Qualifiers
         1.4.2         Link Options
     1.5     Linking for Different Architectures (Alpha and VAX)
Part 2
Part 2 Linking on OpenVMS I64 Systems
Chapter 2
2 Understanding Symbol Resolution (I64)
     2.1     Overview
         2.1.1         Types of Symbols
             2.1.1.1             Understanding Strong and Weak Symbols
             2.1.1.2             Group Symbols
             2.1.1.3             The C Extern Common Model
             2.1.1.4             Tentative Definitions in C
             2.1.1.5             Considerations for C Language Extensions
         2.1.2         Linker Symbol Resolution Processing
     2.2     Input File Processing for Symbol Resolution
         2.2.1         Processing Object Modules
         2.2.2         Processing Shareable Images
             2.2.2.1             Implicit Processing of Shareable Images
         2.2.3         Processing Library Files
             2.2.3.1             Identifying Library Files Using the /LIBRARY Qualifier
             2.2.3.2             Including Specific Modules from a Library Using the /INCLUDE Qualifier
             2.2.3.3             Processing Default Libraries
         2.2.4         Processing Input Files Selectively
     2.3     Ensuring Correct Symbol Resolution
         2.3.1         Understanding Cluster Creation
         2.3.2         Controlling Cluster Creation
             2.3.2.1             Using the CLUSTER= Option to Control Clustering
             2.3.2.2             Using the COLLECT= Option to Control Clustering
     2.4     Resolving Symbols Defined in the OpenVMS Executive
     2.5     Processing Weak and Strong Global Symbols
         2.5.1         Overview of Weak and Strong Global Symbol Processing
             2.5.1.1             Strong Symbols
             2.5.1.2             VMS-Style Weak Symbols
             2.5.1.3             UNIX-Style Weak Symbols
         2.5.2         Strong and Weak Definitions
         2.5.3         Resolving Strong and Weak Symbols
         2.5.4         Creating and Using VMS-style Weak Symbols
     2.6     Processing HP C++ Compiler-Generated UNIX-Style Weak and Group Symbols
         2.6.1         Processing Group Symbols
         2.6.2         HP C++ Examples
         2.6.3         Compiler-Generated Symbols and Shareable Images
     2.7     Understanding and Fixing DIFTYPE and RELODIFTYPE Linker Conditions
Chapter 3
3 Understanding Image File Creation (I64)
     3.1     Overview
     3.2     Creating Sections
         3.2.1         Sections Created by The Linker
             3.2.1.1             Sections for Relaxed Symbol Definitions
             3.2.1.2             Sections Embedded in Code Segments
             3.2.1.3             Short Data Sections
             3.2.1.4             Section for the Symbol Vector
             3.2.1.5             Sections that Contain Unwind Data
     3.3     Creating Segments
         3.3.1         Processing Clusters to Create Segments
         3.3.2         Combining Sections into Image Segments
         3.3.3         Traditional OpenVMS Image Attribute Terms and ELF Terms
         3.3.4         Processing Significant Section Attributes
         3.3.5         Allocating Memory for Segments
         3.3.6         Segment Attributes
         3.3.7         Controlling Segment Creation
             3.3.7.1             Modifying Section Attributes
             3.3.7.2             Alternate Way to Modify Section Attributes
             3.3.7.3             Manipulating Cluster Creation
             3.3.7.4             Isolating a Section into a Segment
     3.4     Initializing an Image on I64 Systems
         3.4.1         Handling of Initialized Overlaid Sections
         3.4.2         Writing the Binary Contents of Segments
         3.4.3         Other Image Segments
             3.4.3.1             Unwind Segments
             3.4.3.2             Short Data Segment
             3.4.3.3             Signature Segment
             3.4.3.4             Dynamic Segment
         3.4.4         Keeping the Size of Image Files Manageable
             3.4.4.1             Controlling Demand-Zero Image Segment Creation on I64 Systems
         3.4.5         Creating ELF Sections in the Image File
         3.4.6         Writing the Main Output Files


Previous Next Contents Index