|
发表于 2008-2-16 16:41:52
|
显示全部楼层
OS 在 load 一个 ELF 文件的时候, 会直接将文件映射到 0x8048000 的地方.
我们知道一个可执行文件(比如ELF文件)除了包含必要的 machine code 以外, 还有很多控制信息(用来标示文件类型, 文件的结构, 动态链接时的必要信息, 字符串表, 符号表等等), 有些信息放在 machine code 之前, 这些信息就占用了从 0x8048000 开始的一段地址空间
可以使用 readelf -S 命令查看在 .init 之前究竟有些什么玩意儿.
至于为什么选择 0x8048000, 就不清楚了 |
|