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

Output Listings and Error Handling
eld Manual—527255-009
6-116
Error Messages
Cause. The sizes listed for DLLs in a private DLL registry must be multiples of 64KB if
the linker is not building an implicit DLL, or 128KB if the linker is building an implicit
DLL (i.e., a component of system library). However, that rule was violated by the -
range command on the indicated line number of the file. That could be because the
file was incorrectly edited by hand. Or, if the address is a multiple of 64K, but needed
to be a multiple of 128K, that could be because this private DLL registry was previously
used to build a DLL that wasn’t an implicit DLL, but now is being used to build an
implicit DLL.
Effect. Fatal error (eld immediately stops without creating an output file).
Recovery. Fix the format of the file so that the size is a multiple of 64K or 128K, as
appropriate. A private DLL registry that is used to build ordinary DLLs should not also
be used to build implicit DLLs.
Cause. The addresses listed for DLLs in a private DLL registry must be at least as
large as the lower bound of the address range given by the -dllarea command, or
0x70000000 if an explicit -dllarea command is not present. However, that rule was
violated by the -range command on the indicated line number of the file.
Presumably, that was because the file was incorrectly edited by hand.
Effect. Fatal error (eld immediately stops without creating an output file).
Recovery. Fix the format of the file so that the addresses of all DLLs are at least as
large as the applicable lower bound.
Cause. The ending addresses listed for DLLs in a private DLL registry, as calculated
by adding their starting addresses to their reserved sizes, must not exceed the upper
bound of the address range given by the -dllarea command, or 0x80000000 if an
explicit -dllarea command is not present. However, that rule was violated by the
-range command on the indicated line number of the file. Presumably, that was
because the file was incorrectly edited by hand.
Effect. Fatal error (eld immediately stops without creating an output file).
Recovery. Fix the format of the file so that the ending addresses of all DLLs do not
exceed the applicable upper bound.
1619 DLL registry, line <number>: DLL address is below the
lower limit.
1620 DLL registry, line <number>: DLL extends above the upper
limit.
1621 No entry for DLL <filename> in the given DLL registry.










