GNU/Linux >> Belajar Linux >  >> Linux

Mengapa nm tidak menunjukkan simbol untuk /lib/i386-linux-gnu/libc.so.6?

Mungkin simbol regulernya dilucuti dan yang tersisa adalah simbol dinamisnya, yang bisa Anda dapatkan dengan nm -D .


@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, a.k.a. LSB_5.0.0, untuk detailnya). .symtab adalah untuk langkah penautan dari lib bersama itu sendiri. Setelah penautan selesai, .symtab bagian tidak diperlukan lagi. .dynsym bagian berisi simbol-simbol penting yang seharusnya dicari oleh linker dinamis pada saat dijalankan. nm secara default hanya membuang simbol di .symtab bagian.

LSB_5.0.0 Section10.2.2.1, “ELF Section Types”, mengatakan lib bersama yang sesuai harus memiliki .symtab atau .dynsym tapi tidak keduanya. Sebagai bagian dari pustaka ABI, libc dihapus dari .symtab agar sesuai spesifikasi.


Linux
  1. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  2. Bash =~ Regex Dan Https://regex101.com/?

  3. Mengapa Operasi Ssh Selalu Meminta Frasa Sandi? (dengan Ed25519)?

  1. izin ditolak untuk komposer di /usr/local/bin/

  2. Mengapa meletakkan hal-hal selain /home ke partisi terpisah?

  3. Bagaimana cara mengatur swapiness per proses untuk linux?

  1. /sys/ dokumentasi?

  2. Haruskah situs web berada di /var/ atau /usr/ sesuai dengan penggunaan yang disarankan?

  3. #!/bin/sh vs #!/bin/bash untuk portabilitas maksimum