【静态链接】第2章---------------------目标文件(ELF格式之段表)
2014-03-02 22:44
323 查看
######## 该系列博文为书籍《程序员的自我修养》的笔记 ##########
【说明】
前面我们介绍了文件头,里面含有大量文件的信息,其中有一个e_shoff 成员,叫做段表偏移,它来指示段表在文件中的偏移值。
【段表是什么】
我们前面看到了,ELF文件中把指令和数据分成了很多段,比如.text比如.data等等,其实还有一些辅助的段没有被显示出来,比如符号表,比如字符串表等等,而ELF文件中所有的段的信息,都会存在一个段表中,然后文件头中的e_shoff 成员来指示这个段表在哪,这样,我们得到了文件头,从文件头得到段表位置,从段表中获得段的位置,最后从段中可以找到对应数据。
【段表内容】
我们可以利用readelf -S simp.o 来显示段表的信息,还是我们的simp.o例子,如下图
段表其实就是一个数组,而前面的数字就是这个段在段表中的下标,从图中看到,第一个项是没有被使用的,一般就是写为NULL
我们说段表其实就是一个数组,那我们就必须关注它的每一项的具体定义,显然每一项就的记录了一个段的信息。下面就是相关定义
段表就是由上边这种结构体构成的数组。。。。。
下面是各个成员的作用
好了,,现在,大家看到下面这张图就有中恍然大悟的赶脚了,其中的空白是因为对齐的原因。
【部分成员的具体类别】
1】sh_type 段的类别
其实段名对于操作系统是没有什么意义的,它不看,操作系统在装载的时候只关注段的属性和标志
可以取下面这几种值
2】sh_flag 段的标志位
一个段可以取下面的值的或,,也就是可以同时持有下面标志中的几个
3】sh_link , sh_info 段的链接信息
如果段的类型与链接相关,比如重定位表,符号表等等,那么这两个就有意义,其他段忽视这两个
【说明】
前面我们介绍了文件头,里面含有大量文件的信息,其中有一个e_shoff 成员,叫做段表偏移,它来指示段表在文件中的偏移值。
【段表是什么】
我们前面看到了,ELF文件中把指令和数据分成了很多段,比如.text比如.data等等,其实还有一些辅助的段没有被显示出来,比如符号表,比如字符串表等等,而ELF文件中所有的段的信息,都会存在一个段表中,然后文件头中的e_shoff 成员来指示这个段表在哪,这样,我们得到了文件头,从文件头得到段表位置,从段表中获得段的位置,最后从段中可以找到对应数据。
【段表内容】
我们可以利用readelf -S simp.o 来显示段表的信息,还是我们的simp.o例子,如下图
段表其实就是一个数组,而前面的数字就是这个段在段表中的下标,从图中看到,第一个项是没有被使用的,一般就是写为NULL
我们说段表其实就是一个数组,那我们就必须关注它的每一项的具体定义,显然每一项就的记录了一个段的信息。下面就是相关定义
段表就是由上边这种结构体构成的数组。。。。。
下面是各个成员的作用
好了,,现在,大家看到下面这张图就有中恍然大悟的赶脚了,其中的空白是因为对齐的原因。
【部分成员的具体类别】
1】sh_type 段的类别
其实段名对于操作系统是没有什么意义的,它不看,操作系统在装载的时候只关注段的属性和标志
可以取下面这几种值
2】sh_flag 段的标志位
一个段可以取下面的值的或,,也就是可以同时持有下面标志中的几个
3】sh_link , sh_info 段的链接信息
如果段的类型与链接相关,比如重定位表,符号表等等,那么这两个就有意义,其他段忽视这两个
相关文章推荐
- 【静态链接】第2章---------------------目标文件(ELF格式之重定位表与字符串表)
- 【静态链接】第2章---------------------目标文件(ELF格式之文件头)
- 目标文件格式分析工具: ar,nm,objdump,objcopy,readelf
- 目标文件格式分析工具: ar,nm,objdump,objcopy,readelf
- 【静态链接】第2章---------------------目标文件(它是什么)
- 【静态链接】第2章---------------------目标文件(弱符号与强符号)
- 目标文件格式分析工具: ar,nm,objdump,objcopy,readelf
- 目标文件格式分析工具: ar,nm,objdump,objcopy,readelf
- TMS320C54x系列DSP指令和编程指南——第2章 通目标文件格式介绍
- 目标文件格式分析____ELF
- windows平台下用elf作为目标文件格式
- 目标文件格式分析工具: ar,nm,objdump,objcopy,readelf
- 目标文件格式分析工具: ar,nm,objdump,objcopy,readelf
- [置顶] ELF文件格式与动态链接/静态链接(Linux下 可执行文件的格式)
- ELF目标文件之一 - TIS ELF文件格式说明书 Book1 (自译中文)
- 《程序员的自我修养》--目标文件有什么和ELF文件格式简述
- 【静态链接】第2章---------------------目标文件(符号)
- linux目标文件ELF的格式
- [编译链接装载系列]之聊聊目标文件与ELF格式
- 目标文件格式分析工具: ar,nm,objdump,objcopy,readelf .