Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX 11i Version 1.6 Release Notes: HP-UX Servers and Workstations > Chapter 7 Programming

Link Editor (ld)

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

 » Index

The Link Editor, ld(1), takes one or more object files or libraries as input and combines them to produce a single (usually executable) file.

Summary of Change

New functionality introduced to HP-UX 11i v1.6 ld includes:

  • Procedure splitting

  • Merging shared library segments

  • Filtered Library

  • Large section table support

  • +instrumenter option

  • +O selective percent option

The -I option is also changed to use caliper as default instrumenter.

Details of Change

  • Procedure splitting (option: +[no]procsplitclean, +vtype procsplitclean)

    Procedure splitting enables splitting of the text section into a hot section (.text) and a cold section (.text.cold) depends on profile information. This creates better locality and i-cache performance for the hot section code. Linker dumps verbose trace of procedure splitting using +vtype procsplitclean option.

  • Merging shared library segments (option: +mergeseg)

    Executable build with the +mergeseg causes the dynamic loader to merge all the data segments of the shared libraries into one block during startup. The data segments of the dynamically loaded libraries is also merged with the data segments of dependent libraries. This increases run-time performance by allowing the kernel to use larger size page table entries.

  • Filtered library (option: +filter shared_library_path)

    Filtered library implementation is designed to reduce the amount of data space used by large shared libraries. It enables large shared libraries to be broken down into one "filter" (using +filter option) and several "implementation" (regular) libraries. User links with the filter library, which contains references to all of the symbols of the implementation libraries. During runtime, only the implementation libraries that are used are loaded into data space. This functionality decreases the amount of data space needed for a process if the implementation libraries are partition correctly.

  • Large section table support (no option, automatic)

    Large section table support implements the gABI standard for ELF object files format with more than 64K number of sections. When the number of sections exceeds the 64K limit, the compiler/linker automatically stores this information in a larger field in the ELF file, and a new section is created to store the section header index for symbols in the symbol table. There is no user option for this functionality.

  • Instrumenter (option: +instrumenter)

    The +instrumenter option enables user to invoke the static instrumenter sin instead.

  • Selective optimization by percent (option: +Oselectivepercent n)

    The +Oselectivepercent option instructs the inter procedural optimizer driver to pass the first n percent of the object files to the high level optimizer for inter procedural optimizations such as inlining. This option is designed to work at optimization level 4 (+O4) in the presence of dynamic profiling.

  • Instrumenter vs. Caliper (option: -I )

    When linking an executable with -I option, the default instrumenter is changed to caliper. When the program is executed, the dynamic loader automatically invokes /opt/langtools/bin/caliper for instrumentation. If the user wishes to use static instrumenter instead, the +instrumenter sin option should be used.

Impact

No impact identified.

Compatibility

ELF object files with more than 64K number of sections need to be recompile.

Performance

There is a minimum of 30% improvement in link time performance.

Obsolescence

Not applicable.

Documentation

The ld(1) manpage is also updated to include the new options. Please refer to the revised ld(1) manpage for the latest information on linker.

Machines Affected

IPF machines running HP-UX 11i v1.6.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 2002 Hewlett-Packard Development Company, L.P.