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-118
Error Messages
which can’t, or maybe just allowing them to take up more space. Perhaps there are
entries in the private DLL registry that you don’t need. You can just delete those lines
of the registry by hand, or you could start over with a new registry and relink all the
DLLs you really need, so you only have entries for them in the new registry. Note that
the registry keeps track of the filenames that you create. So, for example, if you keep
using the same registry, and keep building the “same” DLL, except for giving it a
different filename with the -o option each time, then each of those builds will put
another line into the registry, using up more of its space. That isn’t something you
want to do.
Cause. You have given either the -alf option, to update an existing DLL, or you
have given the -make_import_lib option, to create the zimpimp file that represents
the implicit DLLs that constitute system library. In either case, you have also given the
-check_registry option, to say that the file being created or updated must fit in the
memory space assigned to it by a private DLL registry. But, the total size of the
segments of the DLL or import library, including the required rounding up to certain
alignments, was larger than the size specified in the private DLL registry.
Effect. Fatal error (eld immediately stops without creating or updating the output file).
Recovery. The use of the -check_registry option means that you have been
using a private DLL registry to keep track of memory addresses of DLLs, so that you
always rebuild them at the same addresses as before, and so that it will be an error if
one of them grows larger than the space allocated for it. Now that has happened.
Assuming you wanted to be doing this, and want to keep doing it, you now need to
make new decisions about where the DLLs should go. You could do that by editing the
private DLL registry file by hand, or by deleting some entries from the private DLL
registry and letting eld choose new locations for those DLLs with the
-update_registry option.
Cause. You gave the -update_registry option, and eld was trying to update the
private DLL registry that you specified. eld does this by first creating a temporary file
in the same location (Guardian subvolume, OSS directory, or PC folder) as the existing
registry. eld was either unable to create this temporary file, or else had a problem
writing to it after it was cre
ated.
Effect. Warning. eld will still create the DLL that you wanted to create, but the private
DLL registry itself has not been modified.
Recovery. Check that you have permission to create files in the same location as the
existing private DLL registry, and that it is not on a Guardian subvolume that is full.
1624 DLL size exceeds the size taken from the DLL registry.
1625 Error updating the DLL registry. The registry is
unchanged.










