Ответы:
@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соответствия спецификации.
Выясните, является ли это общим объектом или обычным ASCII-файлом. Если это общий объект, вы должны увидеть «ELF 32-битный LSB общий объект»
file /lib/i386-linux-gnu/libc.so.6
libc.so.6очевидно, является общим объектом.