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

Linker and Loader Functions

PA-32 Mode Behavior

+s and +bpath_list ordering

Ordering is significant.

Symbol searching in dependent

Depth-first search order.

libraries

 

Run time path environment variables

No run time environment variables

 

by default. If +s is specified, then

 

SHLIB_PATH is available.

IPF (32-bit and 64-bit) and PA-64 Mode

Behavior

Ordering is insignificant by default. Use +compat to enforce ordering.

Breadth-first search order. Use +compat to enforce depth first ordering.

LD_LIBRARY_PATH and SHLIB_PATH are enabled by default. Use +noenvvar or +compat to turn off run-time path environment variables.

+bpath_list and -Ldirectories

-Ldirectoriesrecorded as absolute

-Ldirectoriesare not recorded in

interaction

paths in executables.

executables. Add all directories specified in

 

 

-Lto +b path_list.

PA64 Mode Linker Options

This section describes the PA64 mode linker options.

Table 18 PA64 mode linker options

Option

Action

-dynamic

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.

-noshared

Forces the linker to create a fully bound archive program.

-k filename

Allows you to control the mapping of input section in the object file to segments in the output

 

file.

+[no]allowunsats 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).

+compat

Hides all symbols from being exported.

+[no]forceload

Instructs the linker not to load the default mapfile. See the -koption.

+hideallsymbols

Instructs the dynamic loader not to look at the LD_LIBRARY_PATH and SHLIB_PATH

 

environment variables at runtime.

+nodefaultmap

Instructs the dynamic loader not to look at the LD_LIBRARY_PATH and SHLIB_PATH

 

environment variables at runtime.

+noenvvar

Instructs the linker to use SVR4 compatible linking and loading behaviors. Default for PA64

 

mode.

+std

Instructs the linker to use SVR4 compatible linking and loading behaviors. Default for PA64

 

mode.

+stripunwind

Instructs the linker not to output the unwind table.

+vtype type

Produces verbose output about selected link operations.

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

Page 82
Image 82
HP UX Software Transition Kit (STK) manual PA64 Mode Linker Options, Linker-Defined Symbols