加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux – 为什么ELF部分之间没有未使用的空白空间?

发布时间:2020-12-31 01:17:34 所属栏目:Linux 来源:网络整理
导读:似乎在 Linux上使用gcc 4.9.2创建的二进制文件(Ubuntu 15.04,32位)在.eh_frame和.init_array节之间有几千个未使用的字节. objdump -h为简单可执行文件输出的示例: Sections:Idx Name Size VMA LMA File off Algn[...] 16 .eh_frame 000000c0 080484ac 08048

链接描述文件的相关部分是:

[...]
.eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
[...]
/* Adjust the address for the data segment.  We want to adjust up to
   the same address within the page on the next page up.  */
. = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1));
. = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE),CONSTANT (COMMONPAGESIZE));
[...]
.init_array     :
[...]
.got            : { *(.got) *(.igot) }
. = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 12 ? 12 : 0,.);
.got.plt        : { *(.got.plt)  *(.igot.plt) }
.data           :
[...]
. = DATA_SEGMENT_END (.);

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读