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

Binding of References
eld Manual—527255-009
3-12
Creating an Import Library at the Same Time That a
DLL is Created
there similarly is a -must_use_iname option instead of -must_use_oname. An
existing file of the same name is not replaced if the linker terminates with any errors.
The -change incomplete on option can be used to demote an import library from
complete to incomplete. It is not possible to demote the import library that represents
the implicit libraries. It is not possible to “un-demote” an incomplete import library so
that it becomes a complete import library.
The following subsections also tell how the linker decides whether to include DWARF
symbol table information in an import library when it creates it. As described in
Updating Or Stripping DWARF Symbol Table Information on page 4-14, the -strip
option may be used to remove DWARF symbol table information from an existing
loadfile or import library.
Creating an Import Library at the Same Time That a DLL is
Created
The following option:
-import_lib <filename>
tells the linker to create an import library at the same time that it creates the
corresponding DLL. If you use this option, and the DLL has DWARF symbols
information, then so will the import library. If the DLL is being created without DWARF
symbols information, through the use of the -s or -x options, then the import library
will also not have DWARF symbols information.
The following option:
-import_lib_stripped <filename>
similarly tells the linker to create an import library, but in this case the import library
does not contain DWARF symbol table information, even if the DLL does.
Creating Import Libraries From Existing DLLs
The following option:
-make_import_lib <filename>
tells the linker to make an import library out of one or more existing DLLs. The other
filenames in the command stream are the DLLs that the import library will represent.
eld reports an error if you specify -make_import_lib without specifying any DLLs
in the command stream.
If all the DLLs have the EF_TANDEM_IMPLICIT_LIB bit set in their ELF headers, the
linker creates the import library that represents the implicit libraries. In this case, the
EF_TANDEM_IMPLICIT_LIB bit is set in the import library that the linker is creating, it
is given the DLL name “__IMPLICIT_LIB__”, and
eld reports an error if there is any
overlap among the names of the symbols exported by the various input DLLs, unless
all the copies of the symbol have the STO_MULTIPLE_DEF_OK bit set. It is also an
error if any of the implicit DLL's is not preset. If any of the implicit DLL's is preset, but










