92 Chapter 3
Linker Tasks
Using 64-bit Mode Linker Options
This default may change in future releases.
When you use +std, the linker:
• Assumes -dynamic was passed to ld. The linker looks for shared
libraries first. The output executable is a shared executable.
• All dependent shared libraries are output in the dynamic table in a
DT_NEEDED entry. These dependent shared libraries are recorded as
standard mode shared libraries.
• ld +b and +s ordering is ignored. ld +s is on by default.
• If an error occurs during the link, the linker does not generate an
a.out file.
• Uses de facto standard internal name processing for dependent
shared libraries.
• Uses embedded RPATHs at link time to find dependent shared
libraries.
• If you do not specify ld +b, the linker uses a default RPATH consisting
of the -L directories, LPATH, and the default directories
/usr/lib/pa20_64:/usr/ccs/lib/pa20_64.
At runtime, the dynamic loader does a 64-bit-style load for all standard
mode dependent shared libraries. The dynamic loader:
• Does dynamic path searching only for standard-mode shared libraries
in the DT_NEEDED entry of the dynamic table which do not contain a
path. For those standard-mode dynamic libraries that contain paths,
dld looks for the library as specified.
• Looks for the shared library as specified in the DT_NEEDED dynamic
table entry if it contains a path.
• Looks at LD_LIBRARY_PATH and SHLIB_PATH environment variables
at runtime by default when doing dynamic path searching for
standard-mode shared libraries.
• Does not allow RPATH inheritance from ancestors to children (only
allowed from parent to child).
• Does a breadth-first search for all standard-mode dependent shared
libraries.