Los nombres originales de los archivos de objeto no se almacenan en la información de depuración de DWARF.
Cada archivo de objeto tiene una entrada DW_TAG_compile_unit
en la sección .debug_info
. Esta entrada contiene una referencia al "archivo fuente principal del cual se derivó la unidad de compilación", pero no el nombre del archivo objeto. The DWARF standard contiene una lista de los atributos que se pueden almacenar para cada unidad de compilación (sección 3.1.1, página número 44, pdf página 58).
Puede consultar la información que se almacena con el siguiente comando:
$ readelf --debug-dump=info --dwarf-depth=1 hw
Salida:
Contents of the .debug_info section:
<some compilation units removed>
Compilation Unit @ offset 0x133:
Length: 0x8b (32-bit)
Version: 4
Abbrev Offset: 0x64
Pointer Size: 4
<0><13e>: Abbrev Number: 1 (DW_TAG_compile_unit)
<13f> DW_AT_producer : (indirect string, offset: 0x131): GNU C11 5.3.0 -mtune=generic -march=pentiumpro -g
<143> DW_AT_language : 12 (ANSI C99)
<144> DW_AT_name : (indirect string, offset: 0x163): hw.c
<148> DW_AT_comp_dir : (indirect string, offset: 0x168): /home/mikel/src/hw
<14c> DW_AT_low_pc : 0x80483db
<150> DW_AT_high_pc : 0x2e
<154> DW_AT_stmt_list : 0xea
<1><158>: ...
<some compilation units removed>