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-23
Error Messages
Cause. You are building a program, and it says that it needs the “IEEE” type of floating
point at runtime, but during this link eld is also looking at various other DLLs, and
among those other DLLs eld sees that at least one says that it requires the “Tandem”
version of floating point at runtime.
Effect. Warning (eld produces an output file, but it might not be what you intended).
Recovery. If the version of the DLL that is used at runtime still says that it requires the
“Tandem” type of floating point, your program will not be allowed to run. If the program
that you are building does not really require the “IEEE” type of floating point, it would
be better for you to specify -set floattype neutral when you build the program. If your
program really does need the “IEEE” type of floating point, though, there still may not
be a problem here. Even though the DLL says that it requires the “Tandem” version of
floating point, that may not really be true. You might want to look into this with people
who are familiar with what the DLL actually does need. You can avoid the runtime
check and make it possible to run your program despite the apparent inconsistency by
specifying the “-set float_lib_overrule on” option.
Cause. You are building a program, and it either says that it needs the “Tandem” type
of floating point at runtime, or that it is “neutral”, but during this link eld is also looking
at various other DLLs, and among those other DLLs eld sees that at least one says
that it requires the “IEEE” version of floating point at runtime.
Effect. Warning (eld produces an output file, but it might not be what you intended).
Recovery. If the version of the DLL that is used at runtime still says that it requires the
“IEEE” type of floating point, your program will not be allowed to run. Even though
your program may call itself “neutral”, that still is interpreted as meaning “Tandem” at
runtime, and NSK considers this to be inconsistent with what the DLL says. If you
know that all the DLLs used by the program say that they are either neutral or “IEEE”,
then you could lie by specifying the -set floattype ieee option to say that your program
also wants “IEEE”, and be able to run. But even if your program really does need the
“Tandem” type of floating point, that still may not mean there is a real problem here,
because even though a DLL says that it needs the “IEEE” type of floating point, that
may not be true. Y
ou might want to look into this with people who are familiar with
what the DLL actually does need. If you believe that it does make sense to run your
program, you can avoid the runtime check and make it possible to run your program by
specifying the “-set float_lib_overrule on” option.
Cause. You specified the -make_import_lib option, in order to create the zimpimp file
that represents the multiple implicit DLLs that constitute system library, and you also
specified those implicit DLLs on the command line. One of the checks that eld
1147 The program being created is floating point type
'tandem' or 'neutral'. DLL <filename> is 'ieee'.
1148 The implicit DLL <filename> has not been preset.










