]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Add experimental DWARF-5 values for two-level line number tables.
authorCary Coutant <ccoutant@google.com>
Tue, 23 Dec 2014 22:44:58 +0000 (14:44 -0800)
committerCary Coutant <ccoutant@google.com>
Thu, 1 Jan 2015 18:59:24 +0000 (10:59 -0800)
http://wiki.dwarfstd.org/index.php?title=TwoLevelLineTables

2014-12-23  Cary Coutant  <ccoutant@google.com>

include/
* dwarf2.def (DW_FORM_line_strp): New constant.
* dwarf2.h (enum dwarf_line_number_ops): Add DW_LNS_inlined_call,
DW_LNS_pop_context, DW_LNS_set_address_from_logical.
(enum dwarf_line_number_content_type): Add new DW_LNCT_ codes.

include/dwarf2.def
include/dwarf2.h

index 5da3ae0e4498a2cd394f0a5dcd1dd90b3550a531..d0c29525d08abca23711621c0c4d27839f912128 100644 (file)
@@ -200,6 +200,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)
index 791ef566f9949e6cef2dd9dd18d2874849352c3a..4fca1dce7b7c76a0e3edfa00abe854f66bd4ec9d 100644 (file)
@@ -222,7 +222,12 @@ 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_inlined_call = 13,
+    DW_LNS_pop_context = 14,
+    DW_LNS_set_address_from_logical = 15
   };
 
 /* Line number extended opcodes.  */
@@ -268,6 +273,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