Table 3 values specify the type (continued)

Parameter Description

procelim

procelim Dump information about the sections that have been rejected by the +Oprocelim option.

$ ld main.o +Oprocelim +vtype procelim -L. -lfile1 -lfile2 Deleting 236 bytes in section file.note

Eliminated 0K of dead code and data, 0 global, 0 local and 0 hidden

symbols

Turning on the linkage table protection with +protect

You can use the +protect option to turn on the linkage table protection mode. When you turn on this option, the linker aligns the linkage table within page boundaries so that no other data resides in the same page. During runtime, the pages containing the linkage table is marked READ_ONLY.

The +protect option turns on immediate binding. For more information about immediate binding, see “Changing the Default Shared Library Binding with -B” (page 32).

The following options are not compatible with the +protect option:

+mergeseg

+filter

+lazyload

Creating read-only text segment in MPAS executable

By default, text segment in MPAS executable would be mapped private to the process. With the +mpas_rotext option, it is possible to build MPAS executable to support read-only text segment that is mapped shared. By setting the kernel tunable 'mpas_readonly_text' to value 1, the MPAS executable built with +mpas_rotext option runs with read-only text segment. This also helps to improve memory usage because the text segment is shared.

NOTE: The kernel patch PHKL_41355 must be installed to make use of this feature.

Allocating Storage for Uninitialized Data with +nobss

When the loader loads a shared library, the loader must ensure that the data segment and bss are mapped adjacent to each other in memory. This may involve repeated calls to mmap() and munmap(). When shared libraries are frequently loaded and unloaded, application performance may be affected.

You can use the new +nobss linker option to include the bss data of the shared library in its data segment. When you build programs with the +nobss option, the number of mmap and munmap calls at load time are minimal. However, the use of +nobss option increases the disk size of the shared library. HP recommends the use of +nobss option only when the frequent loading and unloading of shared libraries affect the application performance.

Initializing Floating Point Environment with +FP

You can use the +FP option to specify how the run time environment for floating point operations must be initialized at program startup and used at link time.

The following table describes the Table 4 (page 51).

50 Determining How to Link Programs or Libraries (Linker Tasks)