From a6abdfd9733842d3b0a23eb2e0619b0109358e3b Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Thu, 16 Jul 2009 17:40:19 -0700 Subject: Add constants from DWARF 4 working draft 3. --- libdw/ChangeLog | 9 +++++++++ libdw/dwarf.h | 14 +++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/libdw/ChangeLog b/libdw/ChangeLog index 6c45b9d9..8e580e2c 100644 --- a/libdw/ChangeLog +++ b/libdw/ChangeLog @@ -1,3 +1,12 @@ +2009-07-16 Roland McGrath + + * dwarf.h: Add DW_OP_{implicit,stack}_value from DWARF 4 draft. + Also DW_TAG_type_unit and DW_TAG_rvalue_reference_type. + Also DW_AT_signature, DW_AT_main_subprogram, DW_AT_data_bit_offset, + and DW_AT_const_expr. + Also DW_FORM_sec_offset, DW_FORM_exprloc, DW_FORM_flag_present, + and DW_FORM_ref_sig8. + 2009-07-15 Roland McGrath * dwarf_getlocation.c: Grok DW_OP_form_tls_address, diff --git a/libdw/dwarf.h b/libdw/dwarf.h index 0546e3eb..196ef85e 100644 --- a/libdw/dwarf.h +++ b/libdw/dwarf.h @@ -111,6 +111,8 @@ enum DW_TAG_mutable_type = 0x3e, DW_TAG_condition = 0x3f, DW_TAG_shared_type = 0x40, + DW_TAG_type_unit = 0x41, + DW_TAG_rvalue_reference_type = 0x42, DW_TAG_lo_user = 0x4080, DW_TAG_MIPS_loop = 0x4081, DW_TAG_format_label = 0x4101, @@ -220,6 +222,10 @@ enum DW_AT_elemental = 0x66, DW_AT_pure = 0x67, DW_AT_recursive = 0x68, + DW_AT_signature = 0x69, + DW_AT_main_subprogram = 0x6a, + DW_AT_data_bit_offset = 0x6b, + DW_AT_const_expr = 0x6c, DW_AT_lo_user = 0x2000, DW_AT_MIPS_fde = 0x2001, @@ -272,7 +278,11 @@ enum DW_FORM_ref4 = 0x13, DW_FORM_ref8 = 0x14, DW_FORM_ref_udata = 0x15, - DW_FORM_indirect = 0x16 + DW_FORM_indirect = 0x16, + DW_FORM_sec_offset = 0x17, + DW_FORM_exprloc = 0x18, + DW_FORM_flag_present = 0x19, + DW_FORM_ref_sig8 = 0x20 }; @@ -431,6 +441,8 @@ enum DW_OP_form_tls_address = 0x9b,/* TLS offset to address in current thread */ DW_OP_call_frame_cfa = 0x9c,/* CFA as determined by CFI. */ DW_OP_bit_piece = 0x9d, /* ULEB128 size and ULEB128 offset in bits. */ + DW_OP_implicit_value = 0x9e, /* DW_FORM_block follows opcode. */ + DW_OP_stack_value = 0x9f, /* No operands, special like DW_OP_piece. */ /* GNU extensions. */ DW_OP_GNU_push_tls_address = 0xe0, -- cgit v1.2.3