Oracle Solaris 10 8/11 Release
-
The link-editor can create stub objects. Stub objects are shared objects, built entirely from
mapfiles, that supply the same linking interface as the real object while containing no code or data. Stub objects can be built very quickly by the link-editor, and can be used to increase build parallelism and to reduce build complexity. See Stub Objects. -
The link-editor can provide guidance in creating high quality objects using the
-z guidanceoption. Seeld(1). -
Archive processing now allows the creation of archives greater than 4 Gbytes in size.
-
Local auditors can now receive
la_preinit() andla_activity() events. See Runtime Linker Auditing Interface. -
A more robust model for testing for the existence of functionality is provided with deferred dependencies. See Testing for Functionality and Providing an Alternative to dlopen.
-
A new
mapfilesyntax is provided. See Mapfiles in the Link-Editor. This syntax provides a more human readable, and extensible language than the original System V Release 4 language. Full support for processing originalmapfilesis maintained within the link-editor. See System V Release 4 (Version 1) Mapfiles for the originalmapfilesyntax and use. -
Individual symbols can be associated with capability requirements. See Identifying Capability Requirements. This functionality provides for the creation of a family of optimized functions within a dynamic object. See Creating a Family of Symbol Capabilities Functions, and Capabilities Section.
-
Objects that are created with the link-editor, and contain Oracle Solaris specific ELF data, are tagged with
ELFOSABI_SOLARISin thee_ident[EI_OSABI]ELF header. Historically,ELFOSABI_NONEhas been used for all objects. This change is primarily of informational value, as the runtime linker continues to considerELFOSABI_NONEandELFOSABI_SOLARISto be equivalent. However,elfdump(1), and similar diagnostic tools, can use this ABI information to produce more accurate information for a given object. -
elfdump(1) has been extended to use the value ofe_ident[EI_OSABI]ELF header, or the new-Ooption, to identify ELF data types and values that are specific to a given ABI, and to use this information to provide a more accurate display of the object contents. The ability to display ABI-specific information in objects from theLinuxoperating system has been greatly expanded. -
The segment mapping information for an object that is loaded with a process can be obtained using the
dlinfo(3C) flagsRTLD_DI_MMAPCNTandRTLD_DI_MMAPS. -
The link-editor recognizes a number of GNU link-editor options. See
ld(1). -
The link-editor provides cross linking for SPARC and x86 targets. See Cross Link-Editing.
-
The link-editor now provides for merging
SHF_MERGE|SHF_STRINGstring sections. See Section Merging. -
The merging of relocation sections when creating dynamic objects is now the default behavior. See Combined Relocation Sections. This behavior used to require the link-editor's
-z combrelocoption. The-z nocombrelocis provided to disable this default behavior, and preserve the one-to-one relationship with the sections to which the relocations must be applied. -
ELF objects can be edited with the new utility
elfedit(1). -
Arbitrary data files can be encapsulated within ELF relocatable objects using the new utility
elfwrap(1). -
Additional symbol visibility attributes are provided. See the exported, singleton and eliminate attribute descriptions under SYMBOL_SCOPE and SYMBOL_VERSION Directives and ELF Symbol Visibility.
-
The link-editor, and associated ELF utilities have been moved from
/usr/ccs/binto/usr/bin. See Invoking the Link-Editor. -
Symbol sort sections have been added, that allow for simplified correlation of memory addresses to symbolic names. See Symbol Sort Sections.
-
The symbol table information that is available with dynamic objects has been extended with the addition of a new
.SUNW_ldynsymsection. See Symbol Table Section and ELF Section Types, sh_type. -
The format of configuration files that are managed with
crle(1) has been enhanced for better file identification. The improved format ensures that the runtime linker does not use a configuration file generated on an incompatible platform. -
New relocation types have been added that use the size of the associated symbol in the relocation calculation. See Relocation Entries.
-
The
-z rescan-now,-z recan-start, and-z rescan-endoptions provide additional flexibility in specifying archive libraries to a link-edit. See Position of an Archive on the Command Line.