HP-UX Reference (11i v3 07/02) - 1 User Commands A-M (vol 1)

l
ld_ia(1)
Integrity Systems Only
ld_ia(1)
+interp filename
Change the dld path to use the program specified by lename for the "interpreter"
program as the dynamic loader. This is useful when using special versions of
dld.so for debugging.
The default path for 32-bit programs is:
/usr/lib/hpux32/uld.so:/usr/lib/hpux32/dld.so
, and for 64-bit pro-
grams is:
/usr/lib/hpux64/uld.so:/usr/lib/hpux64/dld.so
.
+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 dur-
ing 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, loading is
deferred until a reference is made to that library during execution. Both the +lazy-
load
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 subse-
quent 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 load-
ing:
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
environ-
ment 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 depen-
dent libraries. This increases run-time performance by allowing the kernel to use
larger size page table entries.
+mmap Enables the feature to use mmap for writing the output data. This is the default
behavior. Linker enabled with mmap is much faster.
+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.
+nobss Pads the data segment with zeros, so that the data segment can be mapped with a sin-
gle call to mmap at runtime. Normally, data segments require one mmap call for file-
backed storage and a second mmap call for blank static storage (bss). Use of this
option increases your output file size.
+nodefaultmap
Do not use the default memory map. You must supply a mapfile through the -k
linker option.
HP-UX 11i Version 3: February 2007 10 Hewlett-Packard Company 527