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-6
Error Messages
Effect. Error (The linker cannot do what was requested of it and will eventually stop,
but may continue for the purpose of detecting additional errors before stopping).
Recovery. A program can 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 that it couldn’t find, and see if they exist
somewhere. They may be in DLLs, for example, that eld wasn’t using, so you may
need to relink your program or DLL again, supplying the names of those DLLs. 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. The -unres_symbols option specifies whether eld should consider
unresolved references to be errors, warnings, or neither.
Cause. You gave the -libname, -set libname, or -change libname option.
The first two of these (which are synonyms) are used to tell the Guardian filename that
the user library will have when you run the program that you are buildling. The
-change libname option tells eld how to update that Guardian filename within an
existing program. However, along with either -libname or -set libname you have also
given the -dll, -shared, or -ul option to tell eld to build a DLL, rather than a
program, or you have given the -r option, to tell eld to build a “linkfile”, i.e., an object
file that can be used as eld input again, rather than a program. Or, in the case that
you gave the -change option, the filename that you specified with the -change option
is not a program but instead is either a DLL or a “linkfile”, such as is created by a
compilation.
Effect. Fatal error (eld immediately stops without creating an output file).
Recovery. If your intention is to create a program then don’t specify options for
creating something that isn’t a program, such as the -dll, -shared, or -ul options
that tell eld to create a DLL, or the -r option that tells eld to create another object file
that can be used again as eld input. If you intended to create one of these other
types of object files, rather than a program, then don’t give the -libname or -set
libname option. If you intended to update the user library name within an existing
program, then figure out why the filename that you gave to eld was not the name of a
program. There is no user library name in any other kind of object file.
Cause. You gave the -set systype option, to specify the system type (Guardian or
OSS) for the program or DLL that you are creating, and you also used the -r option, to
tell eld to create another object file that can be used as linker input, rather than a
program or DLL.
Effect. Fatal error (eld immediately stops without creating an output file).
1007 A user library name can only be specified for programs.
1008 The 'systype' attribute is not allowed with the -r
option.










