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-40
Error Messages
Cause. eld is building a program or DLL, and the program or DLL makes a reference
to the symbol mentioned in the message, but eld was unable to find a copy of that
symbol, either in the program or DLL being built, or in any other DLL that was looked at
during the link. This might occur for many reasons, ranging from spelling errors in your
source code, or things that you still need to write that you do not yet have in your
source code, to problems with files that other people are supposed to provide to you,
which either they did not provide or you did not pass along for eld to use, or
“standard” things not set up correctly in your installation.
Effect. Warning (eld produces an output file, but it might not be what you intended).
Recovery. You don’t necessarily need to do anything. A program may run correctly,
even if it has unresolved references at link time. But, you may prefer that your link be
clean. In that case, you need to look at the names of the symbols that eld said it
couldn’t find, and see if they exist somewhere. The message also told you the name of
the input object file that had the reference to the symbol, and the name of a code or
data section within that object file where the reference occurred, and the offset of the
reference within that code or data section. That symbol may be in a DLL, for example,
that eld wasn’t using, so you need to supply those DLLs to eld. eld will print out
informational messages about all the DLLs that it used if you supply the -verbose
option. A symbol in a DLL also needs to be exported from that DLL for eld to find it. A
symbol might also be a member of an archive, but the archive needs to come later on
the command line than the reference to the symbol to guarantee that eld finds the
symbol in the archive. Depending on the situation, you may be able to use the -
unres_symbols option to specify whether eld should consider unresolved
references to be errors, warnings, or neither.
Cause. eld is building a program or DLL, and the program or DLL makes a reference
to the symbol mentioned in the message, but eld was unable to find a copy of that
symbol, either in the program or DLL being built, or in any other DLL that was looked at
during the link. This may occur for many reasons, ranging from spelling errors in your
source code, or things that
you still need to write that you don’t yet have in your source
code, to problems with files that other people are supposed to provide to you, which
either they didn’t provide or you didn’t pass along for eld to use, or “standard” things
not set up correctly in your installation.
Effect. Warning (eld produces an output file, but it might not be what you intended).
Recovery. You don’t necessarily need to do anything. A program may run correctly,
even if it has unresolved references at link time. But, you may prefer that your link be
clean. In that case, you need to look at the names of the symbols that eld said it
couldn’t find, and see if they exist somewhere. The message also told you the name of
the input object file that had the reference to the symbol. That symbol may be in a
DLL, for example, that eld wasn’t using, so you need to supply those DLLs to eld.
1254 <filename>: unresolved reference to <symbol name>.
1255 <filename>: unresolved reference to <symbol name>.










