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 guidance
option. 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
mapfile
syntax 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 originalmapfiles
is maintained within the link-editor. See System V Release 4 (Version 1) Mapfiles for the originalmapfile
syntax 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_SOLARIS
in thee_ident[EI_OSABI]
ELF header. Historically,ELFOSABI_NONE
has been used for all objects. This change is primarily of informational value, as the runtime linker continues to considerELFOSABI_NONE
andELFOSABI_SOLARIS
to 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-O
option, 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 theLinux
operating 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_MMAPCNT
andRTLD_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_STRING
string 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 combreloc
option. The-z nocombreloc
is 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/bin
to/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_ldynsym
section. 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-end
options provide additional flexibility in specifying archive libraries to a link-edit. See Position of an Archive on the Command Line.