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-106
Error Messages
Effect. Fatal error (eld immediately stops without creating an output file).
Recovery. Did you really want to specify the -d option when you (previously) built this
DLL? There usually is no reason to do that. If you really need to separately specify
the code and data segment addresses for this DLL, and now you want to change them,
you can do that by specifying the -t and -d options with the -alf option, rather than
trying to do this with a private DLL registry. You cannot make a private DLL registry
store information about a DLL whose code and data segments are not next to each
other.
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 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 an output file).
Recovery. If you were using the -alf option then the size of the DLL would be the
same as it was before. But, that didn’t agree with the size of the DLL as listed in the
private DLL registry. So, that means you are using a private DLL registry that is not the
same as what might have been used when the DLL was previously created. Perhaps
the private DLL registry file had been edited by hand, putting in smaller sizes than it
had before.
Or, as part of building the NSK operating system, perhaps you were using a private
DLL registry to keep track of the address of the zimpimp file, so that you always rebuild
it at the same address as before, and so that it will be an error if it grows larger than
the space allocated for it. So, that has happened.
In either case, assuming you wanted to be doing this, and want to keep doing it, you
now need to make new decisions about where the DLL or zimpimp file should go. You
could do that by editing the private DLL registry file by hand, or by deleting its entry
from the private DLL registry and letting eld choose a new location for it with the -
update_registry option.
Cause. The -alf option is used to repeat the fixups on an existing program or DLL.
Usually, the -alf option only updates fixups within the data segment, because there
shouldn’t be any in the code segment. However, the millicode DLL within system
library is a special case that has fixups to be done in the code segment. The -alf
1588 In the DLL registry, the entry for <filename> reserves
it a size of <number>, but it needs <number>.
1590 The -update_code option can only be specified with the
-alf option.










