aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/dwarf2.def2
-rw-r--r--include/dwarf2.h24
2 files changed, 25 insertions, 1 deletions
diff --git a/include/dwarf2.def b/include/dwarf2.def
index e61cfbe..4f1a748 100644
--- a/include/dwarf2.def
+++ b/include/dwarf2.def
@@ -202,6 +202,8 @@ DW_FORM (DW_FORM_sec_offset, 0x17)
DW_FORM (DW_FORM_exprloc, 0x18)
DW_FORM (DW_FORM_flag_present, 0x19)
DW_FORM (DW_FORM_ref_sig8, 0x20)
+/* DWARF 5. */
+DW_FORM (DW_FORM_line_strp, 0x1f)
/* Extensions for Fission. See http://gcc.gnu.org/wiki/DebugFission. */
DW_FORM (DW_FORM_GNU_addr_index, 0x1f01)
DW_FORM (DW_FORM_GNU_str_index, 0x1f02)
diff --git a/include/dwarf2.h b/include/dwarf2.h
index 4ada871..6c08d33 100644
--- a/include/dwarf2.h
+++ b/include/dwarf2.h
@@ -222,7 +222,13 @@ enum dwarf_line_number_ops
/* DWARF 3. */
DW_LNS_set_prologue_end = 10,
DW_LNS_set_epilogue_begin = 11,
- DW_LNS_set_isa = 12
+ DW_LNS_set_isa = 12,
+ /* Experimental DWARF 5 extensions.
+ See http://wiki.dwarfstd.org/index.php?title=TwoLevelLineTables. */
+ DW_LNS_set_address_from_logical = 13, /* Actuals table only. */
+ DW_LNS_set_subprogram = 13, /* Logicals table only. */
+ DW_LNS_inlined_call = 14, /* Logicals table only. */
+ DW_LNS_pop_context = 15 /* Logicals table only. */
};
/* Line number extended opcodes. */
@@ -268,6 +274,22 @@ enum dwarf_location_list_entry_type
DW_LLE_GNU_start_length_entry = 3
};
+/* Type codes for line number program content descriptors (DWARF 5). */
+
+enum dwarf_line_number_content_type
+ {
+ DW_LNCT_path = 1,
+ DW_LNCT_directory_index = 2,
+ DW_LNCT_timestamp = 3,
+ DW_LNCT_size = 4,
+ DW_LNCT_MD5 = 5,
+ /* Experimental DWARF 5 extensions.
+ See http://wiki.dwarfstd.org/index.php?title=TwoLevelLineTables. */
+ DW_LNCT_subprogram_name = 6,
+ DW_LNCT_decl_file = 7,
+ DW_LNCT_decl_line = 8
+ };
+
#define DW_CIE_ID 0xffffffff
#define DW64_CIE_ID 0xffffffffffffffffULL
#define DW_CIE_VERSION 1