GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Warum zeigt nm keine Symbole für /lib/i386-linux-gnu/libc.so.6 an?

Es hat wahrscheinlich seine regulären Symbole entfernt und was übrig bleibt, sind seine dynamischen Symbole, die Sie mit nm -D erhalten können .


@PSkocik hat darauf geantwortet. Ich möchte nur mehr Details hinzufügen. Es gibt zwei Arten von Symbolabschnitten in ELF:.symtab und .dynsym (Einzelheiten finden Sie in der Linux Standard Base Core Specification, auch bekannt als LSB_5.0.0). .symtab ist für den Verknüpfungsschritt der Shared Lib selbst. Sobald die Verknüpfung abgeschlossen ist, wird der .symtab Abschnitt wird nicht mehr benötigt. Die .dynsym Abschnitt enthält wichtige Symbole, die vom dynamischen Linker zur Laufzeit gesucht werden sollen. nm gibt standardmäßig nur Symbole in .symtab aus Abschnitt.

LSB_5.0.0 Abschnitt 10.2.2.1, „ELF-Abschnittstypen“, besagt, dass eine konforme gemeinsam genutzte Bibliothek entweder .symtab haben sollte oder .dynsym aber nicht beide. Als Teil der ABI-Bibliothek wird libc aus dem .symtab entfernt spezifikationskonform sein.


Linux
  1. Wie behandelt Linux mehrere aufeinanderfolgende Pfadtrennzeichen (/home////username///file)?

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

  3. Warum funktioniert find -exec mv {} ./target/ + nicht?

  4. Wann sollte ich /dev/shm/ verwenden und wann sollte ich /tmp/?

  5. Warum sollte ich eine separate Partition für /tmp erstellen?

Installieren Sie Binärdateien in /bin, /sbin, /usr/bin und /usr/sbin, Interaktionen mit --prefix und DESTDIR

Berechtigung für Composer in /usr/local/bin/ verweigert

unix:///var/run/supervisor.sock keine solche Datei

/sys/ Dokumentation?

Sollten Websites gemäß der empfohlenen Verwendung in /var/ oder /usr/ leben?

Unterschied und korrekte Verwendung für /tmp und /var/tmp