eld Manual
Table Of Contents
- eld Manual
- Legal Notices
- Contents
- What’s New in This Manual
- Manual Information
- New and Changed Information
- About This Manual
- Notation Conventions
- 1 Introduction to eld
- 2 eld Input and Output
- 3 Binding of References
- Overview
- Presetting Loadfiles
- To Preset or Not to Preset, and Creation of the LIC
- Handling Unresolved References
- Using User Libraries
- Creating Import Libraries
- Ignoring Optional Libraries
- Merging Symbols Found in Input Linkfiles
- Accepting Multiply-Defined Symbols
- Using the -cross_dll_cleanup option
- Specifying Which Symbols to Export, and Creating the Export Digest
- Public Libraries and DLLs
- The Public Library Registry
- 4 Other eld Processing
- Adjusting Loadfiles: The -alf Option
- Additional rules about -alf
- The -set and -change Options
- eld Functionality for 64-Bit
- Checking the C++ Language Dialect
- Renaming Symbols
- Creating Linker-Defined Symbols
- Updating Or Stripping DWARF Symbol Table Information
- Modifying the Data Sections that Contain Stack Unwinding Information
- Creating the MCB
- Processing of Floating Point Versions and Data Models
- Specification of the Main Entry Point
- Specifying Runtime Search Path Information for DLLs
- Merging Source RTDUs
- 5 Summary of Linker Options
- 6 Output Listings and Error Handling
- A TNS/E Native Object Files
- Glossary
- Index
TNS/E Native Object Files
eld Manual—527255-009
A-26
Finding Information About Procedures and
Subprocedures in Linkfiles
Finding Information About Procedures and Subprocedures in
Linkfiles
The linker obtains information about procedures and subprocedures from the .procinfo
and .procnames sections of linkfiles. These sections tell the linker what all the
procedures and subprocedures are, giving the following information about each one:
•
its name
•
its location
•
its attributes
•
how it is nested in other procedures
In addition, the .procinfo and .procnames sections tell the linker about alternate entry
points that have the CALLABLE or KERNEL_CALLABLE attribute.
When creating a linkfile, the linker creates the .procinfo and .procnames sections of
that linkfile from the sections of the same names in its input files. This is mostly done
by concatenation, in the same order as the linker saw those linkfiles, except that the
pointers from the .procinfo section to the .procnames section need the appropriate
updating, and entries for unneeded copies of procedures are omitted. (This ordering is
potentially important. For example, it can affect which procedure is chosen as the main
entry point, when the -allow_multiple_mains option tells the linker that it is okay to have
more than one procedure with the MAIN attribute.)
The DWARF Symbol Table
The DWARF symbol table contains information used by debuggers and by the COBOL
compiler, whereas the .symtab, .dynsym, and .dynsym.gblzd sections contain
information used by the linker and runtime loader.
The DWARF symbol table information in an import library that represents a single DLL
is the same as the DWARF symbol table information that is present in the
corresponding DLL. There is no DWARF symbol table information in the import library
that represents the implicit libraries.
A file may be "stripped", meaning that it doesn't have debugging information in it. This
means that the DWARF symbol table is not present. Note that it is even possible for a
linkfile to be stripped. In other words, even after being stripped, a linkfile can still be
processed by the linker, because the DWARF symbol table does not contain any
information that is required by the linker. An import library can be stripped even if the
corresponding DLL is not stripped.
DWARF Object File Sections
Here is a summary of the purposes of the DWARF sections that the HP NonStop
operating system uses:
.debug_info










