Eld Functionality For 64-Bit; Checking The C++ Language Dialect - HP eld Manual

Table of Contents

Advertisement

Other eld Processing

eld Functionality for 64-Bit

Object files can be 32-bit, 64-bit, or neutral. When eld is creating a new
object file out of a set of linkfiles, the desired data model for the output file is specified
by the following option:
-set data_model [value]
where value can be ilp32, lp64, or neutral.
For lp64 input linkfiles, it is considered as an error, if -set data_model ilp32" is
specified. Conversely, for ilp32 input linkfiles, it is considered as an error, if lp64 is
specified. Specifying neutral, does not verify the data models for the input linkfiles and
the output file which is marked as neutral. The neutral option is allowed only while
creating a linkfile or a DLL, and not for a program.
If the input linkfiles contains a combination of ilp32 and lp64 linkfiles, it is considered
as an error if the -set data_model option is not specified. If this error does not
occur, either the output file is marked with the data models (ilp32 or lp64) which
occur within the input linkfiles, or is marked as neutral if all the input linkfiles are
neutral.
The -change data_model neutral option marks an object file neutral,
regardless of how it was marked before. This is allowed for linkfiles and DLL's, but not
for programs.
The searching that is done for -l options or for liblist entries depends on the data
model of the file that is being created or processed by the -alf option, as discussed
in this manual.
When eld creates an import library that represents a single (non-implicit) DLL, the
import library is given the same data model as that DLL.
The import library that represents the implicit DLL's is always neutral.

Checking the C++ Language Dialect

To build a new linkfile or loadfile, the linker performs consistency checks of C++
language dialects.
In a linkfile, the st_other fields of ELF symbol table entries tell which C++ language
dialects are used by that object file, if any. If more than one C++ dialect occurs among
all the input linkfiles, that is an error.
By default, if some dialect of C++ occurred in the input linkfiles, then that value is
placed into the .tandem_info section when
input files used C++ then the value cppneutral is placed into the .tandem_info
section.
CPlusPlusDialect is an attribute accepted by the -set option, and the only allowed
value of the attribute is cppneutral. Also, this option is only allowed when creating a
loadfile. If specified, it means that the loadfile will be marked cppneutral, even if the
is building a loadfile. If none of the
eld
eld Manual—527255-009
4-12
eld Functionality for 64-Bit

Advertisement

Table of Contents
loading

Table of Contents