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-121
Error Messages
Cause. eld was searching for a DLL, and you were using either the PC or OSS
version of eld, rather than the Guardian version. The public DLL registry file, called
the “zreg file” in the error message, contained the name “zxxxdll” that eld was looking
for, which means that this is one of the standard DLLs that is supposed to exist in a
certain location. Specifically, it is required that there be a file named either “zxxxdll” or
“libxxx.so” in the same location (OSS directory,or PC folder) as the public DLL registry
file. But, either such a file does not exist, or you don’t have permission to read it.
Effect. Fatal error (eld immediately stops without creating an output file).
Recovery. There are various ways that eld may find the public DLL registry file. For
example, if you are running eld on TNS/E then the operating system tells eld where
the file is. In other cases, eld looks for it in an appropriate place, expecting it to have
the name “zreg”. The first place eld looks is its own location (Guardian subvolume,
OSS directory, or PC folder), and if there is no “zreg” file there then it will also look in a
sibling directory or folder whose name ends “lib”. Or, you can override these methods
by explicitly telling eld where it is with the -public_registry option. One of the
files mentioned in the message was supposed to exist in the same place as that public
DLL registry file, but wasn’t. If you gave the -public_registry option, then you
are responsible for setting up all the files correctly. Otherwise, there is something
wrong with your installation. The procedure for creating and installing a public DLL
registry file is beyond the scope of this manual
Cause. eld searched for the name specified in the message, and found it in the
public DLL registry file, meaning that this is one of the standard DLLs. And, eld found
a file of an appropriate name (of the form zxxxdll or libxxx.so) in the standard place, but
when eld opened it eld found that the file was an archive rather than a DLL.
Effect. Fatal error (eld immediately stop
s without creating an output file).
Recovery. This indicates that something is wrong with your installation. The method
creating the public DLL registry file, and making sure that the standard DLLs with the
right names are located in the same place (Guardian subvolume, OSS directory, or PC
folder) as that registry file, are beyond the scope of this manual.
1632 Can’t open public DLL file named <filename> or
<filename>. Such a file should be in the same place as the
zreg file, <filename>.
1633 <filename> is an archive, but the filename has the form
reserved for public DLL's.
1634 Cannot give the -call_shared option with the -r option.










