From 16cd30ef9cc1c9691dce4e906e73f0bafe0af396 Mon Sep 17 00:00:00 2001 From: Caroline Tice Date: Tue, 28 Jul 2020 15:27:51 -0700 Subject: [PATCH v1] Add codes for DWARF v5 .dwp sections to dwarf2.h. For DWARF v5 Dwarf Package Files (.dwp files), the section identifier encodings have changed. This patch updates dwarf2.h to contain the new encodings. The table below shows the old & new encodings: [ref http://dwarfstd.org/doc/DWARF5.pdf, section 7.3.5. ] Val DW4 section DW4 section id DW5 section DW5 section id --- ----------------- -------------- ----------------- -------------- 1 .debug_info.dwo DW_SECT_INFO .debug_info.dwo DW_SECT_INFO 2 .debug_types.dwo DW_SECT_TYPES -- reserved 3 .debug_abbrev.dwo DW_SECT_ABBREV .debug_abbrev.dwo DW_SECT_ABBREV 4 .debug_line.dwo DW_SECT_LINE .debug_line.dwo DW_SECT_LINE 5 .debug_loc.dwo DW_SECT_LOC .debug_loclists.dwo DW_SECT_LOCLISTS 6 .debug_str_offsets.dwo .debug_str_offsets.dwo DW_SECT_STR_OFFSETS DW_SECT_STR_OFFSETS 7 .debug_macinfo.dwo DW_SECT_MACINFO .debug_macro.dwo DW_SECT_MACRO 8 .debug_macro.dwo DW_SECT_MACRO .debug_rnglists.dwo DW_SECT_RNGLISTS --- include/dwarf2.h | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/include/dwarf2.h b/include/dwarf2.h index 882453dce0..5255dd1223 100644 --- a/include/dwarf2.h +++ b/include/dwarf2.h @@ -487,8 +487,9 @@ enum dwarf_unit_type #define DW_EH_PE_indirect 0x80 -/* Codes for the debug sections in a dwarf package (.dwp) file. - Extensions for Fission. See http://gcc.gnu.org/wiki/DebugFissionDWP. */ +/* Codes for the debug sections in a dwarf package (.dwp) file (from the + pre-standard formats) Extensions for Fission. + See http://gcc.gnu.org/wiki/DebugFissionDWP. */ enum dwarf_sect { DW_SECT_INFO = 1, @@ -502,6 +503,22 @@ enum dwarf_sect DW_SECT_MAX = 8 }; +/* Codes for the debug sections in a dwarf package (.dwp) file, from + the official DWARF v5 spec. + See http://dwarfstd.org/doc/DWARF5.pdf, section 7.3.5. */ +enum dwarf_sect_v5 +{ + DW_SECT_INFO_V5 = 1, + DW_SECT_RESERVED_V5 = 2, + DW_SECT_ABBREV_V5 = 3, + DW_SECT_LINE_V5 = 4, + DW_SECT_LOCLISTS_V5 = 5, + DW_SECT_STR_OFFSETS_V5 = 6, + DW_SECT_MACRO_V5 = 7, + DW_SECT_RNGLISTS_V5 = 8, + DW_SECT_MAX_V5 = 8 +}; + #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ -- 2.28.0.rc0.142.g3c755180ce-goog