Answers:
@PSkocik回答了这个问题。我只想添加更多细节。ELF中有两种符号节:.symtab
和.dynsym
(有关详细信息,请参见Linux Standard Base Core Specification,aka LSB_5.0.0)。.symtab
用于共享库本身的链接步骤。链接完成后,.symtab
就不再需要该部分了。该.dynsym
部分包含重要的符号,应该在运行时由动态链接器搜索这些符号。nm
默认情况下,仅转储该.symtab
部分中的符号。
LSB_5.0.0第10.2.2.1节“ ELF节类型”说,一个符合要求的共享库应同时具有.symtab
或.dynsym
不具有两者。作为ABI库的一部分,libc被剥离.symtab
以符合规范。
libc.so.6
显然是一个共享对象。