Linker and Libraries Guide Appendix D Linker and Libraries Updates and New Features


This appendix provides an overview of the updates and new features that have been added to releases of the Solaris OS.

Solaris 10 5/08 Release

  • Global auditing can now be enabled by recording an auditor within an application together with the link-editor -z globalauditoption. See Recording Global Auditors.

  • Additional link-editor support interfaces, ld_open() and ld_open64() have been added. See Support Interface Functions.

Solaris 10 8/07 Release

  • Greater flexibility in executing an alternative link-editor is provided with the link-editor -z altexec64 option, and the LD_ALTEXECenvironment variable. See The 32–bit link-editor and 64–bit link-editor.

  • Symbol definitions that are generated using mapfiles can now be associated to ELF sections. See Defining Additional Symbols with a mapfile.

  • The link-editors now provide for the creation of static TLS within shared objects. In addition, a backup TLS reservation is established to provide for limited use of static TLS within post-startup shared objects. See Program Startup.

Solaris 10 1/06 Release

  • Support for the x64 medium code model is provided. See Table 7–4Table 7–8, and Table 7–10.

  • The command line arguments, environment variables, and auxiliary vector array of the process, can be obtained using the dlinfo(3C) flagRTLD_DI_ARGSINFO.

  • Greater flexibility in prohibiting direct binding from external references is provided with the link-editor -B nodirect option. SeeDirect Bindings.

Solaris 10 Release

Solaris 9 9/04 Release

Solaris 9 4/04 Release

  • The new section types SHT_SUNW_ANNOTATESHT_SUNW_DEBUGSTRSHT_SUNW_DEBUG, and SHT_SPARC_GOTDATA are supported. See Table 7–5.

  • The analysis of runtime interfaces is simplified with the new utility lari(1).

  • Greater control of direct bindings is provided with the link-editor options -z direct and -z nodirect, together with theDIRECT and NODIRECT mapfile directives. See Defining Additional Symbols with a mapfile, and Direct Bindings.

Solaris 9 12/03 Release

  • Performance improvements within ld(1) can significantly reduce the link-edit time of very large applications.

Solaris 9 8/03 Release

  • dlsym(3C) symbol processing can be reduced using a dlopen(3C) handle that is created with the RTLD_FIRST flag. See Obtaining New Symbols.

  • The signal used by the runtime linker to terminate an erroneous process can be managed using the dlinfo(3C) flagsRTLD_DI_GETSIGNAL, and RTLD_DI_SETSIGNAL.

Solaris 9 12/02 Release

Solaris 9 Release

  • Thread-Local Storage (TLS) support is provided. See Chapter 8, Thread-Local Storage.

  • The -z rescan option provides greater 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 Environments and 64–Bit Environments.

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

  • Environment variables interpreted by the runtime linker can now be established for multiple processes by specifying these variables 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 64-bit SPARC: Procedure Linkage Table.

  • An mdb(1) debugger module enables you to inspect runtime linker data structures as 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 that is made available from dladdr(3C) has been enhanced with the introduction of dladdr1().

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

  • The maintenance of runtime configuration files that are 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 therd_plt_info_t structure. See rd_plt_resolution() under Procedure Linkage Table Skipping.

  • An application's stack can be defined non-executable by 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. SeeScanning 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 by using the link-editor's -64 option. See Generating Standard Filters.

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

  • dlsym(3C) and dlinfo(3C) 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 Direct Bindings.

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/64for 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 with a mapfile.

  • 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–32.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值