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-24
Error Messages
performs on these implicit DLLs is that they are “preset”, which would have to be true if
that implicit DLL was correctly fixed up at the time it was linked. But, the implicit DLL
mentioned in the message was not preset.
Effect. Fatal error (The linker cannot do what was requested of it and the linker
immediately stops).
Recovery. This indicates some problem with the procedure for building and installing
the NSK operating system, which is beyond the scope of this document.
Cause. As shown in the message, one of the input object files said it was using C++
dialect v2, and another said it was using dialect v3. Such a mixture is not allowed.
Effect. Error (The linker cannot do what was requested of it and will eventually stop,
but may continue for the purpose of detecting additional errors before stopping).
Recovery. Some of the source files need to be compiled, so that they are all using the
same dialect of C++.
Cause. The input files use C++, which means that they are either dialect v2 or v3, as
shown in the message, and you specified the -set cppdialect neutral option, to indicate
that the program or DLL that you are building should say that it doesn’t use C++. That
is okay, but eld puts out an informational message about it.
Effect. Information (This is not indicative of a problem).
Recovery. No action required, assuming you know that it would be okay for this
program or DLL to be included in a process where the program or other DLLs were
using the other dialect of C++. eld did not see any DLLs of the opposite C++ dialect
during this link, or else eld would have put out a warning message about that, but eld
doesn’t necessarily see all other DLLs that will be in the process at runtime, and if you
are building a DLL then eld similarly doesn’t see the program that will be in the
process.
Cause. The input files use the v2 dialect of C++, and during the link eld saw a DLL
that was using the v3 dialect of C++.
Effect. Warning (eld produces an output file, but it might not be what you intended).
1150 File <filename> is C++ dialect v2; file <filename> is
C++ dialect v3.
1151 The -set cplusplusdialect option specified <string>, but
the input linkfiles implied <string>.
1152 The loadfile being built has C++ dialect v2; DLL
<filename> has C++ dialect v3.










