Відповіді:
@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
це, очевидно, спільний об'єкт.