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

l
ld_ia(1)
Integrity Systems Only
ld_ia(1)
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.
+nodynhash Disable the default linker behavior of the +gst option to create the .dynhash section
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 storing pre-
computed hash values is too high. This option has no effect when used with the
-r
option.
+noenvvar Instruct the dynamic loader to ignore the dynamic path searching environment vari-
ables, LD_LIBRARY_PATH,
SHLIB_PATH , and $ORIGIN at runtime. By default,
or if you specify the
+std option, the dynamic loader looks at the environment vari-
ables, that is, the environment variables are enabled. If you specify the +compat
option or the +noenvvar option, the option takes effect and the dynamic loader
ignores the variables (the environment variables are disabled). See the +compat or
+std options.
You can display the status of this option in an executable or shared library from the
"shared library dynamic path search" output of the chatr command. See chatr(1) for
more information. Generally, this option is used for secure programs.
+nommap Disables the mmap feature and uses the normal buffering method to write into the
output file. NOTE: Do not use +nommap unless in cases like the system has very
low memory and the linker fails because of this.
+noobjdebug
Override the +objdebug compiler option, and copy all debug information to the exe-
cutable file. When you use the +objdebug compiler option with any of the -g
options, linker leaves the debug information in the object files instead of copying it
over to the output file. You can use the +noobjdebug option at link time to force
508 Hewlett-Packard Company 11 HP-UX 11i Version 2: December 2007 Update