Table 14 Differences in options between PA-32 and IPF/PA-64 bit modes

Option

Description

 

 

-A name

Specifies incremental loading. IPF applications must use shared libraries instead.

 

 

-C n

Does parameter type checking. This option is unsupported.

 

 

-S

Generates an initial program loader header file. This option is unsupported.

 

 

-T

Save data and relocation information in temporary files to reduce virtual memory

 

requirements during linking. This option is unsupported.

 

 

-q, -Q, -n

Generates an executable with file type DEMAND_MAGIC, EXEC_MAGIC, and SHARE_MAGIC

 

respectively. These options have no effect and are ignored in IPF (32 bit and 64 bit) and

 

PA-64.

 

 

-N

Causes the data segment to be placed immediately after the text segment. This option is

 

accepted but ignored in 64-bit mode. If this option is used because your application data

 

segment is large, then the option is no longer needed in 64-bit mode. It can be used in

 

32-bit and IPF applications. If this option is used because your program is used in an

 

embedded system or other specialized application, consider using mapfile support with

 

the -koption.

 

 

+cgpathname

Specifies pathname for compiling I-SOMs to SOMs. This option is unsupported.

 

 

+objdebug mode

In IPF (32-bit and 64-bit), the compiler option +objdebug is the default. When used with

 

-g, the +objdebugoption leaves debug information in the object files instead of copying

 

it to the executable file at link time, resulting in shorter link times and smaller executables.

 

The +noobjdebug option can be used to override the +objdebug option and copy all

 

debug information to the executable file.

 

 

+nosrcpos

In IPF (32-bit and 64-bit), the +srcpos option is the default. The +srcpos option causes

 

the compiler to generate part of the debug information even when the -gcompiler option

 

is not specified. The +srcpos option also causes part of the debug information to be

always copied over to the executable file resulting in larger executables. The +srcpos option enables users to profile programs using tools like CXperf and HP Caliper, or compiler options like +I and +P, even in the absence of -gcompilation. The linker option +nosrcpos can be used to override the +srcpos option and strip the associated debug information during link time. The +nosrcpos option can also be used with -g+objdebugto fully enforce the +objdebug mode (i.e., leaving the debug information in the object files).

Table 15 Differences in behavior between PA-32 and IPF/PA-64 bit modes

Behavior

Description

Share library suffix

In PA-RISC (PA-32 and PA-64) shared libraries are suffixed with .sl. In

 

IPF (32-bit and 64-bit), the shared libraries are suffixed with .so. For

 

compatibility, the IPF linker also supports the .sl suffix.

 

 

Intra-library versioning

Specified by using the HP_SHLIB_VERSION pragma (C and aC++) or

 

SHLIB_VERSION directive (Fortran90). In PA-32 mode, the linker lets

 

you version your library by object files. IPF or PA-64 applications must

 

use SVR4 library-level versioning instead.

 

 

Duplicate code and data symbols

Code and data cannot share the same namespace in IPF mode. You must

 

rename the conflicting symbols.

All internal and undocumented linker options These options are unsupported.

Table 16 Differences in Toolset between PA-32 and IPF/PA-64 bit modes

Toolset

Description

 

 

odump

The odump tool that displays information about a SOM object file is not supported.

 

 

Link-time Differences Between SOM (PA32) and ELF (PA64 and Itanium) 81