This description is new in the Software Express pilot program and revised in the Solaris Express 5/04 release. Linker and libraries updates were also introduced in the Solaris 9 12/02 and subsequent releases. These updates are included in the Solaris 10 3/05 release.
The Solaris 10 OS includes linker-editor features such as string table compression, unreferenced section elimination, and unreferenced dependency detection. For complete information on the most recent feature enhancements, see Appendix D, “Linker and Libraries Updates and New Features,” in the Linker and Libraries Guide.
Enhancements introduced in the Solaris Express 5/04 release include the following:
A restructuring of the file system has moved many components from under /usr/lib to /lib. The default search paths for both the link-editor and runtime linkers have been changed accordingly.
System archive libraries are no longer provided. Therefore, the creation of a entirely statically-linked executable is no longer possible.
Greater flexibility for defining alternative dependencies is provided with the -A option for the crle command.
Enhancements introduced in the previous Software Express pilot program include the following:
Greater flexibility in defining the hardware and software requirements of ELF objects is provided with the link-editors.
The runtime link-auditing interface la_objfilter() has been added.
Shared-object filtering has been extended to provide filtering on a per-symbol basis.
Thread-local storage is provided.
The -z ignore option has been extended to eliminate unreferenced sections during a link-edit. See the ld(1) man page.
Greater flexibility in defining a symbol's visibility is provided with the “protected” mapfile directive.
dlopen(3DL) and dlsym(3DL) look-up semantics have been expanded with a new mode, RTLD_FIRST.
Unreferenced dependencies can be determined by using the ldd utility. See the -U option in the ldd(1) man page.