Yanıtlar:
@PSkocik bunu yanıtladı. Sadece daha fazla ayrıntı eklemek istiyorum. ELF'de iki tür sembol bölümü vardır: .symtab
ve .dynsym
(ayrıntılar için bkz. Linux Standart Temel Çekirdek Belirtimi, aka LSB_5.0.0 ). .symtab
paylaşılan libin kendisinin bağlanma adımı içindir. Bağlantı tamamlandıktan sonra, artık .symtab
bölüme ihtiyaç duyulmaz. Bu .dynsym
bölüm çalışma zamanında dinamik linker tarafından aranması gereken önemli semboller içerir. nm
varsayılan olarak sadece .symtab
bölüme semboller döker .
LSB_5.0.0 Kısım 10.2.2.1, “ELF Kısım Tipleri”, uygun bir paylaşılan kütüphanenin her ikisine de sahip olması ya .symtab
da .dynsym
olmaması gerektiğini söyler . ABI kütüphanesinin bir parçası olarak, libc, .symtab
şartlara uygun olması için elimden alınır .
Paylaşılan bir nesne veya normal bir ASCII dosyası olup olmadığını öğrenin. Paylaşılan bir nesne ise "ELF 32-bit LSB paylaşılan nesnesi" görmelisiniz.
file /lib/i386-linux-gnu/libc.so.6
libc.so.6
açıkçası paylaşılan bir nesnedir.