ELF - секция .symtab - PullRequest
       16

ELF - секция .symtab

0 голосов
/ 14 мая 2018

Как заставить GCC включить раздел .symtab для исполняемых файлов ELF / разделяемых библиотек?Я уже пытался использовать -static и -ggdb , но это не сработало.

EDIT : readelf -l дает следующее:

 Section to Segment mapping:
 Segment Sections...
  00     
  01     .interp 
  02     .interp .note.ABI-tag .note.gnu.build-id .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt .init .plt .text .fini .rodata .eh_frame_hdr .eh_frame 
  03     .init_array .fini_array .dynamic .got .got.plt .data .bss 
  04     .dynamic 
  05     .note.ABI-tag .note.gnu.build-id 
  06     .eh_frame_hdr 
  07     
  08     .init_array .fini_array .dynamic .got 

1 Ответ

0 голосов
/ 15 мая 2018

По умолчанию .symtab включено , вам не нужно ничего делать, чтобы получить его.

readelf -l выдает следующее:

Эта команда используется для перечисления сегментов .Поскольку вас интересуют разделы , вам следует использовать

readelf -WS $binary

.

В вашем двоичном файле все еще может отсутствовать раздел .symtab.Если это так, то наиболее распространенной причиной является опция «отклониться» -s (strip) на линии связи (или выполнение strip в двоичном файле из Makefile).

...