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

Binding of References
eld Manual—527255-009
3-24
Finding and Reading The Public DLL Registry
(ZREG) File
2. If the -public_registry option is not specified then the linker looks for a file named
zreg in its own directory or subvolume. If this location is a \bin or /bin, eld will also
look in a corresponding \lib or /lib location. This supports the practice, on PCs and
OSS, of putting eld in a bin directory and the public DLLs (together with the zreg
file) in a sibling lib directory.
On OSS, where case is significant, zreg is lower case. If the file exists and the
linker can open it for reading, this file is deemed to be the public registry file.
Otherwise, if the -nostdlib option has not been specified, the linker writes out a
warning message.
3. If still not found, and the host platform is TNS/E, the linker uses a system call
(pubLibSpecs_get_) to find the location of the zreg file.
If the linker finds the public DLL registry, it then determines a list of public DLL
filenames. This information is used elsewhere in the linker for two purposes.
First, it is used to locate public DLLs, as discussed in Finding Public DLLs on
page 2-18. Second, it is used to locate the import library that represents the implicit
libraries, as discussed in Presetting Loadfiles on page 3-5.
As explained in those two sections, a filename found within the public DLL registry file
may be used by the linker to search for a file on a platform where filenames are case
sensitive. In that case, the linker will interpret what it finds within the public DLL registry
to be lower case. So, to avoid confusion, it is strongly recommended that all filenames
mentioned in the public DLL registry be written in lower case, and that when
corresponding files exist on a platform where case is significant those files are given
lower case filenames, and furthermore that the DLL names found within such files are
also written in lower case.










