2011-07-12 18 views

Respuesta

-2

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

 
$ nm --format sysv simple # system V format is easier to read than bsd format which is the default 

Name     Value Class  Type   Size  Line Section 

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

Lo que tiene que hacer nm' '' con objdump'? –

+0

@Shadow Wizard, ¿qué significa Class 'w'? –

+0

@Je lo siento, no sé, acaba de editar la respuesta para que tenga un mejor formato. –

2

objdump -t impresiones de las entradas de la tabla de símbolos del archivo.
La salida es similar a la información proporcionada por el programa nm.

Hay 7 columnas en la salida:

  • valor sección
  • clase
  • tipo
  • tamaño
  • línea
  • -símbolo nombre

(algunas columnas puede estar vacío para algunas entradas)

objdump imprime el símbolo -nombre en la columna más a la izquierda.
nm imprime el nombre-símbolo en el columna de la derecha.

3

Dado que ninguna de las respuestas anteriores parece ser correcta, esto es lo que en realidad se está buscando:

He aquí un fragmento de esta link que podría ayudar:

"El otro formato de salida común, que suele presentarse con los archivos de base de ELF, se ve así:

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

Aquí el primer número es el valor del símbolo (a veces referido como su dirección) el siguiente campo es en realidad un conjunto de caracteres y espacios que indica la bandera. bits que están establecidos en el símbolo. Estos personajes se describen a continuación. A continuación se muestra la sección con la que se asocia el símbolo o ABS si la sección es absoluta (es decir, no está conectada con ninguna sección) o UND si se hace referencia a la sección en el archivo que se está volcando, pero no allí.

Después del nombre de la sección aparece otro campo, un número, que para los símbolos comunes es la alineación y para el otro símbolo es el tamaño. Finalmente se muestra el nombre del símbolo."

38

columna uno: el valor del símbolo

columna dos:. Un conjunto de caracteres y espacios que indican los bits de bandera que se establecen en el símbolo Hay siete agrupaciones que se enumeran a continuación:

grupo uno : (! l, g ,,) local, ni, tanto

grupo dos global,:. (w,) símbolo débil o fuerte

grupo tres:. (C,) símbolo denota un constructor o un símbolo ordinario.

grupo cuatro: el símbolo (W) es advertencia o símbolo normal.

grupo cinco: (I,) referencia indirecta a otro símbolo o símbolo normal.

grupo seis: (d, D,) símbolo de depuración, símbolo dinámico o símbolo normal.

grupo siete: (F, f, O,) symbol es el nombre de la función, archivo, objeto o símbolo normal.

columna tres: la sección en la que vive el símbolo, ABS significa no asociado con una cierta sección

columna cuatro: tamaño o la alineación del símbolo.

COLUMN FIVE: el nombre del símbolo.

Si desea información adicional que pruebe página del manual ;-) o los siguientes enlaces: http://manpages.ubuntu.com/manpages/intrepid/man1/objdump.1.html y http://sourceware.org/binutils/docs/binutils/objdump.html

+2

Solo me pregunto, para la COLUMNA CUATRO, ¿cómo se expresa normalmente el tamaño? ¿Estamos buscando bytes o bits? – Zhouster

+0

@Zhouster, para acelerar la velocidad de carga de la tabla de símbolos, creo que es una alineación de 4 bytes para el sistema de 32 bits. – gzh

Cuestiones relacionadas