No Linux, o padrão é agora Dwarf 2 e / ou 4. Para ver isso, execute readelf --debug-dump=info
em um binário contendo símbolos de depuração (ou símbolos separados); por exemplo, no Fedora, com glibc-debuginfo
instalado, executando readelf --debug-dump=info /usr/lib/debug/bin/gencat.debug
você terá algo como
<1><ea>: Abbrev Number: 0
Compilation Unit @ offset 0xeb:
Length: 0x5c (32-bit)
Version: 2
Abbrev Offset: 0x52
Pointer Size: 8
<0><f6>: Abbrev Number: 1 (DW_TAG_compile_unit)
<f7> DW_AT_stmt_list : 0x83
<fb> DW_AT_ranges : 0x0
<ff> DW_AT_name : ../sysdeps/x86_64/crti.S
<118> DW_AT_comp_dir : /usr/src/debug////////glibc-2.21/csu
<13d> DW_AT_producer : GNU AS 2.25
<149> DW_AT_language : 32769 (MIPS assembler)
Este é um conjunto de informações do Dwarf 2 (consulte o cabeçalho Version:
para informações sobre a versão; o mesmo binário inclui as seções Dwarf 2 e Dwarf 4).