diff options
author | Cary Coutant <ccoutant@google.com> | 2014-12-23 14:44:58 -0800 |
---|---|---|
committer | Cary Coutant <ccoutant@google.com> | 2015-03-31 10:51:09 -0700 |
commit | 13a142ce0959837746e61063b6b18ac70344a474 (patch) | |
tree | c51fe782504497a787d047e42001d0dc27b12497 | |
parent | 711a72d3d6f8cd3c3f408e718ff19aa4bfd2144e (diff) | |
download | gdb-13a142ce0959837746e61063b6b18ac70344a474.zip gdb-13a142ce0959837746e61063b6b18ac70344a474.tar.gz gdb-13a142ce0959837746e61063b6b18ac70344a474.tar.bz2 |
Add experimental DWARF-5 values for two-level line number tables.
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_context,
DW_LNS_set_address_from_logical.
(enum dwarf_line_number_content_type): Add new DW_LNCT_ codes.
-rw-r--r-- | include/dwarf2.def | 2 | ||||
-rw-r--r-- | include/dwarf2.h | 24 |
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 |