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-42
Error Messages
the reference was (in terms of its index in a table of relocation sites for some input
section), and which section it was pointing at (i.e., the section that was removed).
Effect. Fatal error (eld immediately stops without creating an output file).
Recovery. Assuming this file was created by the C++ compiler, that indicates a
compiler error, to be reported to HP, or perhaps incorrect usage of the compiler.
ENOFT can provide more information about the parts of the object file mentioned in the
message.
Cause. While doing this link, and looking at other DLLs to resolve references, eld has
come upon the same DLL twice, where “same” means that it contains the same “DLL
name” inside it. These DLLs may have been found from items placed on the command
line, or indirectly through the liblist entries of other DLLs, or a combination of these
things. When looking for indirect DLLs, it is perfectly reasonable to find the same DLL
more than once, and usually eld is silent about that. In this case, eld put out a
warning message, because eld has not found the same file twice, nor two files that
look like copies of each other. In other words, it looks like there are two different DLLs
that just happen to have the same DLL name inside them, which is probably not
something you meant to do. The determination of whether two DLLs “look like copies
of each other” is based on whether they contain the same “export digest” within them.
Having the same export digest means that eld could use either copy of the DLL and
the resulting fixups of the file being created would come out exactly the same.
Effect. Warning (eld produces an output file, but it might not be what you intended).
Recovery. You should figure out what these two DLLs are and decide which one you
probably wanted eld to find, and which one you didn’t want eld to find, and change
your build procedure accordingly. You may want to use both of them, and to do that
you need to give them different DLL names, using the -soname option when you build
those DLLs.
Cause. You used the -obey option, but eld could not open the filename you specified.
Effect. Fatal error (eld immediately stops without creating an output file).
Recovery. Check that you really intended to specify a file of the indicated name, that
you spelled it correctly, and that you do have permission to read it.
Cause. You used the -obey option, and eld was reading that obey file, and eld found
a quotation mark (double quote character) within that obey file, either at the beginning
of a line or after white space in the middle of a line. eld assumes that a token begins
1276 <filename> contains the same DLL name as <filename>, and
is therefore being ignored.
1280 Can't open obey file <filename>.
1281 Unmatched double quotes in obey file.










