elf文件中常用的段
2019-05-29 本文已影响0人
小胖_20c7
.interp
/lib64/ld-linux.so.2(动态链接器的路径,有入口函数,装载的时候启动)
.dynamic
这个section里面记录了ld.so动态链接时所需要的一些信息
.symtab
用于静态链接和调试(符号表保留在文件中,不加载进内存)
符号字符串保存在.strtab中
静态链接的重定位表:
.rel.text(代码)
.rel.data(数据)
.dynsym
用于动态链接(符号表会被加载进内存)
1 当一个新的共享对象被装载进来的时候,它的符号表会被合并到全局符号表中
2 当所有共享对象都被装载进来的时候,全局符号表里将包含进程中所有的动态链接所需要的符号
符号字符串保存在.dynstr中
动态连接的重定位表:
.rel.plt(函数,got.plt)
.rel.dyn(数据,got)
.init和.finit
1 共享对象可能会持有这两个段,做为共享对象的入口和出口函数
2 c++中的全局对象,或者static对象的构造函数和析构函数