如何强制 GCC 包含 ELF 可执行文件/共享库的 .symtab 部分?我已经尝试使用-static和-ggdb但它没有用。
编辑: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
Run Code Online (Sandbox Code Playgroud)
默认情况下.symtab 被包括在内,你不需要做任何事情来得到它。
readelf -l 产生以下结果:
该命令用于列出段。由于您对部分感兴趣,您应该使用
readelf -WS $binary
Run Code Online (Sandbox Code Playgroud)
反而。
您的二进制文件可能仍然缺少该.symtab部分。如果是,最常见的原因是-s链接行上的“stray” (strip)选项(或strip在来自 a 的二进制文件上运行Makefile)。
| 归档时间: |
|
| 查看次数: |
1422 次 |
| 最近记录: |