Processing Of Floating Point Versions And Data Models - HP eld Manual

Table of Contents

Advertisement

Other eld Processing

Processing of Floating Point Versions and Data Models

When the linker builds a new linkfile or loadfile it performs consistency checks of
floating point versions. These checks use the floating point bits that are found in the
e_flags field of the ELF header.
The linker determines whether the input linkfiles are consistent, meaning that they do
not contain a mixture of both the tandem and ieee floating point types. If they are
consistent then the result type is determined to be whichever of tandem or ieee
occurred, or neutral if neither occurred.
If the -set floattype option is used, that determines the value that is placed into
the output linkfile or loadfile. The three values that can be specified with the -set
floattype option are ieee, neutral, and tandem, and they have the synonyms
ieee_float, neutral_float, and tandem_float, respectively. An informational
message is generated if the input files were not consistent, or if they were consistent
but with a result type different from what the option specified.
If a program is marked neutral, the HP NonStop operating system and CRE
consider that to mean the same thing as tandem. If the linker is creating a program
and -set_floattype neutral has been specified then the linker will put out a
warning message to say that floating point type neutral actually means tandem to
the HP NonStop operating system and CRE.
If the -set floattype option is not used,
not consistent. If they are consistent, the result type is placed into the output file.
When the linker is building a loadfile, the -set float_lib_overrule option may
be used to turn on the EF_TANDEM_FLOAT_LIB_OVERRULE bit in the ELF header of
the loadfile. The linker allows this bit to be set in both programs and DLLs.
The linker performs additional floating point checks with regard to DLLs when it is
creating a new loadfile, as described in the following paragraphs. The same checks are
performed by the -alf option when they are updating an existing loadfile. These
checks result in warning messages, not errors, because different DLLs may be used at
runtime.
If the linker is building a program, or updating it with -alf, the intention is to be
consistent with the checks that the HP NonStop operating system will do. So, there is
no checking against DLLs if the linker has been told to turn on the
FLOAT_LIB_OVERRULE bit in the program. If this bit is not to be turned on then the
linker checks the program's floating point type against all the DLLs that it has opened.
All DLLs must either be neutral or have the same floating point type as the one
indicated in the program. As mentioned above, if the program is marked neutral, the
linker considers that to mean tandem.
If the linker is building or updating a DLL then it checks that all the DLLs seen by the
linker, including the DLL that is being created or updated, do not contain a mixture of
both tandem and ieee.
Processing of Floating Point Versions and Data
reports an error if the input files are
eld
eld Manual—527255-009
4-16
Models

Advertisement

Table of Contents
loading

Table of Contents