перемещение текста в общих объектах? - PullRequest
2 голосов
/ 18 мая 2011

, когда я компилирую следующий код (файл с именем dc), используя gcc

int var=10;

void fun( void ) {
  var++;
  int a=var;
}

с

gcc -c -o d.o -fPIC d.c 

и вызываю readelf -S, есть секция reloction с именем .rela.textдля секции .text

, если я связываю файл с общим объектом (reloctest.so) с помощью

gcc  -shared d.o -o reloctest.so 

, секция перемещения исчезает

Гарантируется ли, чтонет перемещения для сегмента .text в общих объектах?Я думаю, да (из-за перемещения были добавлены для PLT и DYN), но я не уверен,

Спасибо за любые ответы

1 Ответ

1 голос
/ 01 июня 2011

В основном да.

Если вы хотите полностью понять это, вы должны прочитать понимание эльфа .

...