Il s'agit de la commande alpha-linux-gnu-nm qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
nm - liste les symboles des fichiers objets
SYNOPSIS
nm [-A|-o|--print-nom-du-fichier] [-a|--debug-sym]
[-B|--format=bsd] [-C|--démêler[=Catégorie]]
[-D|--dynamique] [-fle format|--format=le format]
[-g|--externe uniquement] [-h|--Aidez-moi]
[-l|--ligne-numéros] [-n|-v|--tri numérique]
[-P|--portabilité] [-p|--pas de tri]
[-r|--tri inversé] [-S|--print-taille]
[-s|--print-armap] [-t base|--base=base]
[-u|--undéfini-seulement] [-V|--version]
[-X 32_64] [--défini-seulement] [--pas de démêlage]
[--brancher prénom] [--tri-taille] [--spécial-sym]
[--synthétique] [--cible=nom bfd]
[fichier obj...]
DESCRIPTION
GNU nm liste les symboles des fichiers objets fichier obj.... Si aucun fichier objet n'est répertorié comme
arguments, nm assume le fichier a.out.
Pour chaque symbole, nm montre:
· La valeur du symbole, dans la base choisie par les options (voir ci-dessous), ou hexadécimale par
défaut.
· Le type de symbole. Au moins les types suivants sont utilisés ; d'autres le sont aussi
selon le format du fichier objet. S'il est en minuscule, le symbole est généralement local ; si
majuscule, le symbole est global (externe). Il y a cependant quelques symboles en minuscules
qui sont affichés pour les symboles globaux spéciaux ("u", "v" et "w").
« A » La valeur du symbole est absolue et ne sera pas modifiée par une nouvelle liaison.
"B"
"b" Le symbole se trouve dans la section des données non initialisées (appelée BSS).
"C" Le symbole est commun. Les symboles courants sont des données non initialisées. Lors de la liaison,
plusieurs symboles communs peuvent apparaître avec le même nom. Si le symbole est défini
partout, les symboles communs sont traités comme des références indéfinies.
"D"
"d" Le symbole se trouve dans la section des données initialisées.
"G"
"g" Le symbole se trouve dans une section de données initialisées pour les petits objets. Un fichier objet
les formats permettent un accès plus efficace aux petits objets de données, tels qu'un int global
variable par opposition à un grand tableau global.
"i" Pour les fichiers au format PE, cela indique que le symbole se trouve dans une section spécifique au
mise en place de DLL. Pour les fichiers au format ELF, cela indique que le symbole est un
fonction indirecte. Ceci est une extension GNU de l'ensemble standard de symboles ELF
les types. Il indique un symbole qui, s'il est référencé par une relocalisation, ne
évaluer à son adresse, mais doit à la place être invoqué au moment de l'exécution. Le temps d'exécution
l'exécution renverra alors la valeur à utiliser dans la relocalisation.
"Je" Le symbole est une référence indirecte à un autre symbole.
"N" Le symbole est un symbole de débogage.
"p" Les symboles se trouvent dans une section de déroulement de la pile.
"R"
"r" Le symbole se trouve dans une section de données en lecture seule.
"S"
"s" Le symbole se trouve dans une section de données non initialisée pour les petits objets.
"T"
"t" Le symbole se trouve dans la section texte (code).
"U" Le symbole n'est pas défini.
"u" Le symbole est un symbole global unique. Ceci est une extension GNU de l'ensemble standard
des liaisons de symboles ELF. Pour un tel symbole, l'éditeur de liens dynamique s'assurera que
dans l'ensemble du processus, il n'y a qu'un seul symbole avec ce nom et ce type utilisé.
"V"
"v" Le symbole est un objet faible. Lorsqu'un symbole défini faible est lié à un symbole normal
symbole défini, le symbole défini normal est utilisé sans erreur. Quand un faible
le symbole indéfini est lié et le symbole n'est pas défini, la valeur du faible
symbole devient zéro sans erreur. Sur certains systèmes, les majuscules indiquent qu'un
la valeur par défaut a été spécifiée.
"W"
"w" Le symbole est un symbole faible qui n'a pas été spécifiquement identifié comme un objet faible
symbole. Lorsqu'un symbole défini faible est lié à un symbole défini normal, le
le symbole défini normal est utilisé sans erreur. Lorsqu'un symbole faible indéfini est
lié et que le symbole n'est pas défini, la valeur du symbole est déterminée dans un
manière spécifique au système sans erreur. Sur certains systèmes, les majuscules indiquent qu'un
la valeur par défaut a été spécifiée.
"-" Le symbole est un symbole de coup dans un fichier objet a.out. Dans ce cas, le prochain
les valeurs imprimées sont le champ stabs other, le champ stabs desc et le type de stab.
Les symboles Stabs sont utilisés pour contenir les informations de débogage.
"?" Le type de symbole est inconnu ou le format de fichier objet est spécifique.
· Le nom du symbole.
OPTIONS
Les formes longues et courtes des options, présentées ici comme alternatives, sont équivalentes.
-A
-o
--print-nom-du-fichier
Faire précéder chaque symbole du nom du fichier d'entrée (ou du membre d'archive) dans lequel il a été
trouvé, plutôt que d'identifier le fichier d'entrée une seule fois, avant tous ses symboles.
-a
--debug-sym
Afficher tous les symboles, même les symboles réservés au débogueur ; normalement ceux-ci ne sont pas répertoriés.
-B Le même que --format=bsd (pour la compatibilité avec le MIPS nm).
-C
--demangle[=Catégorie]
Décoder (démêler) les noms de symboles de bas niveau en noms de niveau utilisateur. En plus de supprimer tout
trait de soulignement initial ajouté par le système, cela rend les noms de fonction C++ lisibles.
Différents compilateurs ont des styles de mutilation différents. Le style de démêlage en option
peut être utilisé pour choisir un style de démêlage approprié pour votre compilateur.
--pas de démêlage
Ne démêlez pas les noms de symboles de bas niveau. C'est la valeur par défaut.
-D
--dynamique
Affichez les symboles dynamiques plutôt que les symboles normaux. Ceci n'a de sens que
pour les objets dynamiques, tels que certains types de bibliothèques partagées.
-f le format
--format=le format
Utiliser le format de sortie le format, qui peut être "bsd", "sysv" ou "posix". La valeur par défaut est
"bsd". Seul le premier caractère de le format est important ; il peut être supérieur ou
minuscule.
-g
--externe uniquement
Afficher uniquement les symboles externes.
-h
--Aidez-moi
Afficher un résumé des options à nm et sortie.
-l
--ligne-numéros
Pour chaque symbole, utilisez les informations de débogage pour essayer de trouver un nom de fichier et un numéro de ligne.
Pour un symbole défini, recherchez le numéro de ligne de l'adresse du symbole. Pour un
symbole indéfini, recherchez le numéro de ligne d'une entrée de relocalisation qui fait référence au
symbole. Si des informations sur le numéro de ligne peuvent être trouvées, imprimez-les après l'autre symbole
</br>L’Information.
-n
-v
--tri numérique
Triez les symboles numériquement par leurs adresses, plutôt que par ordre alphabétique selon leur
des noms.
-p
--pas de tri
Ne vous embêtez pas à trier les symboles dans n'importe quel ordre ; imprimez-les dans l'ordre rencontré.
-P
--portabilité
Utilisez le format de sortie standard POSIX.2 au lieu du format par défaut. Équivalent à
-f posix.
-r
--tri inversé
Inversez l'ordre du tri (qu'il soit numérique ou alphabétique) ; que le dernier vienne
d'abord.
-S
--print-taille
Imprime à la fois la valeur et la taille des symboles définis pour le style de sortie "bsd". Cette option
n'a aucun effet pour les formats d'objet qui n'enregistrent pas les tailles de symboles, à moins que --tri-taille
est également utilisé, auquel cas une taille calculée est affichée.
-s
--print-armap
Lors de la liste des symboles des membres de l'archive, incluez l'index : un mappage (stocké dans le
archiver par ar or ranlib) quels modules contiennent des définitions pour quels noms.
-t base
--base=base
Utilisez base comme base d'impression des valeurs des symboles. Ce doit être d pour décimal, o
pour octal, ou x pour l'hexadécimal.
-u
--undéfini-seulement
Afficher uniquement les symboles non définis (ceux externes à chaque fichier objet).
-V
--version
Afficher le numéro de version de nm et sortie.
-X Cette option est ignorée pour la compatibilité avec la version AIX de nm. il en faut un
paramètre qui doit être la chaîne 32_64. Le mode par défaut d'AIX nm correspond à
-X 32, qui n'est pas pris en charge par GNU nm.
--défini-seulement
Afficher uniquement les symboles définis pour chaque fichier objet.
--brancher prénom
Chargez le plugin appelé prénom pour ajouter la prise en charge de types de cibles supplémentaires. Cette option est
disponible uniquement si la chaîne d'outils a été construite avec la prise en charge des plugins activée.
--tri-taille
Triez les symboles par taille. La taille est calculée comme la différence entre la valeur de la
symbole et la valeur du symbole avec la valeur immédiatement supérieure. Si la sortie "bsd"
format est utilisé, la taille du symbole est imprimée, plutôt que la valeur, et -S must
être utilisé pour que la taille et la valeur soient imprimées.
--spécial-sym
Afficher des symboles qui ont une signification particulière spécifique à la cible. Ces symboles sont
généralement utilisé par la cible pour certains traitements spéciaux et ne sont normalement pas utiles
lorsqu'il est inclus dans les listes de symboles normales. Par exemple pour les cibles ARM cette option
sauterait les symboles de mappage utilisés pour marquer les transitions entre le code ARM, le code THUMB
et des données.
--synthétique
Incluez des symboles synthétiques dans la sortie. Ce sont des symboles spéciaux créés par le
lieur à des fins diverses. Ils ne sont pas affichés par défaut car ils ne font pas partie de
le code source original du binaire.
--cible=nom bfd
Spécifiez un format de code objet autre que le format par défaut de votre système.
@filet
Lire les options de ligne de commande à partir de filet. Les options lues sont insérées à la place des
original @filet option. Si filet n'existe pas ou ne peut pas être lu, l'option
seront traités littéralement et non supprimés.
options dans filet sont séparés par des espaces. Un caractère d'espacement peut être inclus
dans une option en entourant l'option entière de guillemets simples ou doubles. Tout
caractère (y compris une barre oblique inverse) peut être inclus en préfixant le caractère à être
inclus avec une barre oblique inverse. Les filet peut lui-même contenir des @ supplémentairesfilet options; tout
ces options seront traitées de manière récursive.
Utilisez alpha-linux-gnu-nm en ligne en utilisant les services onworks.net