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-7
Error Messages
Recovery. If your intention is to create a program or DLL, then don’t specify the -r
option. If your intention is to use the -r option to create a new object file that can be
used again as eld input, then don’t specify the -set systype option.
Cause. You gave the -set float_lib_overrule option, to specify the type of
floating point consistency checking to perform at runtime for the program or DLL that
you are creating, and you also gave the -r option, to tell eld to create an object file
that can be used again as linker input, rather than a program or DLL.
Effect. Fatal error (eld immediately stops without creating an output file).
Recovery. If your intention is to create a program or DLL, then don’t specify the -r
option. If your intention is to use the -r option to create a new object file that can be
used again as eld input, then don’t specify the -set float_lib_overrule option.
Cause. This can occur in one of two scenarios. In one case, you gave the -set
incomplete option, which is used to say that the import library that you are creating
should be marked “incompete”, but you did not give either the -import_lib or
-import_lib_stripped option to say that you wanted to make an import library at
the same time that you were making a DLL. The other case is that that you gave the
-change incomplete option, but the filename specified for the -change option was
not an import library. The ‘incomplete’ attribute only applies to import libraries.
Effect. Fatal error (eld immediately stops without creating an output file).
Recovery. If your intention is to create an import library at the same time that you are
creating a DLL, you must specify the -import_lib or -import_lib_stripped
option. If you are not creating an import library, do not specify the -set incomplete
option. Or, if you intended to update an existing import library to say that it was
incomplete, then figure out why the filename that you gave to eld as n
ot the name of
an import library. You cannot set the incomplete attribute in any other kind of object
file.
Cause. You gave options such as the -t and -d options to specify the starting virtual
addresses for the code and data segments of the program or DLL that you are
creating, and you specified addresses that wouldn’t fit into 32 bits. Or, as part of this
1009 The 'float_lib_overrule' attribute is not allowed with
the -r option.
1010 The 'incomplete' attribute is only allowed if you are
creating an import library or using the -change option to
update in import library.
1011 Input file <filename> specifies that the address of
<symbol name> is supposed to be placed into a 32-bit pointer,
but it doesn't fit into 32 bits.










