mas*_*sec 38 linux shared-library symbol-table nm
我希望在libc.so.6文件中看到包括printf在内的符号数。我使用nm工具找到它们,但是它说 libc.so.6 中没有符号。
小智 16
@PSkocik 回答了这个问题。我只想添加更多细节。ELF 中有两种符号部分:.symtab
和.dynsym
(有关详细信息,请参阅Linux 标准基本核心规范,又名 LSB_5.0.0)。.symtab
用于共享库本身的链接步骤。一旦链接完成,该.symtab
部分就不再需要了。该.dynsym
部分包含应该在运行时由动态链接器搜索的重要符号。nm
默认情况下只转储该.symtab
部分中的符号。
LSB_5.0.0第 10.2.2.1 节,“ELF 节类型”,说一个符合标准的共享库应该有一个.symtab
,.dynsym
但不是两个。作为 ABI 库的一部分,libc 被剥离出来.symtab
以符合规范。
归档时间: |
|
查看次数: |
21633 次 |
最近记录: |