web-dev-qa-db-fra.com

Que signifie chaque colonne de la table Symbol d'objdump?

SYMBOL TABLE:
0000000000000000  w      *UND*  0000000000000000              __gmon_start__

J'ai man objdump mais il n'y a pas de telles informations.

Quelqu'un sait ce que les colonnes 5 signifient?

34
Je Rog

COLONNE UN: la valeur du symbole

COLONNE DEUX: ensemble de caractères et d'espaces indiquant les bits de drapeau définis sur le symbole. Il y a sept groupes énumérés ci-dessous:

groupe un: (l, g ,!) local, global, ni les deux.

groupe deux: (w,) symbole faible ou fort.

groupe trois: (C,) le symbole désigne un constructeur ou un symbole ordinaire.

groupe quatre: le symbole (W) est un symbole d'avertissement ou normal.

groupe cinq: (I,) référence indirecte à un autre symbole ou à un symbole normal.

groupe six: symbole (d, D,) de mise au point, symbole dynamique ou symbole normal.

groupe sept: le symbole (F, f, O) est le nom de la fonction, du fichier, de l'objet ou du symbole normal.

COLONNE TROIS: la section dans laquelle le symbole habite, ABS signifie non associé à une certaine section

COLONNE QUATRE: la taille ou l'alignement du symbole.

COLONNE CINQ: le nom du symbole.

Si vous souhaitez des informations supplémentaires, essayez votre page de manuel ;-) ou les liens suivants: http://manpages.ubuntu.com/manpages/intrepid/man1/objdump.1.html et http: // sourceware .org/binutils/docs/binutils/objdump.html

49
red-E

Étant donné qu'aucune des réponses précédentes ne semble être correcte, voici ce que vous recherchez:

Voici un extrait de cette lien qui pourrait aider:

"L’autre format de sortie courant, généralement utilisé avec les fichiers ELF, ressemble à ceci:

      00000000 l    d  .bss   00000000 .bss
      00000000 g       .text  00000000 fred

Ici, le premier nombre est la valeur du symbole (parfois appelée adresse). Le champ suivant est en fait un ensemble de caractères et d'espaces indiquant les bits de drapeau définis sur le symbole. Ces caractères sont décrits ci-dessous. Ensuite, la section à laquelle le symbole est associé ou ABS si la section est absolue (c'est-à-dire non liée à une section), ou ET si la section est référencée dans le fichier en cours de vidage. , mais non défini ici.

Après le nom de la section, un autre champ apparaît, un nombre qui correspond à l'alignement pour les symboles courants et à la taille pour l'autre symbole. Enfin, le nom du symbole est affiché. "

4
Scranton

objdump -t imprime les entrées du fichier dans la table des symboles.
La sortie est semblable aux informations fournies par le programme nm.

Il y a 7 colonnes dans le résultat:

  • valeur
  • classe
  • type
  • taille
  • ligne
  • section
  • nom-symbole 

(certaines colonnes peuvent être vides pour certaines entrées)

objdump affiche le nom-symbole dans colonne la plus à gauche.
nm imprime le nom-symbole dans la colonne la plus à droite.

3
TheCodeArtist

De la description de l'option -t dans des pages de manuel d'objdump de man7.org , le format est expliqué comme suit:

L’autre format de sortie courant, généralement utilisé avec les fichiers ELF, ressemble à ceci:

              00000000 l    d  .bss   00000000 .bss
              00000000 g       .text  00000000 fred
  • Ici, le premier nombre est la valeur du symbole (parfois appelée adresse). 
  • Le champ suivant est en fait un ensemble de caractères et d'espaces indiquant les bits de drapeau définis sur le symbole. Ces caractères sont décrits ci-dessous. 
  • Ensuite, la section à laquelle le symbole est associé ou ABS si la section est absolue (c'est-à-dire non liée à une section), ou ET si la section est référencée dans le fichier en cours de vidage. , mais non défini ici.
  • Après le nom de la section, un autre champ apparaît, un nombre qui correspond à l'alignement pour les symboles courants et à la taille pour l'autre symbole. Enfin, le nom du symbole est affiché.

Vous pouvez visiter le site ci-dessus pour une description plus détaillée.

0
jiaxl

http://www.cs.swarthmore.edu/~newhall/unixhelp/compilecycle.html#runtime

 $ nm --format sysv simple # Le système V est plus facile à lire que le format bsd, qui est le format par défaut 

 Nom Valeur Classe Type Taille Ligne Section 

...
 foo | 080484e6 | T | FUNC | 0000000c | | .text 
0
Pragya