跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 11.1 链接程序和库指南 Oracle Solaris 11.1 Information Library (简体中文) |
链接编辑器可创建桩目标文件。桩目标文件是共享目标文件,完全根据 mapfile 生成,在不包含代码或数据时,可提供与实际目标文件相同的链接接口。桩目标文件可由链接编辑器快速生成,并可用于提高生成过程的并行性和降低生成过程的复杂性。请参见桩目标文件。
链接编辑器可以使用 -z guidance 选项提供有关创建高质量目标文件的指导。请参见 ld(1)。
归档处理现在允许创建大小超过 4 GB 的归档文件。
局部审计程序现在可接收 la_preinit() 和 la_activity() 事件。请参见运行时链接程序审计接口。
随延迟依赖项提供了一种更为稳健的用于测试功能是否存在的模型。请参见测试功能和提供 dlopen() 的替代项。
提供了一种新的 mapfile 语法。请参见第 8 章。与原始的 System V 发行版 4 语言相比,该语法提供了更适合人阅读且可扩展性更好的语言。链接编辑器仍完全支持处理原始的 mapfile。有关原始 mapfile 的语法及用法,请参见附录 B。
各个符号可与功能要求相关联。请参见标识功能要求。利用该功能,可以在动态目标文件中创建一系列优化函数。请参见创建符号功能函数系列和功能节。
由链接编辑器创建的、包含特定于 Oracle Solaris 的 ELF 数据的目标文件在 e_ident[EI_OSABI] ELF 头中标记有 ELFOSABI_SOLARIS。以前,ELFOSABI_NONE 用于所有的目标文件。此项变更主要具有信息性价值,因为运行时链接程序仍继续将 ELFOSABI_NONE 与 ELFOSABI_SOLARIS 视为等效。但是,elfdump(1) 和类似的诊断工具可以使用此 ABI 信息为指定的目标文件生成更准确的信息。
elfdump(1) 已扩展为使用 e_ident[EI_OSABI] ELF 头的值或新的 -O 选项来标识特定于给定 ABI 的 ELF 数据类型和值,并使用此信息更为准确地显示目标文件内容。Linux 操作系统中显示目标文件中的 ABI 特定信息的能力得到极大扩展。
通过使用 dlinfo(3C) 标志 RTLD_DI_MMAPCNT 和 RTLD_DI_MMAPS,可获取装入进程的目标文件的段映射信息。
链接编辑器可识别多个 GNU 链接编辑器选项。请参见ld(1)。
链接编辑器为 SPARC 和 x86 目标提供了交叉链接。请参见跨链接编辑。
链接编辑器现在可以合并 SHF_MERGE | SHF_STRING 字符串节。请参见节合并。
现在,合并重定位节是创建可执行文件和共享目标文件时的缺省行为。请参见组合重定位节。以前,此行为需要链接编辑器的 -z combreloc 选项。-z nocombreloc 用于禁用该缺省行为并与必须应用重定位的节保持一一对应关系。
可使用新的 elfedit(1) 实用程序编辑 ELF 目标文件。
可使用新的 elfwrap(1) 实用程序在 ELF 可重定位目标文件内封装任意数据文件。
提供了其他符号可见性属性。请参见位于SYMBOL_SCOPE / SYMBOL_VERSION 指令和表 12-21 中的已导出单件和删除属性描述。
链接编辑器和关联的 ELF 实用程序已从 /usr/ccs/bin 移至 /usr/bin。请参见调用链接编辑器。
添加了符号排序节,可将内存地址与符号名称进行简单相关。请参见符号排序节。
由 crle(1) 管理的配置文件的格式进行了增强,可以更好地标识文件。经过改进的格式可确保运行时链接程序不使用不兼容平台上生成的配置文件。
添加了新的重定位类型,在重定位计算中使用关联符号的大小。请参见SPARC: 重定位。
-z rescan-now、-z recan-start 和 -z rescan-end 选项在为链接编辑指定归档库方面提供了更大的灵活性。请参见命令行中归档的位置。
以下项已经过时。这些项提供内部的或很少使用的功能。当前使用的任何关联的 ELF 定义都将被忽略,但是使用诸如 elfdump(1) 之类的工具仍然可以显示这些定义。
此动态节标记标识了运行时功能的要求。请参见动态节。此标记提供了功能标志 DTF_1_PARINIT 和 DTF_1_CONVEXP。DT_FEATURE_1 标记和所关联的标志不再由链接编辑器创建,也不再由运行时链接程序处理。