simbolos - ¿Qué significa cada columna de la tabla de símbolos de objdump?
tabla de simbolos lineal (5)
A partir de la descripción de la opción -t en las páginas man de objdump de man7.org , el formato se explica a continuación:
El otro formato de salida común, generalmente visto con archivos basados en 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 denominado su dirección).
- El siguiente campo es en realidad un conjunto de caracteres y espacios que indican los bits de bandera que se establecen en el símbolo. Estos caracteres se describen a continuación.
- A continuación se muestra la sección con la que está asociado 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 está definida 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.
Puede visitar el sitio anterior para obtener una descripción más detallada.
SYMBOL TABLE:
0000000000000000 w *UND* 0000000000000000 __gmon_start__
Tengo man objdump
pero no hay tal información.
Alguien sabe lo que significan las 5 columnas?
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, global, ninguno, ambos.
grupo dos: (w,) símbolo débil o fuerte.
grupo tres: (C,) símbolo denota un constructor o un símbolo ordinario.
grupo cuatro: (W,) el símbolo es un símbolo de advertencia o 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,) el símbolo 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 que no está asociado con una determinada sección
COLUMNA CUATRO: tamaño o alineación del símbolo.
COLUMNA CINCO: el nombre del símbolo.
Si desea información adicional, pruebe su página de manual ;-) o los siguientes enlaces: http://manpages.ubuntu.com/manpages/intrepid/man1/objdump.1.html y http://sourceware.org/binutils/docs/binutils/objdump.html
Dado que ninguna de las respuestas anteriores parece ser correcta, esto es lo que realmente está buscando:
Aquí hay un fragmento de este http://sourceware.org/binutils/docs/binutils/objdump.html que podría ayudar:
"El otro formato de salida común, generalmente visto con archivos basados en 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 denominado su dirección). El siguiente campo es en realidad un conjunto de caracteres y espacios que indican los bits de bandera que se establecen en el símbolo. Estos personajes se describen a continuación. A continuación se muestra la sección con la que está asociado 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 está definida 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.
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
objdump -t imprime 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
- clase
- tipo
- tamaño
- línea
- sección
- nombre del simbolo
(algunas columnas pueden estar vacías para algunas entradas)
Objdump imprime el nombre del símbolo en la columna de la izquierda .
nm imprime el nombre del símbolo en la columna de la derecha .