aboutsummaryrefslogtreecommitdiff
path: root/include/dwarf2.h
diff options
context:
space:
mode:
authorCary Coutant <ccoutant@google.com>2009-09-24 20:52:07 +0000
committerCary Coutant <ccoutant@google.com>2009-09-24 20:52:07 +0000
commit2b6f59972b0eac01b8f09e57ff8f2a8b89179784 (patch)
tree9c63517f9b5766b4215f2db79b3834ab9163f86b /include/dwarf2.h
parent604ad007ee6bb6479e54e3b3f35a4e7c03c7e27a (diff)
downloadbinutils-2b6f59972b0eac01b8f09e57ff8f2a8b89179784.zip
binutils-2b6f59972b0eac01b8f09e57ff8f2a8b89179784.tar.gz
binutils-2b6f59972b0eac01b8f09e57ff8f2a8b89179784.tar.bz2
include/
* dwarf2.h (DW_TAG_rvalue_reference_type, DW_TAG_template_alias): New tags. (DW_FORM_ref_sig8): New name for DW_FORM_sig8. (DW_AT_main_subprogram, DW_AT_data_bit_offset, DW_AT_const_expr, DW_AT_enum_class, DW_AT_linkage_name, DW_AT_GNU_guarded_by, DW_AT_GNU_pt_guarded_by, DW_AT_GNU_guarded, DW_AT_GNU_pt_guarded, DW_AT_GNU_locks_excluded, DW_AT_GNU_exclusive_locks_required, DW_AT_GNU_shared_locks_required, DW_AT_GNU_odr_signature): New attributes. (DW_LANG_Python): New language. binutils/ * dwarf.c (get_TAG_name): Add missing DWARF-3 and new DWARF-4 tags. (get_FORM_name): Add new DWARF-4 forms. (read_and_display_attr_value): Add DW_FORM_ref_sig8, DW_LANG_Python. (get_AT_name): Add new DWARF-4 and GNU-specific attributes. (process_debug_info): Add do_types parameter; change all callers. Add support for .debug_types sections. (display_debug_types): New function. (debug_displays): Add .debug_types section. * readelf.c (process_section_headers): Add .debug_types section. (display_debug_section): Simplify call to streq.
Diffstat (limited to 'include/dwarf2.h')
-rw-r--r--include/dwarf2.h25
1 files changed, 23 insertions, 2 deletions
diff --git a/include/dwarf2.h b/include/dwarf2.h
index 608f7b5..4aa10d5 100644
--- a/include/dwarf2.h
+++ b/include/dwarf2.h
@@ -196,6 +196,8 @@ enum dwarf_tag
DW_TAG_shared_type = 0x40,
/* DWARF 4. */
DW_TAG_type_unit = 0x41,
+ DW_TAG_rvalue_reference_type = 0x42,
+ DW_TAG_template_alias = 0x43,
DW_TAG_lo_user = 0x4080,
DW_TAG_hi_user = 0xffff,
@@ -262,7 +264,8 @@ enum dwarf_form
DW_FORM_sec_offset = 0x17,
DW_FORM_exprloc = 0x18,
DW_FORM_flag_present = 0x19,
- DW_FORM_sig8 = 0x20
+ DW_FORM_ref_sig8 = 0x20
+#define DW_FORM_sig8 DW_FORM_ref_sig8 /* Note: The use of DW_FORM_sig8 is deprecated. */
};
/* Attribute names and codes. */
@@ -361,7 +364,12 @@ enum dwarf_attribute
DW_AT_pure = 0x67,
DW_AT_recursive = 0x68,
/* DWARF 4. */
- DW_AT_signature = 0x69,
+ DW_AT_signature = 0x69,
+ DW_AT_main_subprogram = 0x6a,
+ DW_AT_data_bit_offset = 0x6b,
+ DW_AT_const_expr = 0x6c,
+ DW_AT_enum_class = 0x6d,
+ DW_AT_linkage_name = 0x6e,
DW_AT_lo_user = 0x2000, /* Implementation-defined range start. */
DW_AT_hi_user = 0x3ff0, /* Implementation-defined range end. */
@@ -401,6 +409,18 @@ enum dwarf_attribute
DW_AT_body_begin = 0x2105,
DW_AT_body_end = 0x2106,
DW_AT_GNU_vector = 0x2107,
+ /* Thread-safety annotations.
+ See http://gcc.gnu.org/wiki/ThreadSafetyAnnotation . */
+ DW_AT_GNU_guarded_by = 0x2108,
+ DW_AT_GNU_pt_guarded_by = 0x2109,
+ DW_AT_GNU_guarded = 0x210a,
+ DW_AT_GNU_pt_guarded = 0x210b,
+ DW_AT_GNU_locks_excluded = 0x210c,
+ DW_AT_GNU_exclusive_locks_required = 0x210d,
+ DW_AT_GNU_shared_locks_required = 0x210e,
+ /* One-definition rule violation detection.
+ See http://gcc.gnu.org/wiki/DwarfSeparateTypeInfo . */
+ DW_AT_GNU_odr_signature = 0x210f,
/* Template template argument name.
See http://gcc.gnu.org/wiki/TemplateParmsDwarf . */
DW_AT_GNU_template_name = 0x2110,
@@ -839,6 +859,7 @@ enum dwarf_source_language
DW_LANG_ObjC_plus_plus = 0x0011,
DW_LANG_UPC = 0x0012,
DW_LANG_D = 0x0013,
+ DW_LANG_Python = 0x0014,
DW_LANG_lo_user = 0x8000, /* Implementation-defined range start. */
DW_LANG_hi_user = 0xffff, /* Implementation-defined range start. */