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-3
How to Distinguish the Different Types of Object
Files
linker can use an incomplete import library to check for unresolved references, but not
to preset.
DLLs and import libraries can also be used at compile time by the COBOL compiler to
find out information about procedure call interfaces.
Some DLLs are called public libraries because they are provided as part of the TNS/E
implementation and are found in a special way by the linker and runtime loader. A
public library has the same format as any other DLL, and can have an import library to
represent it.
Some of the public libraries are called implicit libraries because they are used at link
time and run time without explicit mention on the part of the user. There are several
implicit libraries, and there is a bit in a DLL that tells if it is an implicit library. A single
implicit library never has an import library to represent it to the linker. Rather, at link
time, when building a loadfile that is not an implicit library, a single import library
represents the entire set of implicit libraries. That is called the import library that
represents the implicit libraries, and it is always a complete import library.
How to Distinguish the Different Types of Object Files
The first four bytes of an ELF file (in the ELF header) identify the file as an ELF file.
The fifth byte, named e_ident [EI_CLASS], tells if it is the 32-bit or 64-bit version of
ELF. This distinguishes between TNS/R and TNS/E object files.
The e_machine field of the ELF header identifies the target platform. This also
distinguishes between TNS/R and TNS/E object files.
The e_type field of the ELF header distinguishes among the four types of TNS/E
object files described in this section, except that the same value, ET_DYN, is used
both for DLLs and import libraries.
When e_type = ET_DYN, the EF_TANDEM_IMPORT_LIB bit of the e_flags field tells if
it is a DLL or an import library. When it is an import library, the
EF_TANDEM_IMP_LIB_COMPLETE bit tells if it is complete or incomplete.
The EF_TANDEM_IMPLICIT_LIB bit of the e_flags field tells if this DLL is one of the
implicit libraries, and is also set in the import library that represents the implicit
libraries. The import library that represents the implicit libraries is also identified by the
DLL name “__IMPLICIT_LIB__” found in the DT_SONAME record of the .dynamic
section.
Summary of the Contents of an Object File
This appendix does not specify the ordering of sections within linkfiles. Compilers and
the assembler are free to arrange sections as they wish, and so can the linker when it
creates a linkfile with the -r option. The following is a list of the things that may exist
in linkfiles:
ELF Header










