ELF - .symtab部分

时间:2018-05-14 04:53:50

标签: x86 elf

如何强制GCC为ELF可执行文件/共享库包含.symtab部分?我已经尝试过使用 -static -ggdb ,但它没有用。

编辑 readelf -l <​​/ em>会产生以下结果:

 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 :(得分:2)

默认情况下,.symtab 包含在内,您无需为此付出任何代价。

  

readelf -l产生以下结果:

该命令用于列出。由于您对部分感兴趣,因此您应该使用

readelf -WS $binary

代替。

您的二进制文件可能仍然缺少.symtab部分。如果是这样,最常见的原因是&#34;流浪&#34;链接行上的-s(条带)选项(或strip上的二进制文件上运行Makefile