【发布时间】:2011-05-18 06:57:06
【问题描述】:
当我使用 gcc 编译以下代码(名为 d.c 的文件)时
int var=10;
void fun( void ) {
var++;
int a=var;
}
与
gcc -c -o d.o -fPIC d.c
并调用 readelf -S 有一个名为 .rela.text 的重定位部分用于 .text 部分
如果我使用
将文件链接到共享对象 (reloctest.so)gcc -shared d.o -o reloctest.so
重定位部分消失
是否保证共享对象中的 .text 段没有重定位?我认为是的(由于为 PLT 和 DYN 添加了重定位)但我不确定
感谢您的任何回答
【问题讨论】: