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.
This commit is contained in:
Cary Coutant
2014-12-23 14:44:58 -08:00
parent 711a72d3d6
commit 13a142ce09
2 changed files with 25 additions and 1 deletions

View File

@@ -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)

View File

@@ -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