JavaScript is required to for searching.
跳过导航链接
退出打印视图
链接程序和库指南     Oracle Solaris 11 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

第 1 部分使用链接编辑器和运行时链接程序

1.  Oracle Solaris 链接编辑器介绍

2.  链接编辑器

3.  运行时链接程序

4.  共享目标文件

5.  接口和版本控制

6.  使用动态字符串标记建立依赖性

第 2 部分快速参考

7.  链接编辑器快速参考

8.  版本控制快速参考

第 3 部分高级主题

9.  直接绑定

10.  Mapfile

11.  可扩展性机制

第 4 部分ELF 应用程序二进制接口

12.  目标文件格式

文件格式

数据表示形式

ELF 头

ELF 标识

数据编码

节合并

特殊节

COMDAT 节

组节

功能节

散列表节

移动节

注释节

重定位节

重定位计算

SPARC: 重定位

SPARC: 重定位类型

64 位 SPARC: 重定位类型

x86: 重定位

32 位 x86: 重定位类型

x64: 重定位类型

字符串表节

符号表节

符号值

符号表布局和约定

符号排序节

寄存器符号

Syminfo 表节

版本控制节

版本定义章节

版本依赖性节

版本符号节

13.  程序装入和动态链接

14.  线程局部存储

第 5 部分附录

A.  链接程序和库的更新及新增功能

B.  System V 发行版 4(版本 1)Mapfile

索引

节合并

SHF_MERGE 节标志可用于标记可重定位目标文件中的 SHT_PROGBITS 节。请参见表 12-8。此标志表示该节可以与其他目标文件中的兼容节合并。这类合并有可能减小通过这些可重定位目标文件生成的任何可执行文件或共享目标文件的大小。减小文件大小还有助于改善生成的目标文件的运行时性能。

带有 SHF_MERGE 标志的节表示该节遵循以下特征:

SHF_MERGE 是一个可选标志,用于表示进行优化的可能性。允许链接编辑器执行优化,或忽略优化。任一情况下,链接编辑器都会创建一个有效的输出目标文件。当前,链接编辑器仅对包含使用 SHF_STRINGS 标志进行标记的字符串数据的节执行节合并。

同时设置了 SHF_STRINGS 节标志和 SHF_MERGE 标志时,该节中的字符串就可以与其他兼容节中的字符串合并。链接编辑器使用与用于压缩 SHT_STRTAB 字符串表(.strtab.dynstr)的字符串压缩算法相同的字符串压缩算法来合并此类节。

目前,链接编辑器仅对由没有特殊对齐限制的单字节大小字符组成的字符串执行字符串合并。具体来说,必须具备以下节特征。


注 - 可以使用链接编辑器的 -z nocompstrtab 选项抑制任何字符串表压缩。