ld_pa.1 (2010 09)
l
ld_pa(1) PA-RISC Systems Only
ld_pa(1)
+stripunwind
Do not output the unwind table. This creates smaller executable sizes. Use this
option if you do not need the unwind table for debugging or C++ exception handling.
+tools Request that the application be linked for profiling with CXperf.
+vtype type Produces verbose output about the link operation. type can have the following
values:
files Dump info about each object file loaded.
heap Dump info about the size of the heap used by a link.
libraries Dump info about libraries searched.
procelim Dump info about sections that have been rejected by the
+Opro-
celim option
sections Dump info about each input section added to the output file.
symbols Dump info about global symbols referenced/defined from/in the
input files.
all Dumps all of the above info. Same as
-v.
Defaults
Unless otherwise directed,
ld names its output a.out. The -o option overrides this. Executable out-
put files are of type SHARE_MAGIC. The default state of -a is to search shared libraries if available,
archive libraries otherwise. The default bind behavior is deferred.
The default value of the
-Z/-z option is -Z.
For 64-bit mode,
+std is on by default.
Incremental linking with ld (64-bit Mode ONLY)
In the edit-compile-link-debug development cycle, link time is a significant component. The incremental
linker (available through the
+ild and +ildrelink options) can reduce the link time by taking advan-
tage of the fact that you can reuse most of the previous version of the program and that the unchanged
object files do not need to be processed.
The incremental linker allows you to insert object code into an output file (executable or shared library)
that you created earlier, without relinking the unmodified object files. The time required to relink after
the initial incremental link depends on the number of modules you modify.
The linker performs the following different modes of linking:
• normal link : the default operation mode in which the linker links all modules.
• initial incremental link : the mode entered when you request an incremental link, but the output
module created by the incremental linker does not exist, or it exists but the incremental linker is
unable to perform an incremental update.
• incremental link : the mode entered when you request an incremental link, an output module created
by the incremental linker exists, and the incremental linker does not require an initial incremental
link.
Incremental links are usually much faster than regular links. On the initial link, the incremental linker
requires about the same amount of time that a normal link process requires, but subsequent incremental
links can be much faster than a normal link. A change in one object file in a moderate size link (tens of
files, several megabytes total) normally is about 10 times faster than a regular
ld link. The incremental
linker perform as many incremental links as allocated padding space and other constrains permit. The
cost of the reduced link time is an increase in the size of the executable or shared library.
The incremental linker allocates padding space for all components of the output file. Padding makes
modules larger than those modules linked by
ld. As object files increase in size during successive incre-
mental links, the incremental linker can exhaust the available padding. If this occurs, it displays a warn-
ing message and does a complete initial incremental link of the module.
When an object file changes, the incremental linker not only replaces the content of that file in the execut-
able or shared library being linked, but also adjusts references to all symbols defined in the object file and
referenced by other objects. This is done by looking at relocation records saved in the incrementally
linked executable or shared library.
HP-UX 11i Version 3: September 2010 − 17 − Hewlett-Packard Company 17