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-54
Error Messages
Cause. You gave the -dllname option (or its synonym, the -soname option) more than
once on the command line. This option tells the “DLL name” to be placed inside the
DLL that you are creating, but you specified different DLL names. You can give this
option more than once, but only if you specify the same DLL name. Also note that
case is significant for this check.
Effect. Fatal error (eld immediately stops without creating an output file).
Recovery. If you want to specify this option, decide which DLL name you want to put
inside the DLL, and only specify that name.
Cause. You are using the OSS version of eld, and you are building a program that
uses a user library. You specified the -local_libname option, to tell eld where the
user library currently exists, for eld to fix up refernces to it during the link. It is also
necessary for eld to place a Guardian file name for the user library within the program
being built, to tell where the user library will exist in the Guardian namespace at
runtime. You could specify this with the -libname option, but you didn’t. In this case,
eld tries to use the name you specified for the -local_libname option, converting it
to the form of a Guardian filename. But, for that to work, the name you specify with the
-local_libname option needs to be a Guardian file (i.e., it needs to be a name such
as /G/a/b/c). But, it wasn’t, so that’s the error.
Effect. Fatal error (eld immediately stops without creating an output file).
Recovery. If you don’t intend for your program to use a user library, don’t specify the -
local_libname option. If you are using a user library, you must decide what its
Guardian filename will be at runtime. If you move the file there now, and specify it with
the format -local_libname /G/a/b/c, that will work. Or, if the file isn’t there now, you
can tell eld where it will be in the future with an option of the form -libname $a.b.c,
in addition to still giving the -local_libname option, to tell eld where the file is now.
Cause. The options that you gave to eld said that you wanted to build a new object
file out of existing object files. Those object files would be object files, such as those
created by a compilation, perhaps found in archives, and you can also tell eld about
DLLs to look at during this process. But, the file mentioned in the message, whose
name you put on the command line, is none of those things, but rather is a program.
1326 Multiple specifications of -soname or -dllname options
with different filenames.
1327 On OSS, if you specify -local_libname, you must either
also specify -set libname, or else the string specified for
-local_libname must be in the Guardian namespace, to be used
as the name of the user library at runtime.
1328 The specified input file <filename> is a program.










