【发布时间】:2017-03-09 16:27:51
【问题描述】:
是否可以将.text 分成 4K 对齐的页面。例如,我写了一个简单的程序并使用readelf -a a.out 转储节标题:
[Nr] Name Type Addr Off Size ES Flg Lk Inf Al
... ...
[11] .init PROGBITS 00000470 000470 000023 00 AX 0 0 4
[12] .plt PROGBITS 000004a0 0004a0 000060 04 AX 0 0 16
[13] .text PROGBITS 00000500 000500 000342 00 AX 0 0 16
[14] .fini PROGBITS 00000844 000844 000014 00 AX 0 0 4
如何将.text 放入 4K 对齐页面(例如,.text 的地址为 0x1000)?
谢谢!
【问题讨论】:
-
为什么你关心节对齐?与 segment 对齐(段已经对齐,请参阅
readelf -Wl)不同,section 对齐在最终链接之后几乎不再重要。