GNU/Linux >> Tutoriels Linux >  >> Linux

Pourquoi nm n'affiche aucun symbole pour /lib/i386-linux-gnu/libc.so.6 ?

Il a probablement supprimé ses symboles réguliers et il ne reste que ses symboles dynamiques, que vous pouvez obtenir avec nm -D .


@PSkocik a répondu à ceci. Je veux juste ajouter plus de détails. Il existe deux types de sections de symboles dans ELF :.symtab et .dynsym (voir la spécification Linux Standard Base Core, alias LSB_5.0.0, pour plus de détails). .symtab est pour l'étape de liaison de la bibliothèque partagée elle-même. Une fois la liaison terminée, le .symtab section n'est plus nécessaire. Le .dynsym La section contient des symboles importants qui sont censés être recherchés par l'éditeur de liens dynamique au moment de l'exécution. nm par défaut ne vide que les symboles dans le .symtab rubrique.

LSB_5.0.0 Section10.2.2.1, "Types de section ELF", indique qu'une bibliothèque partagée conforme doit avoir soit .symtab ou .dynsym mais pas les deux. Dans le cadre de la bibliothèque ABI, la libc est supprimée du .symtab être conforme aux spécifications.


Linux
  1. Bash =~ Regex et Https://regex101.com/?

  2. Pourquoi find -exec mv {} ./target/ + ne fonctionne-t-il pas ?

  3. Installer les binaires dans /bin, /sbin, /usr/bin et /usr/sbin, interactions avec --prefix et DESTDIR

  4. autorisation refusée pour composer dans /usr/local/bin/

  5. Comment définir la swapiness par processus pour Linux?

Pourquoi une partition de démarrage ext2 de 100 Mo est-elle recommandée pour Linux ?

unix:///var/run/supervisor.sock aucun fichier de ce type

Pourquoi mettre des choses autres que /home sur une partition séparée ?

Pourquoi les répertoires /home, /usr, /var, etc. ont-ils tous le même numéro d'inode (2) ?

Pourquoi < ou > sont-ils nécessaires pour utiliser /dev/tcp

Différence et utilisation correcte pour /tmp et /var/tmp