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-72
Error Messages
__gp. That tells eld to lay out this symbol in the usual way, like any other data item,
but then use its address as the value to put in the GP register. After doing this, all the
GP-relative data could not be reached from that address.
Effect. Fatal error (eld immediately stops without creating an output file).
Recovery. Do you really need to DEFINE a symbol named __gp? If you want to write
code that figures out the value that in the GP register, you can do that just be having a
REFERENCE to the symbol named __gp, not a DEFINITION of it. The rules for what
makes the declaration of a symbol a “definition”, versus a “reference”, depend on the
source language, and that is beyond the scope of this manual. If you really do need to
define the symbol named __gp, that would be for some very special reason that is also
beyond the scope of this manual.
Cause. Each of the two files mentioned in the message defined data items of the
same name, as shown in the message. Various rules apply to such a situation. One
rule is that, if the two copies of the data item are initialized, then they must have the
same initial value. However, these two copies of the data item had different initial
values. It is also possible, in C++, for a data item to appear to be uninitialized, but in
that case it is treated as being initialized with the value 0.
Effect. Fatal error (eld immediately stops without creating an output file).
Recovery. Did you really intend to define data items with the same name in each of
these two files, and have both definitions visible across separate compilations? If not,
change the name of one of them, or change the declaration of one of them so that it is
only visible within its own compilation. If you are using the same data item in more
than one place, only one of those places needs to be a definition
, and the other places
can just be external references to that definition. Review the rules for what makes a
declaration a definition
, depending on the source language that you are using,
because the rules are different for each language. If you really do intend to have two
definitions
of this data item, visible across separate compilations, then the initial values
must be the same. Or, if you are not writing in C++, it would also be possible for some
copies of the data item to be uninitialized. If the initial values are different because the
two files were created from different versions of the source code, or by using different
compiler options, repeat the compilations doing things more consistently.
Cause. Each of the two files mentioned in the message defined data items of the
same name, as shown in the message. Various rules apply to such a situation. One
rule is that the two data items must look like the same “kind” of data, which eld judges
1462 Illegal duplicate definition of the data item <symbol
name> in <filename> and <filename> because they have
different initial values.
1463 Illegal duplicate definition of the data item <symbol
name> because it is in the <section name> section in
<filename> and the <section name> section in <filename>.










