eld Manual

Table Of Contents
Output Listings and Error Handling
eld Manual527255-009
6-105
Error Messages
giving a subset of the input files to eld each time, and then there would be less
confusion about what is actually going to happen.
Cause. You gave a -rename option, specifying that a symbol should be renamed. A
definition of that symbol (the first symbol name mentioned in the message) did occur in
the file mentioned in the message, so eld wanted to rename it (to the second symbol
name mentioned in the message), but there already was a definition of a symbol of that
name in this same input file.
Effect. Fatal error (eld immediately stops without creating an output file).
Recovery. You can’t have two different symbols of the same name in a linker input file,
and similarly you can’t use this kind of -rename option to make things look that way.
Once you have compiled two different symbols into the same object file, you can’t
make the linker think that they are the same symbol. If that was what you wanted to
do, change your source code to use the same name throughout.
Cause. You have given the -alf option, and the file that you specified with this
option is a program. You have also specified the -update_registry or -check_registry
option, which would only be possible if you were updating a DLL, not a program.
Effect. Fatal error (eld immediately stops without creating an output file).
Recovery. If your intention is to use the -alf option to repeat the fixup process on a
program then don’t specify the -check_registry or -update_registry option. If your
intention was to use the -alf option on a DLL, then you specified the wrong file to
eld, because the file that you specified was a program, not a DLL.
Cause. You specified the -alf option, to update a DLL. You also specified the -
check_registry or -update_registry option, to use a private DLL registry to choose new
addresses for the DLL. By default, when eld builds a DLL, it puts the data segment
right after the code segment. But, when this DLL was built, the
-d option was used, to
make the code and data segments come out at some other addresses, so that the data
segment was not immediately after the code segment. On the other hand, private DLL
registries can only be used to manage DLLs that have their data segments
immediately after their code segments.
1585 In <filename>, <symbol name> is defined, and is renamed
to <symbol name>, but that symbol is also already defined in
this file.
1586 Cannot use a DLL registry when running the -alf option
on a program.
1587 Cannot use a DLL registry with the -alf option when the
code and data of the existing DLL are not next to each other.