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-96
Error Messages
same DLL name as the user library, but it is not the same file, nor does it look like a
copy of the same file.
Effect. Warning (eld produces an output file, but it might not be what you intended).
Recovery. This is not necessarily an error, although it may indicate that you didn’t do
what you intended to do. The DLL mentioned in the message will be used by eld
during this link. For example, you may have specified this DLL to eld with a -l option,
and the program will remember that fact, so the operating system will look for this DLL
again at runtime. That’s probably okay. It’s just a possible source of confusion that the
user library has the same DLL name as this DLL. You probably should avoid this
situation. The DLL name inside the DLL should match the name that the DLL will have
at runtime. You should either build it with that filename to start with, which by default
makes its DLL name the same as that file name, or you should use the -soname option
when you build the DLL, to tell the filename to which you intend to rename the DLL
later. And you should build the user library in a different place, so that it has a different
DLL name inside it.
Cause. You are building a program, and you are using a user library. A user library is
a DLL, and like any other DLL has a “DLL name” inside it. eld has also opened
another DLL, whose filename is shown in the message, and found that it contained the
same DLL name as the user library. Also, it probably is the same file, or a copy of the
same file, because it exports all the same symbols with the same addresses as the
user library.
Effect. Warning (eld produces an output file, but it might not be what you intended).
Cause. This is not necessarily an error, although it may indicate that you didn’t do
what you intended to do. The DLL mentioned in the message will be ignored by eld
during this link, because it is redundant with the user library as far as doing fixups is
concerned. For example, you may have specified this DLL to eld with a -l option, but
the program will not remember that fact, so the operating system will not know to look
for this DLL at runtime, even if a different user library is used then. It’s hard to say
what all the consequences of this might be. You probably should avoid this situation.
The DLL name inside the DLL should match the name that the DLL will have at
runtime. Y
ou should either build it with that filename to start with, which by default
makes its DLL name the same as that file name, or you should use the -soname option
when you build the DLL, to tell the filename to which you intend to rename the DLL
later. And you should build the user library in a different place, so that it has a different
DLL name inside it.
1559 The DLL <filename> was found with the same export digest
as the user library.
1560 The -local_libname option is only allowed when you are
building a program.










