HP-UX Reference (11i v3 07/02) - 5 Miscellaneous Topics (vol 9)

d
dld.so(5) dld.so(5)
(Itanium(R)-based System Only)
When using the explicit load facilities of the dynamic loader, these types of errors are not considered fatal.
Consult shl_load(3X), dlclose(3C), dlget(3C), dlgetname(3C), dlmodinfo(3C), dlopen(3C), and dlsym(3C) for
more information. To see error messages, use the
dlerror() routine. This routine prints the last error
message recorded by the dynamic loader.
WARNINGS
The startup cost of the dynamic loader is significant, even with deferred binding, and can cause severe per-
formance degradation in processes dominated by startup costs (such as simple ‘‘hello world’’ programs). In
addition, position-independent code is usually slower than normal code, so performance of a program may
be adversely affected by the presence of PIC in shared libraries. However, the advantages of decreased
disk space usage and decreased memory requirements for executables should outweigh these concerns in
most cases.
There are rare cases where the behavior of a program differs when using shared libraries as opposed to
archive libraries. This happens primarily when relying on undocumented and unsupported features of the
compilers, assembler, and linker. See the
+help option to ld(1) or the HP-UX Linker and Libraries User’s
Guide for more details.
The library developer is entirely responsible for version control and must be thorough in identifying incom-
patible changes to library interfaces. Otherwise, programs may malfunction unexpectedly with later ver-
sions of the library. There is little an application user can do if version control is not handled properly by
the library developer. The application developer can usually resolve problems by modifying the source code
to use the new interfaces then recompiling and relinking against the new libraries.
By default, most warnings are not reported by the dynamic loader. If you wish to see all error messages,
set the environment variable
DLD_VERBOSE_ERR
to true.
AUTHOR
The
/usr/lib/hpux64/dld.so
and /usr/lib/hpux32/dld.so shared libraries were developed
by HP.
SEE ALSO
System Tools
aCC(1) invoke the HP-UX aC++ compiler
as(1) translate assembly code to machine code
cc(1) invoke the HP-UX C compiler
chatr(1) change program’s internal attributes
f90(1) invoke the HP-UX Fortran 90 compiler
fastbind(1) invoke the fastbind tool
ld(1) invoke the link editor
Miscellaneous
a.out(4) assembler, compiler, and linker output
dlclose(3C) unload a shared library previously loaded by
dlopen()
dlerror(3C) print the last error message recorded by dld
dlget(3C) return information about a loaded module
dlgetname(3C) return the name of the storage containing a load module
dlmodinfo(3C) return information about a loaded module
dlopen(3C) load a shared library
dlsym(3C) get the address of a symbol in a shared library
shl_load(3X) load/unload shared libraries
Texts and Tutorials
HP-UX Linker and Libraries Online User Guide
(See the +help option to ld(1))
HP-UX Linker and Libraries User’s Guide
(See manuals(5) for ordering information)
HP-UX 11i Version 3: February 2007 6 Hewlett-Packard Company 123