是否可以将.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)?
谢谢!
答案 0 :(得分:0)
负责您发布的问题的工具是ld(1)
(链接器)它有一个完整的手册,描述用于对齐页面和创建最终程序的脚本语言。请阅读该手册(我指的是ld手册,而不是手册页)
阅读完毕后,您可以创建一个miniscript文件,该文件基于标准的linux脚本,强制*(.text)
段与页面对齐,并用它来链接您的程序。