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-104
Error Messages
Cause. You gave an option to ask eld to create an import library, and eld was unable
to create the import library in the specified location, and you also gave the -
must_use_iname option to say that eld should consider that failure an error.
Effect. Fatal error (eld immediately stops without creating an output file).
Recovery. If there already was a file with the same name as the file you wanted to
create, and you didn’t have permission to delete it, specify a different filename for the
new version of the object file. Or, if there is some reason why you cannot rename one
filename to another filename in the target location (Guardian subvolume, OSS
directory, or PC folder), that could also lead to this message, but that is an operating
system question that is beyond the scope of this document.
Cause. The C++ compiler marks some symbols as “globalized” symbols, because the
fixups to such symbols need to follow special rules at runtime. You have globalized
symbols in the files that you are linking together, as indicated in the message. You
have also given the -instance_data option with a parameter value of data2hidden
or data2protected. That means that you are creating a program or DLL that has
special requirements on how data is protected, and in such cases globalized symbols
are not allowed.
Effect. Fatal error (eld immediately stops without creating an output file).
Recovery. Assuming you do need to make the special kind of program or DLL that
requires that -instance_data option, you probably need to look over your C++
source code to figure out why it has globalized symbols in it, and change the code to
avoid that. It is beyond the scope of this manual to explain the rules that the C++
compiler uses in deciding which globalized symbols to create.
Cause. You have specified two different -rename options that have a symbol name
in common. In other words, perhaps you are trying to rename the same symbol to two
other names, or you are trying to rename two different symbols to the same name, or
you are trying to rename “A” to “B” and “B” to “C”. None of these possibilities is
allowed.
Effect. Fatal error (eld immediately stops without creating an output file).
Recovery. These possibilities are not allowed because they are too complicated. Are
you sure you didn’t misspell the names of some symbols? If you really want to do
these kinds of things, in a situation where it would make sense, you can probably
accomplish that goal using multiple link steps, doing one of the renamings each time,
1581 Globalized symbols (first one: <symbol name>) are not
allowed when the -instance_data option is specified with the
data2hidden or data2protected parameter value.
1584 The same symbol, <symbol name>, occurs in two -rename
options.










