Jawaban:
@PSkocik menjawab ini. Saya hanya ingin menambahkan lebih detail. Ada dua jenis bagian simbol di ELF: .symtab
dan .dynsym
(lihat Spesifikasi Inti Basis Standar Linux, alias LSB_5.0.0 , untuk detailnya). .symtab
adalah untuk menghubungkan langkah lib bersama itu sendiri. Setelah tautan selesai, .symtab
bagian itu tidak diperlukan lagi. The .dynsym
bagian berisi simbol-simbol penting yang seharusnya dicari oleh linker dinamis pada saat dijalankan. nm
secara default hanya membuang simbol di .symtab
bagian ini.
LSB_5.0.0 Bagian 10.2.2.1, “Jenis Bagian ELF”, mengatakan lib bersama yang sesuai harus memiliki salah satu .symtab
atau .dynsym
keduanya. Sebagai bagian dari perpustakaan ABI, libc dilucuti dari yang .symtab
akan sesuai spesifikasi.
Cari tahu apakah itu objek bersama, atau, file ASCII biasa. Jika itu adalah objek bersama Anda akan melihat "ELF 32-bit LSB shared object,"
file /lib/i386-linux-gnu/libc.so.6
libc.so.6
jelas merupakan objek bersama.