HP-UX Reference (11i v2 03/08) - 1 User Commands A-M (vol 1)

l
ld(1) ld(1)
+interp filename
Change the dld path to use the program specified by filename for the "interpreter"
program as the dynamic loader. This is useful when using special versions of dld.so
for debugging. The default path is
/usr/lib/hpux32/uld.so:/usr/lib/hpux32/dld.so
for 32-bit programs
and
/usr/lib/hpux64/uld.so:/usr/lib/hpux64/dld.so
for 64-bit pro-
grams.
+interposer
Used only when building a shared library. This will create a shared library that can
be used for interposition. When resolving references for an application with direct
bind information (see
-B direct), the dynamic loader will search interposer
libraries first. If the symbol cannot be resolved to any interposing libraries, the
direct binding information will be used.
+k Direct the linker to only create an executable if there were no errors encountered
during the link. If there were errors found (system errors or unresolved references),
the output file will be removed.
+[no]lazyload
Enable [disable] lazy loading of shared libraries. For
+lazyload libraries, load-
ing is deferred until a reference is made to that library during execution. Both the
+lazyload and +nolazyload options may appear on the link line at the same
time. The mode that is specified, either explicitly or by default, remains on for all
subsequent libraries on the link line until the next occurrence of the one of these
two options.
Libraries satisfying one or more of the following conditions are ineligible for lazy
loading:
is a filter library
is accessed via a data reference from another
module
is accessed via an indirect function call
The linker will silently convert such libraries into
+nolazyload libraries.
Dependent libraries of
+lazyload shared libraries will not be processed during
link time, unless they are explicitly specified on the link line.
Lazy loading can be disable during runtime by setting the
LD_NOLAZYLOAD
environment variable.
+mergeseg Sets a flag in the executable which causes the dynamic loader to merge all data seg-
ments of shared libraries loaded at startup time into one block. Data segments for
each dynamically loaded library will also be merged with the data segments of
dependent libraries. This increases run-time performance by allowing the kernel to
use larger size page table entries.
+n Cause the linker to load all object modules before searching any archive or shared
libraries. The linker then searches the archive and shared libraries specified on the
command line in left to right order. It repeats the left to right search of the
libraries on the command line until there are no more unsatisfied symbols, or the
last search added no new definitions. This option is useful if two libraries are
specified that have symbol dependencies on each other.
+nodefaultmap
Do not use the default memory map. You must supply a mapfile through the -k
linker option.
+nodynhash Disable the default linker behavior of the +gst option to create the .dynhash sec-
tion for executables or shared libraries. Use this option to eliminate generation of
pre-computed hash table information for a library or an executable that is rarely
used with the global symbol table lookup scheme or for which the overhead of stor-
ing pre-computed hash values is too high. This option has no effect when used with
the -r option.
HP-UX 11i Version 2: August 2003 10 Hewlett-Packard Company Section 1439