Sun Microsystems, Inc.
spacer |
black dot
  Previous   Contents   Next 
Appendix D

New Linker and Libraries Features and Updates

This appendix provides an overview of new features and updates that have been added to the Solaris operating environment and indicates the release to which they were added:

Solaris 9 Release

  • The -z rescan option provides reater flexibility in specifying archive libraries to a link-edit. See "Position of an Archive on the Command Line".

  • The -z ld32 and -z ld64 options provide greater flexibility in using the link-editor support interfaces. See "32-Bit and 64-Bit Environments".

  • Additional link-editor support interfaces ld_input_done(), ld_input_section(), ld_input_section64() and ld_version() have been added. See "Support Interface Functions".

  • Environment variables interpreted by the runtime linker can now be established for multiple processes by specifying them within a configuration file. See the -e and -E options of crle(1).

  • Support for more than 32,768 procedure linkage table entries within 64-bit SPARC objects has been added. See "SPARC: 64-bit Procedure Linkage Table".

  • An mdb(1) debugger module enables you to inspect runtime linker data structures a part of process debugging. See "Debugger Module".

  • The bss segment declaration directive makes the creation of a bss segment easier. See "Segment Declarations".

Solaris 8 07/01 Release

Solaris 8 01/01 Release

  • The symbolic information available from dladdr(3DL) has been enhanced with the introduction of dladdr1().

  • The $ORIGIN of a dynamic object can be obtained from dlinfo(3DL).

  • The maintenance of runtime configuration files created with crle(1) has been simplified. Inspection of a configuration file displays the command-line options used to create the file. An update capability is provided with the -u option.

  • The runtime linker and its debugger interface have been extended to detect procedure linkage table entry resolution. This update is identified by a new version number. See rd_init() under "Agent Manipulation Interfaces". This update extends the rd_plt_info_t structure. See rd_plt_resolution() under "Procedure Linkage Table Skipping".

  • An application's stack can be defined non-executable using the new mapfile segment descriptor STACK. See "Segment Declarations".

Solaris 8 10/00 Release

  • The environment variable LD_BREADTH is ignored by the runtime linker. See "Initialization and Termination Routines".

  • The runtime linker and its debugger interface have been extended for better runtime and core file analysis. This update is identified by a new version number. See rd_init() under "Agent Manipulation Interfaces". This update extends the rd_loadobj_t structure. See "Scanning Loadable Objects".

  • You can now validate displacement relocated data in regard to its use, or possible use, with copy relocations. See "Displacement Relocations".

  • 64-bit filters can be built solely from a mapfile using the link-editor's -64 option. See "Generating a Standard Filter".

  • The search paths used to locate the dependencies of dynamic objects can be inspected using dlinfo(3DL).

  • dlsym(3DL) and dlinfo(3DL) lookup semantics have been expanded with a new handle RTLD_SELF.

  • The runtime symbol lookup mechanism used to relocate dynamic objects can be significantly reduced by establishing direct binding information within each dynamic object. See "External Bindings" and "Direct Binding".

Solaris 8 Release

  • The secure directory from which files can be preloaded is now /usr/lib/secure for 32-bit objects and /usr/lib/secure/64 for 64-bit objects. See "Security".

  • Greater flexibility in modifying the runtime linker's search paths can be achieved with the link-editor's -z nodefaultlib option, and runtime configuration files created by the new utility crle(1). See "Directories Searched by the Runtime Linker" and "Configuring the Default Search Paths".

  • The new extern mapfile directive enables you to use -z defs with externally defined symbols. See "Defining Additional Symbols".

  • The new $ISALIST, $OSNAME, and $OSREL dynamic string tokens provide greater flexibility in establishing instruction set specific, and system specific dependencies. See "Dynamic String Tokens".

  • The link-editor options -p and -P provide additional means of invoking runtime link auditing libraries. See "Recording Local Auditors". The runtime link auditing interfaces la_activity() and la_objsearch() have been added. See "Audit Interface Functions".

  • A new dynamic section tag, DT_CHECKSUM, enables you to coordinate ELF files with core images. See Table 7-42.

Solaris 7 Release

  Previous   Contents   Next