共享对象中的文本重定位?

时间:2011-05-18 06:57:06

标签: linux elf

当我使用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添加了重新定位),但我不确定

感谢您的回答

1 个答案:

答案 0 :(得分:1)

基本上是的。

如果您想完全理解它,请阅读understanding elf