Chapter 3 99
Linker Tasks
Linker Compatibility Warnings
Linker Compatibility Warnings
Beginning with the HP-UX 10.20 release, the linker generates
compatibility warnings. These warnings include HP 9000 architecture
issues, as well as linker features that may change over time.
Compatibility warnings can be turned off with the
+vnocompatwarnings linker option. Also, detailed warnings can be
turned on with the +vallcompatwarnings linker option. See the ld(1)
man page for a description of these options.
Link-time compatibility warnings include the following:
• Linking PA-RISC 2.0 object files on any system — PA-RISC 1.0
programs run on 1.1 and 2.0 systems. PA-RISC 2.0 programs do not
run on 1.1 or 1.0 systems. See Also “PA-RISC Changes in Hardware
Compatibility” on page 21.
• Dynamic linking with -A — If you do dynamic linking with -A, you
should migrate to using the shared library management routines
described in Chapter 6, “Shared Library Management Routines,” on
page 195. These routines are also described in the sh_load(3X) and
dl*(3X) man page.
The 64-bit mode linker does not support the -A option.
• Procedure call parameter and return type checking (which can be
specified with -C) — The 32-bit linker checks the number and types of
parameters in procedure calls across object modules. In a future
release, you should expect HP compilers to perform cross-module type
checking, instead of the linker. This impacts HP Pascal and HP
Fortran programs.
The 64-bit mode linker does not support the -C option.
• Duplicate names found for code and data symbols — The 32-bit linker
can create a program that has a code and data symbol with the same
name. In the HP-UX 11.00 release, the 64-bit mode linker adopts a
single name space for all symbols. This means that code and data
symbols cannot share the same name. Renaming the conflicting
symbols solves this problem.