HP-UX Linker and Libraries User's Guide
Run-time Differences Between SOM (PA32) and ELF (PA64 and Itanium)
IPF applications (32-bit and 64-bit) and PA-64 applications use a run-time dynamic loading model
similar to other SVR4 systems. Following are two main areas where the IPF/PA-64 program startup
differs from PA 32-bit mode:
Table 17 Main areas where the IPF/PA-64 program startup differs from PA 32-bit mode
IPF (32-bit and 64-bit) and PA-64 Mode
Behavior
PA-32 Mode BehaviorLinker and Loader Functions
Ordering is insignificant by default. Use
+compat to enforce ordering.
Ordering is significant.+s and +bpath_list ordering
Breadth-first search order. Use +compat to
enforce depth first ordering.
Depth-first search order.Symbol searching in dependent
libraries
LD_LIBRARY_PATH and SHLIB_PATH are
enabled by default. Use +noenvvar or
No run time environment variables
by default. If +s is specified, then
SHLIB_PATH is available.
Run time path environment variables
+compat to turn off run-time path
environment variables.
-Ldirectories are not recorded in
executables. Add all directories specified in
-L to +b path_list.
-Ldirectories recorded as absolute
paths in executables.
+bpath_list and -Ldirectories
interaction
PA64 Mode Linker Options
This section describes the PA64 mode linker options.
Table 18 PA64 mode linker options
ActionOption
Forces the linker to create a shared executable. The linker looks for shared libraries first and
then archived libraries. This option is on by default when you compile in PA64 mode.
-dynamic
Forces the linker to create a fully bound archive program.-noshared
Allows you to control the mapping of input section in the object file to segments in the output
file.
-k filename
Enables/disables forced loading of all the object files from archive libraries. The linker accepts
but ignores this option in 32-bit mode. It creates an executable (a.out).
+[no]allowunsats
Hides all symbols from being exported.+compat
Instructs the linker not to load the default mapfile. See the -k option.+[no]forceload
Instructs the dynamic loader not to look at the LD_LIBRARY_PATH and SHLIB_PATH
environment variables at runtime.
+hideallsymbols
Instructs the dynamic loader not to look at the LD_LIBRARY_PATH and SHLIB_PATH
environment variables at runtime.
+nodefaultmap
Instructs the linker to use SVR4 compatible linking and loading behaviors. Default for PA64
mode.
+noenvvar
Instructs the linker to use SVR4 compatible linking and loading behaviors. Default for PA64
mode.
+std
Instructs the linker not to output the unwind table.+stripunwind
Produces verbose output about selected link operations.+vtype type
Linker-Defined Symbols
This section describes the symbol names that linker reserves in PA64 mode (ELF). If an application
uses any of these symbols, linker displays an error message.
82 Linker Toolset Differences Between PA-RISC and Itanium-Based Systems