The Creation Of Output Object Files - HP eld Manual

Table of Contents

Advertisement

eld Input and Output
The -ul option is synonymous with -shared plus -export_all, that is, to create a
DLL and export all its symbols. See
explanation of how the linker uses user libraries.
Certain DLLs are called implicit libraries. If the linker is creating a DLL, it can also be
told to make it an implicit library with the -make_implicit_lib option. This option
causes the linker to set the EF_TANDEM_IMPLICIT_LIB bit in the ELF header and to
impose certain other rules, as mentioned in various other places in this manual.

The Creation of Output Object Files

The name of the output object file is specified by the -o option. If the -o option is not
specified, but the -soname option is specified, then the name specified for the -
soname option is also used for the -o option.
If neither the -o nor -soname option is specified, the default output file name is
"aout" on the Guardian host and "a.out" elsewhere. Note that, in a Guardian subvolume
of OSS, the created file would actually be named "aout", because the period
automatically goes away.
On Guardian, and in Guardian subvolumes on OSS, the linker creates object files with
a file code of 800.
Output files on Guardian are odd unstructured files. The same is true for files created
in Guardian subvolumes on the OSS host platform.
On the TNS/E OSS host platform, when a loadfile is created with OSS as its target
personality, the linker gives it mode 777 because it is executable there. In all other
cases when the linker creates an object file on any version of OSS it gives it mode 666.
These modes are octal values, and they are AND'ed with the value returned by the
umask system call.
Whenever the TNS/E linker creates an object file it first creates a work file. This file is
in the same directory or subvolume as the output object file and will have a name of
the form ZLDAFnnn, where nnn is a 3-digit integer of the form 000, 001, etc. The linker
will choose the first name of this form that is not the name of an existing file, and it is
an error if all names of this form are already taken. The linker will attempt to do this in
an atomic way so that multiple links creating output object files for the same directory
or subvolume won't choose the same name. The linker will remove the work file if it
detects any error before the work file is complete.
The -temp_o option specifies the name of an intermediate file. If the specified name
is just the file identifier then the name is interpreted to be within the same directory or
subvolume as the output object file. If the specified name is not the file identifier then
reports an error if you do not specify the same directory or subvolume as the
eld
output object file.
If no error has occurred and the -temp_o option has been specified then the linker
will rename the completed work file to this intermediate file name. If there already was
a file with the name as specified in the -temp_o option, or if for any other reason the
linker is unable to rename the completed work file to the intermediate file name, then
Using User Libraries
eld Manual—527255-009
2-5
The Creation of Output Object Files
on page 3-10 for an

Advertisement

Table of Contents
loading

Table of Contents