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