HP-UX 11i December 2003 Release Notes

Programming
Miscellaneous
Chapter 15
294
Forward and backward compatibility are maintained. However, use of new features in
this release may break backward compatibility.
Invoking chatr on some binaries built with an older linker may emit the following
message:
chatr(error): dl_header_ext.size != sizeof(dl_header_ext). Please update your version of
the linker/chatr.
This message should be regarded as a warning rather than an error. The operation of
chatr will be successful despite the warning.
Changes to the linker/dld Interface
updated for
March 2002
The linker/dld interface support for CXperf no longer applies, as the CXperf product
has been discontinued. For further details, see http://hp.com/go/cxperf.
new at 11i
original release
Patches to the linker/dld interface include the following enhancements:
Added support for the CXperf performance measuring tool in both 32-bit and 64-bit
versions of the ld command. Both versions now recognize the +tools option, which
enables CXperf information to be propagated to an executable program.
Added support for huge data (.bss > 4GB)
A defect was repaired whereby +Oprocelim removed more than it should have
causing a runtime error.
Performance shows a definite improvement:
32-bit ld: approximately 30% link time improvement
64-bit ld: approximately 8% link time improvement
Support OBJDEBUG architecture in both 32-bit and 64-bit linker.
Added support for executable stack.
Added global symbol table support.
Added support for object code repository reuse.
Neither functionality nor compatibility are affected by the code changes. However, for
64-bit programs, mixing object files having non-weakorder sections with object files
having weakorder sections might cause the ordering of text sections to change.
The new version of the linker requires 34112 blocks.
Instrumented Code Using PBO or +O4 Optimization
This note pertains to the compilers and linker for HP C, HP aC++, HP C++ (cfront;
obsoleted August 2001), HP Fortran 77, and HP-UX Linker.
When you compile your source code with the compiler shipped on HP-UX 11i, without
any changes to source code, options, or makefiles, you might create relocatable object
files or executables that are no longer backward compatible to an original 11.0 system.
This condition will occur if you recompile with PBO (+I compiler or linker option) or the
+O4 option. You might create instrumented objects (ISOM) that an 11.0 system does not
recognize.