Blame include/dwarf2.def

Packit bbfece
/* -*- c -*-
Packit bbfece
   Declarations and definitions of codes relating to the DWARF2 and
Packit bbfece
   DWARF3 symbolic debugging information formats.
Packit bbfece
   Copyright (C) 1992-2018 Free Software Foundation, Inc.
Packit bbfece
Packit bbfece
   Written by Gary Funck (gary@intrepid.com) The Ada Joint Program
Packit bbfece
   Office (AJPO), Florida State University and Silicon Graphics Inc.
Packit bbfece
   provided support for this effort -- June 21, 1995.
Packit bbfece
Packit bbfece
   Derived from the DWARF 1 implementation written by Ron Guilmette
Packit bbfece
   (rfg@netcom.com), November 1990.
Packit bbfece
Packit bbfece
   This file is part of GCC.
Packit bbfece
Packit bbfece
   GCC is free software; you can redistribute it and/or modify it under
Packit bbfece
   the terms of the GNU General Public License as published by the Free
Packit bbfece
   Software Foundation; either version 3, or (at your option) any later
Packit bbfece
   version.
Packit bbfece
Packit bbfece
   GCC is distributed in the hope that it will be useful, but WITHOUT
Packit bbfece
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
Packit bbfece
   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
Packit bbfece
   License for more details.
Packit bbfece
Packit bbfece
   Under Section 7 of GPL version 3, you are granted additional
Packit bbfece
   permissions described in the GCC Runtime Library Exception, version
Packit bbfece
   3.1, as published by the Free Software Foundation.
Packit bbfece
Packit bbfece
   You should have received a copy of the GNU General Public License and
Packit bbfece
   a copy of the GCC Runtime Library Exception along with this program;
Packit bbfece
   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
Packit bbfece
   <http://www.gnu.org/licenses/>.  */
Packit bbfece
Packit bbfece
/* This file is derived from the DWARF specification (a public document)
Packit bbfece
   Revision 2.0.0 (July 27, 1993) developed by the UNIX International
Packit bbfece
   Programming Languages Special Interest Group (UI/PLSIG) and distributed
Packit bbfece
   by UNIX International.  Copies of this specification are available from
Packit bbfece
   UNIX International, 20 Waterview Boulevard, Parsippany, NJ, 07054.
Packit bbfece
Packit bbfece
   This file also now contains definitions from the DWARF 3 specification
Packit bbfece
   published Dec 20, 2005, available from: http://dwarf.freestandards.org.
Packit bbfece
Packit bbfece
   This file also now contains definitions from the DWARF 4
Packit bbfece
   specification, available from: http://dwarfstd.org/ */
Packit bbfece
Packit bbfece
/* This file declares various DWARF-related constants using a set of
Packit bbfece
   macros which can be redefined by the including file.
Packit bbfece
   
Packit bbfece
   The macros are in sections.  Each section corresponds to a single
Packit bbfece
   set of DWARF constants and has a corresponding key.  The key is
Packit bbfece
   used in all the macro names.
Packit bbfece
   
Packit bbfece
   The sections are TAG (for DW_TAG_ constants), FORM (DW_FORM_), AT
Packit bbfece
   (DW_AT_), OP (DW_OP_), ATE (DW_ATE_), and CFA (DW_CFA_).
Packit bbfece
   
Packit bbfece
   Using TAG as an example, the following macros may be used for each
Packit bbfece
   key:
Packit bbfece
   
Packit bbfece
   DW_FIRST_TAG(name, value) - Introduce the first DW_TAG constant.
Packit bbfece
   
Packit bbfece
   DW_TAG(name, value) - Define a subsequent constant.
Packit bbfece
   
Packit bbfece
   DW_TAG_DUP(name, value) - Define a subsequent constant whose value
Packit bbfece
   is a duplicate of some other constant.  Not all keys use the _DUP
Packit bbfece
   macro form.  If more than one name shares a value, then the base
Packit bbfece
   (DW_TAG) form will be the preferred name and DW_TAG_DUP will hold
Packit bbfece
   any alternate names.
Packit bbfece
   
Packit bbfece
   DW_END_TAG - Invoked at the end of the DW_TAG constants.  */
Packit bbfece
Packit bbfece
DW_FIRST_TAG (DW_TAG_padding, 0x00)
Packit bbfece
DW_TAG (DW_TAG_array_type, 0x01)
Packit bbfece
DW_TAG (DW_TAG_class_type, 0x02)
Packit bbfece
DW_TAG (DW_TAG_entry_point, 0x03)
Packit bbfece
DW_TAG (DW_TAG_enumeration_type, 0x04)
Packit bbfece
DW_TAG (DW_TAG_formal_parameter, 0x05)
Packit bbfece
DW_TAG (DW_TAG_imported_declaration, 0x08)
Packit bbfece
DW_TAG (DW_TAG_label, 0x0a)
Packit bbfece
DW_TAG (DW_TAG_lexical_block, 0x0b)
Packit bbfece
DW_TAG (DW_TAG_member, 0x0d)
Packit bbfece
DW_TAG (DW_TAG_pointer_type, 0x0f)
Packit bbfece
DW_TAG (DW_TAG_reference_type, 0x10)
Packit bbfece
DW_TAG (DW_TAG_compile_unit, 0x11)
Packit bbfece
DW_TAG (DW_TAG_string_type, 0x12)
Packit bbfece
DW_TAG (DW_TAG_structure_type, 0x13)
Packit bbfece
DW_TAG (DW_TAG_subroutine_type, 0x15)
Packit bbfece
DW_TAG (DW_TAG_typedef, 0x16)
Packit bbfece
DW_TAG (DW_TAG_union_type, 0x17)
Packit bbfece
DW_TAG (DW_TAG_unspecified_parameters, 0x18)
Packit bbfece
DW_TAG (DW_TAG_variant, 0x19)
Packit bbfece
DW_TAG (DW_TAG_common_block, 0x1a)
Packit bbfece
DW_TAG (DW_TAG_common_inclusion, 0x1b)
Packit bbfece
DW_TAG (DW_TAG_inheritance, 0x1c)
Packit bbfece
DW_TAG (DW_TAG_inlined_subroutine, 0x1d)
Packit bbfece
DW_TAG (DW_TAG_module, 0x1e)
Packit bbfece
DW_TAG (DW_TAG_ptr_to_member_type, 0x1f)
Packit bbfece
DW_TAG (DW_TAG_set_type, 0x20)
Packit bbfece
DW_TAG (DW_TAG_subrange_type, 0x21)
Packit bbfece
DW_TAG (DW_TAG_with_stmt, 0x22)
Packit bbfece
DW_TAG (DW_TAG_access_declaration, 0x23)
Packit bbfece
DW_TAG (DW_TAG_base_type, 0x24)
Packit bbfece
DW_TAG (DW_TAG_catch_block, 0x25)
Packit bbfece
DW_TAG (DW_TAG_const_type, 0x26)
Packit bbfece
DW_TAG (DW_TAG_constant, 0x27)
Packit bbfece
DW_TAG (DW_TAG_enumerator, 0x28)
Packit bbfece
DW_TAG (DW_TAG_file_type, 0x29)
Packit bbfece
DW_TAG (DW_TAG_friend, 0x2a)
Packit bbfece
DW_TAG (DW_TAG_namelist, 0x2b)
Packit bbfece
DW_TAG (DW_TAG_namelist_item, 0x2c)
Packit bbfece
DW_TAG (DW_TAG_packed_type, 0x2d)
Packit bbfece
DW_TAG (DW_TAG_subprogram, 0x2e)
Packit bbfece
DW_TAG (DW_TAG_template_type_param, 0x2f)
Packit bbfece
DW_TAG (DW_TAG_template_value_param, 0x30)
Packit bbfece
DW_TAG (DW_TAG_thrown_type, 0x31)
Packit bbfece
DW_TAG (DW_TAG_try_block, 0x32)
Packit bbfece
DW_TAG (DW_TAG_variant_part, 0x33)
Packit bbfece
DW_TAG (DW_TAG_variable, 0x34)
Packit bbfece
DW_TAG (DW_TAG_volatile_type, 0x35)
Packit bbfece
/* DWARF 3.  */
Packit bbfece
DW_TAG (DW_TAG_dwarf_procedure, 0x36)
Packit bbfece
DW_TAG (DW_TAG_restrict_type, 0x37)
Packit bbfece
DW_TAG (DW_TAG_interface_type, 0x38)
Packit bbfece
DW_TAG (DW_TAG_namespace, 0x39)
Packit bbfece
DW_TAG (DW_TAG_imported_module, 0x3a)
Packit bbfece
DW_TAG (DW_TAG_unspecified_type, 0x3b)
Packit bbfece
DW_TAG (DW_TAG_partial_unit, 0x3c)
Packit bbfece
DW_TAG (DW_TAG_imported_unit, 0x3d)
Packit bbfece
DW_TAG (DW_TAG_condition, 0x3f)
Packit bbfece
DW_TAG (DW_TAG_shared_type, 0x40)
Packit bbfece
/* DWARF 4.  */
Packit bbfece
DW_TAG (DW_TAG_type_unit, 0x41)
Packit bbfece
DW_TAG (DW_TAG_rvalue_reference_type, 0x42)
Packit bbfece
DW_TAG (DW_TAG_template_alias, 0x43)
Packit bbfece
/* DWARF 5.  */
Packit bbfece
DW_TAG (DW_TAG_coarray_type, 0x44)
Packit bbfece
DW_TAG (DW_TAG_generic_subrange, 0x45)
Packit bbfece
DW_TAG (DW_TAG_dynamic_type, 0x46)
Packit bbfece
DW_TAG (DW_TAG_atomic_type, 0x47)
Packit bbfece
DW_TAG (DW_TAG_call_site, 0x48)
Packit bbfece
DW_TAG (DW_TAG_call_site_parameter, 0x49)
Packit bbfece
DW_TAG (DW_TAG_skeleton_unit, 0x4a)
Packit bbfece
DW_TAG (DW_TAG_immutable_type, 0x4b)
Packit bbfece
Packit bbfece
DW_TAG_DUP (DW_TAG_lo_user, 0x4080)
Packit bbfece
DW_TAG_DUP (DW_TAG_hi_user, 0xffff)
Packit bbfece
Packit bbfece
/* SGI/MIPS Extensions.  */
Packit bbfece
DW_TAG (DW_TAG_MIPS_loop, 0x4081)
Packit bbfece
Packit bbfece
/* HP extensions.  See: ftp://ftp.hp.com/pub/lang/tools/WDB/wdb-4.0.tar.gz .  */
Packit bbfece
DW_TAG (DW_TAG_HP_array_descriptor, 0x4090)
Packit bbfece
DW_TAG (DW_TAG_HP_Bliss_field, 0x4091)
Packit bbfece
DW_TAG (DW_TAG_HP_Bliss_field_set, 0x4092)
Packit bbfece
Packit bbfece
/* GNU extensions.  */
Packit bbfece
DW_TAG (DW_TAG_format_label, 0x4101)	/* For FORTRAN 77 and Fortran 90.  */
Packit bbfece
DW_TAG (DW_TAG_function_template, 0x4102)	/* For C++.  */
Packit bbfece
DW_TAG (DW_TAG_class_template, 0x4103)	/* For C++.  */
Packit bbfece
DW_TAG (DW_TAG_GNU_BINCL, 0x4104)
Packit bbfece
DW_TAG (DW_TAG_GNU_EINCL, 0x4105)
Packit bbfece
/* Template template parameter.
Packit bbfece
   See http://gcc.gnu.org/wiki/TemplateParmsDwarf .  */
Packit bbfece
DW_TAG (DW_TAG_GNU_template_template_param, 0x4106)
Packit bbfece
Packit bbfece
/* Template parameter pack extension, specified at
Packit bbfece
   http://wiki.dwarfstd.org/index.php?title=C%2B%2B0x:_Variadic_templates
Packit bbfece
   The values of these two TAGS are in the DW_TAG_GNU_* space until the tags
Packit bbfece
   are properly part of DWARF 5.  */
Packit bbfece
DW_TAG (DW_TAG_GNU_template_parameter_pack, 0x4107)
Packit bbfece
DW_TAG (DW_TAG_GNU_formal_parameter_pack, 0x4108)
Packit bbfece
/* The GNU call site extension, specified at
Packit bbfece
   http://www.dwarfstd.org/ShowIssue.php?issue=100909.2&type=open .
Packit bbfece
   The values of these two TAGS are in the DW_TAG_GNU_* space until the tags
Packit bbfece
   are properly part of DWARF 5.  */
Packit bbfece
DW_TAG (DW_TAG_GNU_call_site, 0x4109)
Packit bbfece
DW_TAG (DW_TAG_GNU_call_site_parameter, 0x410a)
Packit bbfece
/* Extensions for UPC.  See: http://dwarfstd.org/doc/DWARF4.pdf.  */
Packit bbfece
DW_TAG (DW_TAG_upc_shared_type, 0x8765)
Packit bbfece
DW_TAG (DW_TAG_upc_strict_type, 0x8766)
Packit bbfece
DW_TAG (DW_TAG_upc_relaxed_type, 0x8767)
Packit bbfece
/* PGI (STMicroelectronics) extensions.  No documentation available.  */
Packit bbfece
DW_TAG (DW_TAG_PGI_kanji_type, 0xA000)
Packit bbfece
DW_TAG (DW_TAG_PGI_interface_block, 0xA020)
Packit bbfece
DW_END_TAG
Packit bbfece
Packit bbfece
DW_FIRST_FORM (DW_FORM_addr, 0x01)
Packit bbfece
DW_FORM (DW_FORM_block2, 0x03)
Packit bbfece
DW_FORM (DW_FORM_block4, 0x04)
Packit bbfece
DW_FORM (DW_FORM_data2, 0x05)
Packit bbfece
DW_FORM (DW_FORM_data4, 0x06)
Packit bbfece
DW_FORM (DW_FORM_data8, 0x07)
Packit bbfece
DW_FORM (DW_FORM_string, 0x08)
Packit bbfece
DW_FORM (DW_FORM_block, 0x09)
Packit bbfece
DW_FORM (DW_FORM_block1, 0x0a)
Packit bbfece
DW_FORM (DW_FORM_data1, 0x0b)
Packit bbfece
DW_FORM (DW_FORM_flag, 0x0c)
Packit bbfece
DW_FORM (DW_FORM_sdata, 0x0d)
Packit bbfece
DW_FORM (DW_FORM_strp, 0x0e)
Packit bbfece
DW_FORM (DW_FORM_udata, 0x0f)
Packit bbfece
DW_FORM (DW_FORM_ref_addr, 0x10)
Packit bbfece
DW_FORM (DW_FORM_ref1, 0x11)
Packit bbfece
DW_FORM (DW_FORM_ref2, 0x12)
Packit bbfece
DW_FORM (DW_FORM_ref4, 0x13)
Packit bbfece
DW_FORM (DW_FORM_ref8, 0x14)
Packit bbfece
DW_FORM (DW_FORM_ref_udata, 0x15)
Packit bbfece
DW_FORM (DW_FORM_indirect, 0x16)
Packit bbfece
/* DWARF 4.  */
Packit bbfece
DW_FORM (DW_FORM_sec_offset, 0x17)
Packit bbfece
DW_FORM (DW_FORM_exprloc, 0x18)
Packit bbfece
DW_FORM (DW_FORM_flag_present, 0x19)
Packit bbfece
DW_FORM (DW_FORM_ref_sig8, 0x20)
Packit bbfece
/* DWARF 5.  */
Packit bbfece
DW_FORM (DW_FORM_strx, 0x1a)
Packit bbfece
DW_FORM (DW_FORM_addrx, 0x1b)
Packit bbfece
DW_FORM (DW_FORM_ref_sup4, 0x1c)
Packit bbfece
DW_FORM (DW_FORM_strp_sup, 0x1d)
Packit bbfece
DW_FORM (DW_FORM_data16, 0x1e)
Packit bbfece
DW_FORM (DW_FORM_line_strp, 0x1f)
Packit bbfece
DW_FORM (DW_FORM_implicit_const, 0x21)
Packit bbfece
DW_FORM (DW_FORM_loclistx, 0x22)
Packit bbfece
DW_FORM (DW_FORM_rnglistx, 0x23)
Packit bbfece
DW_FORM (DW_FORM_ref_sup8, 0x24)
Packit bbfece
/* Extensions for Fission.  See http://gcc.gnu.org/wiki/DebugFission.  */
Packit bbfece
DW_FORM (DW_FORM_GNU_addr_index, 0x1f01)
Packit bbfece
DW_FORM (DW_FORM_GNU_str_index, 0x1f02)
Packit bbfece
/* Extensions for DWZ multifile.
Packit bbfece
   See http://www.dwarfstd.org/ShowIssue.php?issue=120604.1&type=open .  */
Packit bbfece
DW_FORM (DW_FORM_GNU_ref_alt, 0x1f20)
Packit bbfece
DW_FORM (DW_FORM_GNU_strp_alt, 0x1f21)
Packit bbfece
DW_END_FORM
Packit bbfece
Packit bbfece
DW_FIRST_AT (DW_AT_sibling, 0x01)
Packit bbfece
DW_AT (DW_AT_location, 0x02)
Packit bbfece
DW_AT (DW_AT_name, 0x03)
Packit bbfece
DW_AT (DW_AT_ordering, 0x09)
Packit bbfece
DW_AT (DW_AT_subscr_data, 0x0a)
Packit bbfece
DW_AT (DW_AT_byte_size, 0x0b)
Packit bbfece
DW_AT (DW_AT_bit_offset, 0x0c)
Packit bbfece
DW_AT (DW_AT_bit_size, 0x0d)
Packit bbfece
DW_AT (DW_AT_element_list, 0x0f)
Packit bbfece
DW_AT (DW_AT_stmt_list, 0x10)
Packit bbfece
DW_AT (DW_AT_low_pc, 0x11)
Packit bbfece
DW_AT (DW_AT_high_pc, 0x12)
Packit bbfece
DW_AT (DW_AT_language, 0x13)
Packit bbfece
DW_AT (DW_AT_member, 0x14)
Packit bbfece
DW_AT (DW_AT_discr, 0x15)
Packit bbfece
DW_AT (DW_AT_discr_value, 0x16)
Packit bbfece
DW_AT (DW_AT_visibility, 0x17)
Packit bbfece
DW_AT (DW_AT_import, 0x18)
Packit bbfece
DW_AT (DW_AT_string_length, 0x19)
Packit bbfece
DW_AT (DW_AT_common_reference, 0x1a)
Packit bbfece
DW_AT (DW_AT_comp_dir, 0x1b)
Packit bbfece
DW_AT (DW_AT_const_value, 0x1c)
Packit bbfece
DW_AT (DW_AT_containing_type, 0x1d)
Packit bbfece
DW_AT (DW_AT_default_value, 0x1e)
Packit bbfece
DW_AT (DW_AT_inline, 0x20)
Packit bbfece
DW_AT (DW_AT_is_optional, 0x21)
Packit bbfece
DW_AT (DW_AT_lower_bound, 0x22)
Packit bbfece
DW_AT (DW_AT_producer, 0x25)
Packit bbfece
DW_AT (DW_AT_prototyped, 0x27)
Packit bbfece
DW_AT (DW_AT_return_addr, 0x2a)
Packit bbfece
DW_AT (DW_AT_start_scope, 0x2c)
Packit bbfece
DW_AT (DW_AT_bit_stride, 0x2e)
Packit bbfece
DW_AT (DW_AT_upper_bound, 0x2f)
Packit bbfece
DW_AT (DW_AT_abstract_origin, 0x31)
Packit bbfece
DW_AT (DW_AT_accessibility, 0x32)
Packit bbfece
DW_AT (DW_AT_address_class, 0x33)
Packit bbfece
DW_AT (DW_AT_artificial, 0x34)
Packit bbfece
DW_AT (DW_AT_base_types, 0x35)
Packit bbfece
DW_AT (DW_AT_calling_convention, 0x36)
Packit bbfece
DW_AT (DW_AT_count, 0x37)
Packit bbfece
DW_AT (DW_AT_data_member_location, 0x38)
Packit bbfece
DW_AT (DW_AT_decl_column, 0x39)
Packit bbfece
DW_AT (DW_AT_decl_file, 0x3a)
Packit bbfece
DW_AT (DW_AT_decl_line, 0x3b)
Packit bbfece
DW_AT (DW_AT_declaration, 0x3c)
Packit bbfece
DW_AT (DW_AT_discr_list, 0x3d)
Packit bbfece
DW_AT (DW_AT_encoding, 0x3e)
Packit bbfece
DW_AT (DW_AT_external, 0x3f)
Packit bbfece
DW_AT (DW_AT_frame_base, 0x40)
Packit bbfece
DW_AT (DW_AT_friend, 0x41)
Packit bbfece
DW_AT (DW_AT_identifier_case, 0x42)
Packit bbfece
DW_AT (DW_AT_macro_info, 0x43)
Packit bbfece
DW_AT (DW_AT_namelist_items, 0x44)
Packit bbfece
DW_AT (DW_AT_priority, 0x45)
Packit bbfece
DW_AT (DW_AT_segment, 0x46)
Packit bbfece
DW_AT (DW_AT_specification, 0x47)
Packit bbfece
DW_AT (DW_AT_static_link, 0x48)
Packit bbfece
DW_AT (DW_AT_type, 0x49)
Packit bbfece
DW_AT (DW_AT_use_location, 0x4a)
Packit bbfece
DW_AT (DW_AT_variable_parameter, 0x4b)
Packit bbfece
DW_AT (DW_AT_virtuality, 0x4c)
Packit bbfece
DW_AT (DW_AT_vtable_elem_location, 0x4d)
Packit bbfece
/* DWARF 3 values.  */
Packit bbfece
DW_AT (DW_AT_allocated, 0x4e)
Packit bbfece
DW_AT (DW_AT_associated, 0x4f)
Packit bbfece
DW_AT (DW_AT_data_location, 0x50)
Packit bbfece
DW_AT (DW_AT_byte_stride, 0x51)
Packit bbfece
DW_AT (DW_AT_entry_pc, 0x52)
Packit bbfece
DW_AT (DW_AT_use_UTF8, 0x53)
Packit bbfece
DW_AT (DW_AT_extension, 0x54)
Packit bbfece
DW_AT (DW_AT_ranges, 0x55)
Packit bbfece
DW_AT (DW_AT_trampoline, 0x56)
Packit bbfece
DW_AT (DW_AT_call_column, 0x57)
Packit bbfece
DW_AT (DW_AT_call_file, 0x58)
Packit bbfece
DW_AT (DW_AT_call_line, 0x59)
Packit bbfece
DW_AT (DW_AT_description, 0x5a)
Packit bbfece
DW_AT (DW_AT_binary_scale, 0x5b)
Packit bbfece
DW_AT (DW_AT_decimal_scale, 0x5c)
Packit bbfece
DW_AT (DW_AT_small, 0x5d)
Packit bbfece
DW_AT (DW_AT_decimal_sign, 0x5e)
Packit bbfece
DW_AT (DW_AT_digit_count, 0x5f)
Packit bbfece
DW_AT (DW_AT_picture_string, 0x60)
Packit bbfece
DW_AT (DW_AT_mutable, 0x61)
Packit bbfece
DW_AT (DW_AT_threads_scaled, 0x62)
Packit bbfece
DW_AT (DW_AT_explicit, 0x63)
Packit bbfece
DW_AT (DW_AT_object_pointer, 0x64)
Packit bbfece
DW_AT (DW_AT_endianity, 0x65)
Packit bbfece
DW_AT (DW_AT_elemental, 0x66)
Packit bbfece
DW_AT (DW_AT_pure, 0x67)
Packit bbfece
DW_AT (DW_AT_recursive, 0x68)
Packit bbfece
/* DWARF 4.  */
Packit bbfece
DW_AT (DW_AT_signature, 0x69)
Packit bbfece
DW_AT (DW_AT_main_subprogram, 0x6a)
Packit bbfece
DW_AT (DW_AT_data_bit_offset, 0x6b)
Packit bbfece
DW_AT (DW_AT_const_expr, 0x6c)
Packit bbfece
DW_AT (DW_AT_enum_class, 0x6d)
Packit bbfece
DW_AT (DW_AT_linkage_name, 0x6e)
Packit bbfece
/* DWARF 5.  */
Packit bbfece
DW_AT (DW_AT_string_length_bit_size, 0x6f)
Packit bbfece
DW_AT (DW_AT_string_length_byte_size, 0x70)
Packit bbfece
DW_AT (DW_AT_rank, 0x71)
Packit bbfece
DW_AT (DW_AT_str_offsets_base, 0x72)
Packit bbfece
DW_AT (DW_AT_addr_base, 0x73)
Packit bbfece
DW_AT (DW_AT_rnglists_base, 0x74)
Packit bbfece
DW_AT (DW_AT_dwo_name, 0x76)
Packit bbfece
DW_AT (DW_AT_reference, 0x77)
Packit bbfece
DW_AT (DW_AT_rvalue_reference, 0x78)
Packit bbfece
DW_AT (DW_AT_macros, 0x79)
Packit bbfece
DW_AT (DW_AT_call_all_calls, 0x7a)
Packit bbfece
DW_AT (DW_AT_call_all_source_calls, 0x7b)
Packit bbfece
DW_AT (DW_AT_call_all_tail_calls, 0x7c)
Packit bbfece
DW_AT (DW_AT_call_return_pc, 0x7d)
Packit bbfece
DW_AT (DW_AT_call_value, 0x7e)
Packit bbfece
DW_AT (DW_AT_call_origin, 0x7f)
Packit bbfece
DW_AT (DW_AT_call_parameter, 0x80)
Packit bbfece
DW_AT (DW_AT_call_pc, 0x81)
Packit bbfece
DW_AT (DW_AT_call_tail_call, 0x82)
Packit bbfece
DW_AT (DW_AT_call_target, 0x83)
Packit bbfece
DW_AT (DW_AT_call_target_clobbered, 0x84)
Packit bbfece
DW_AT (DW_AT_call_data_location, 0x85)
Packit bbfece
DW_AT (DW_AT_call_data_value, 0x86)
Packit bbfece
DW_AT (DW_AT_noreturn, 0x87)
Packit bbfece
DW_AT (DW_AT_alignment, 0x88)
Packit bbfece
DW_AT (DW_AT_export_symbols, 0x89)
Packit bbfece
DW_AT (DW_AT_deleted, 0x8a)
Packit bbfece
DW_AT (DW_AT_defaulted, 0x8b)
Packit bbfece
DW_AT (DW_AT_loclists_base, 0x8c)
Packit bbfece
Packit bbfece
DW_AT_DUP (DW_AT_lo_user, 0x2000) /* Implementation-defined range start.  */
Packit bbfece
DW_AT_DUP (DW_AT_hi_user, 0x3fff) /* Implementation-defined range end.  */
Packit bbfece
Packit bbfece
/* SGI/MIPS extensions.  */
Packit bbfece
DW_AT (DW_AT_MIPS_fde, 0x2001)
Packit bbfece
DW_AT (DW_AT_MIPS_loop_begin, 0x2002)
Packit bbfece
DW_AT (DW_AT_MIPS_tail_loop_begin, 0x2003)
Packit bbfece
DW_AT (DW_AT_MIPS_epilog_begin, 0x2004)
Packit bbfece
DW_AT (DW_AT_MIPS_loop_unroll_factor, 0x2005)
Packit bbfece
DW_AT (DW_AT_MIPS_software_pipeline_depth, 0x2006)
Packit bbfece
DW_AT (DW_AT_MIPS_linkage_name, 0x2007)
Packit bbfece
DW_AT (DW_AT_MIPS_stride, 0x2008)
Packit bbfece
DW_AT (DW_AT_MIPS_abstract_name, 0x2009)
Packit bbfece
DW_AT (DW_AT_MIPS_clone_origin, 0x200a)
Packit bbfece
DW_AT (DW_AT_MIPS_has_inlines, 0x200b)
Packit bbfece
/* HP extensions.  */
Packit bbfece
DW_AT (DW_AT_HP_block_index, 0x2000)
Packit bbfece
DW_AT_DUP (DW_AT_HP_unmodifiable, 0x2001) /* Same as DW_AT_MIPS_fde.  */
Packit bbfece
DW_AT_DUP (DW_AT_HP_prologue, 0x2005) /* Same as DW_AT_MIPS_loop_unroll.  */
Packit bbfece
DW_AT_DUP (DW_AT_HP_epilogue, 0x2008) /* Same as DW_AT_MIPS_stride.  */
Packit bbfece
DW_AT (DW_AT_HP_actuals_stmt_list, 0x2010)
Packit bbfece
DW_AT (DW_AT_HP_proc_per_section, 0x2011)
Packit bbfece
DW_AT (DW_AT_HP_raw_data_ptr, 0x2012)
Packit bbfece
DW_AT (DW_AT_HP_pass_by_reference, 0x2013)
Packit bbfece
DW_AT (DW_AT_HP_opt_level, 0x2014)
Packit bbfece
DW_AT (DW_AT_HP_prof_version_id, 0x2015)
Packit bbfece
DW_AT (DW_AT_HP_opt_flags, 0x2016)
Packit bbfece
DW_AT (DW_AT_HP_cold_region_low_pc, 0x2017)
Packit bbfece
DW_AT (DW_AT_HP_cold_region_high_pc, 0x2018)
Packit bbfece
DW_AT (DW_AT_HP_all_variables_modifiable, 0x2019)
Packit bbfece
DW_AT (DW_AT_HP_linkage_name, 0x201a)
Packit bbfece
DW_AT (DW_AT_HP_prof_flags, 0x201b)  /* In comp unit of procs_info for -g.  */
Packit bbfece
DW_AT (DW_AT_HP_unit_name, 0x201f)
Packit bbfece
DW_AT (DW_AT_HP_unit_size, 0x2020)
Packit bbfece
DW_AT (DW_AT_HP_widened_byte_size, 0x2021)
Packit bbfece
DW_AT (DW_AT_HP_definition_points, 0x2022)
Packit bbfece
DW_AT (DW_AT_HP_default_location, 0x2023)
Packit bbfece
DW_AT (DW_AT_HP_is_result_param, 0x2029)
Packit bbfece
Packit bbfece
/* GNU extensions.  */
Packit bbfece
DW_AT (DW_AT_sf_names, 0x2101)
Packit bbfece
DW_AT (DW_AT_src_info, 0x2102)
Packit bbfece
DW_AT (DW_AT_mac_info, 0x2103)
Packit bbfece
DW_AT (DW_AT_src_coords, 0x2104)
Packit bbfece
DW_AT (DW_AT_body_begin, 0x2105)
Packit bbfece
DW_AT (DW_AT_body_end, 0x2106)
Packit bbfece
DW_AT (DW_AT_GNU_vector, 0x2107)
Packit bbfece
/* Thread-safety annotations.
Packit bbfece
   See http://gcc.gnu.org/wiki/ThreadSafetyAnnotation .  */
Packit bbfece
DW_AT (DW_AT_GNU_guarded_by, 0x2108)
Packit bbfece
DW_AT (DW_AT_GNU_pt_guarded_by, 0x2109)
Packit bbfece
DW_AT (DW_AT_GNU_guarded, 0x210a)
Packit bbfece
DW_AT (DW_AT_GNU_pt_guarded, 0x210b)
Packit bbfece
DW_AT (DW_AT_GNU_locks_excluded, 0x210c)
Packit bbfece
DW_AT (DW_AT_GNU_exclusive_locks_required, 0x210d)
Packit bbfece
DW_AT (DW_AT_GNU_shared_locks_required, 0x210e)
Packit bbfece
/* One-definition rule violation detection.
Packit bbfece
   See http://gcc.gnu.org/wiki/DwarfSeparateTypeInfo .  */
Packit bbfece
DW_AT (DW_AT_GNU_odr_signature, 0x210f)
Packit bbfece
/* Template template argument name.
Packit bbfece
   See http://gcc.gnu.org/wiki/TemplateParmsDwarf .  */
Packit bbfece
DW_AT (DW_AT_GNU_template_name, 0x2110)
Packit bbfece
/* The GNU call site extension.
Packit bbfece
   See http://www.dwarfstd.org/ShowIssue.php?issue=100909.2&type=open .  */
Packit bbfece
DW_AT (DW_AT_GNU_call_site_value, 0x2111)
Packit bbfece
DW_AT (DW_AT_GNU_call_site_data_value, 0x2112)
Packit bbfece
DW_AT (DW_AT_GNU_call_site_target, 0x2113)
Packit bbfece
DW_AT (DW_AT_GNU_call_site_target_clobbered, 0x2114)
Packit bbfece
DW_AT (DW_AT_GNU_tail_call, 0x2115)
Packit bbfece
DW_AT (DW_AT_GNU_all_tail_call_sites, 0x2116)
Packit bbfece
DW_AT (DW_AT_GNU_all_call_sites, 0x2117)
Packit bbfece
DW_AT (DW_AT_GNU_all_source_call_sites, 0x2118)
Packit bbfece
/* Section offset into .debug_macro section.  */
Packit bbfece
DW_AT (DW_AT_GNU_macros, 0x2119)
Packit bbfece
/* Attribute for C++ deleted special member functions (= delete;).  */
Packit bbfece
DW_AT (DW_AT_GNU_deleted, 0x211a)
Packit bbfece
/* Extensions for Fission.  See http://gcc.gnu.org/wiki/DebugFission.  */
Packit bbfece
DW_AT (DW_AT_GNU_dwo_name, 0x2130)
Packit bbfece
DW_AT (DW_AT_GNU_dwo_id, 0x2131)
Packit bbfece
DW_AT (DW_AT_GNU_ranges_base, 0x2132)
Packit bbfece
DW_AT (DW_AT_GNU_addr_base, 0x2133)
Packit bbfece
DW_AT (DW_AT_GNU_pubnames, 0x2134)
Packit bbfece
DW_AT (DW_AT_GNU_pubtypes, 0x2135)
Packit bbfece
/* Attribute for discriminator.
Packit bbfece
   See http://gcc.gnu.org/wiki/Discriminator  */
Packit bbfece
DW_AT (DW_AT_GNU_discriminator, 0x2136)
Packit bbfece
DW_AT (DW_AT_GNU_locviews, 0x2137)
Packit bbfece
DW_AT (DW_AT_GNU_entry_view, 0x2138)
Packit bbfece
/* VMS extensions.  */
Packit bbfece
DW_AT (DW_AT_VMS_rtnbeg_pd_address, 0x2201)
Packit bbfece
/* GNAT extensions.  */
Packit bbfece
/* GNAT descriptive type.
Packit bbfece
   See http://gcc.gnu.org/wiki/DW_AT_GNAT_descriptive_type .  */
Packit bbfece
DW_AT (DW_AT_use_GNAT_descriptive_type, 0x2301)
Packit bbfece
DW_AT (DW_AT_GNAT_descriptive_type, 0x2302)
Packit bbfece
/* Rational constant extension.
Packit bbfece
   See https://gcc.gnu.org/wiki/DW_AT_GNU_numerator_denominator .  */
Packit bbfece
DW_TAG (DW_AT_GNU_numerator, 0x2303)
Packit bbfece
DW_TAG (DW_AT_GNU_denominator, 0x2304)
Packit bbfece
/* Biased integer extension.
Packit bbfece
   See https://gcc.gnu.org/wiki/DW_AT_GNU_bias .  */
Packit bbfece
DW_TAG (DW_AT_GNU_bias, 0x2305)
Packit bbfece
/* UPC extension.  */
Packit bbfece
DW_AT (DW_AT_upc_threads_scaled, 0x3210)
Packit bbfece
/* PGI (STMicroelectronics) extensions.  */
Packit bbfece
DW_AT (DW_AT_PGI_lbase, 0x3a00)
Packit bbfece
DW_AT (DW_AT_PGI_soffset, 0x3a01)
Packit bbfece
DW_AT (DW_AT_PGI_lstride, 0x3a02)
Packit bbfece
/* Apple extensions.  */
Packit bbfece
DW_AT (DW_AT_APPLE_optimized, 0x3fe1)
Packit bbfece
DW_AT (DW_AT_APPLE_flags, 0x3fe2)
Packit bbfece
DW_AT (DW_AT_APPLE_isa, 0x3fe3)
Packit bbfece
DW_AT (DW_AT_APPLE_block, 0x3fe4)
Packit bbfece
DW_AT (DW_AT_APPLE_major_runtime_vers, 0x3fe5)
Packit bbfece
DW_AT (DW_AT_APPLE_runtime_class, 0x3fe6)
Packit bbfece
DW_AT (DW_AT_APPLE_omit_frame_ptr, 0x3fe7)
Packit bbfece
DW_AT (DW_AT_APPLE_property_name, 0x3fe8)
Packit bbfece
DW_AT (DW_AT_APPLE_property_getter, 0x3fe9)
Packit bbfece
DW_AT (DW_AT_APPLE_property_setter, 0x3fea)
Packit bbfece
DW_AT (DW_AT_APPLE_property_attribute, 0x3feb)
Packit bbfece
DW_AT (DW_AT_APPLE_objc_complete_type, 0x3fec)
Packit bbfece
DW_AT (DW_AT_APPLE_property, 0x3fed)
Packit bbfece
DW_END_AT
Packit bbfece
Packit bbfece
DW_FIRST_OP (DW_OP_addr, 0x03)
Packit bbfece
DW_OP (DW_OP_deref, 0x06)
Packit bbfece
DW_OP (DW_OP_const1u, 0x08)
Packit bbfece
DW_OP (DW_OP_const1s, 0x09)
Packit bbfece
DW_OP (DW_OP_const2u, 0x0a)
Packit bbfece
DW_OP (DW_OP_const2s, 0x0b)
Packit bbfece
DW_OP (DW_OP_const4u, 0x0c)
Packit bbfece
DW_OP (DW_OP_const4s, 0x0d)
Packit bbfece
DW_OP (DW_OP_const8u, 0x0e)
Packit bbfece
DW_OP (DW_OP_const8s, 0x0f)
Packit bbfece
DW_OP (DW_OP_constu, 0x10)
Packit bbfece
DW_OP (DW_OP_consts, 0x11)
Packit bbfece
DW_OP (DW_OP_dup, 0x12)
Packit bbfece
DW_OP (DW_OP_drop, 0x13)
Packit bbfece
DW_OP (DW_OP_over, 0x14)
Packit bbfece
DW_OP (DW_OP_pick, 0x15)
Packit bbfece
DW_OP (DW_OP_swap, 0x16)
Packit bbfece
DW_OP (DW_OP_rot, 0x17)
Packit bbfece
DW_OP (DW_OP_xderef, 0x18)
Packit bbfece
DW_OP (DW_OP_abs, 0x19)
Packit bbfece
DW_OP (DW_OP_and, 0x1a)
Packit bbfece
DW_OP (DW_OP_div, 0x1b)
Packit bbfece
DW_OP (DW_OP_minus, 0x1c)
Packit bbfece
DW_OP (DW_OP_mod, 0x1d)
Packit bbfece
DW_OP (DW_OP_mul, 0x1e)
Packit bbfece
DW_OP (DW_OP_neg, 0x1f)
Packit bbfece
DW_OP (DW_OP_not, 0x20)
Packit bbfece
DW_OP (DW_OP_or, 0x21)
Packit bbfece
DW_OP (DW_OP_plus, 0x22)
Packit bbfece
DW_OP (DW_OP_plus_uconst, 0x23)
Packit bbfece
DW_OP (DW_OP_shl, 0x24)
Packit bbfece
DW_OP (DW_OP_shr, 0x25)
Packit bbfece
DW_OP (DW_OP_shra, 0x26)
Packit bbfece
DW_OP (DW_OP_xor, 0x27)
Packit bbfece
DW_OP (DW_OP_bra, 0x28)
Packit bbfece
DW_OP (DW_OP_eq, 0x29)
Packit bbfece
DW_OP (DW_OP_ge, 0x2a)
Packit bbfece
DW_OP (DW_OP_gt, 0x2b)
Packit bbfece
DW_OP (DW_OP_le, 0x2c)
Packit bbfece
DW_OP (DW_OP_lt, 0x2d)
Packit bbfece
DW_OP (DW_OP_ne, 0x2e)
Packit bbfece
DW_OP (DW_OP_skip, 0x2f)
Packit bbfece
DW_OP (DW_OP_lit0, 0x30)
Packit bbfece
DW_OP (DW_OP_lit1, 0x31)
Packit bbfece
DW_OP (DW_OP_lit2, 0x32)
Packit bbfece
DW_OP (DW_OP_lit3, 0x33)
Packit bbfece
DW_OP (DW_OP_lit4, 0x34)
Packit bbfece
DW_OP (DW_OP_lit5, 0x35)
Packit bbfece
DW_OP (DW_OP_lit6, 0x36)
Packit bbfece
DW_OP (DW_OP_lit7, 0x37)
Packit bbfece
DW_OP (DW_OP_lit8, 0x38)
Packit bbfece
DW_OP (DW_OP_lit9, 0x39)
Packit bbfece
DW_OP (DW_OP_lit10, 0x3a)
Packit bbfece
DW_OP (DW_OP_lit11, 0x3b)
Packit bbfece
DW_OP (DW_OP_lit12, 0x3c)
Packit bbfece
DW_OP (DW_OP_lit13, 0x3d)
Packit bbfece
DW_OP (DW_OP_lit14, 0x3e)
Packit bbfece
DW_OP (DW_OP_lit15, 0x3f)
Packit bbfece
DW_OP (DW_OP_lit16, 0x40)
Packit bbfece
DW_OP (DW_OP_lit17, 0x41)
Packit bbfece
DW_OP (DW_OP_lit18, 0x42)
Packit bbfece
DW_OP (DW_OP_lit19, 0x43)
Packit bbfece
DW_OP (DW_OP_lit20, 0x44)
Packit bbfece
DW_OP (DW_OP_lit21, 0x45)
Packit bbfece
DW_OP (DW_OP_lit22, 0x46)
Packit bbfece
DW_OP (DW_OP_lit23, 0x47)
Packit bbfece
DW_OP (DW_OP_lit24, 0x48)
Packit bbfece
DW_OP (DW_OP_lit25, 0x49)
Packit bbfece
DW_OP (DW_OP_lit26, 0x4a)
Packit bbfece
DW_OP (DW_OP_lit27, 0x4b)
Packit bbfece
DW_OP (DW_OP_lit28, 0x4c)
Packit bbfece
DW_OP (DW_OP_lit29, 0x4d)
Packit bbfece
DW_OP (DW_OP_lit30, 0x4e)
Packit bbfece
DW_OP (DW_OP_lit31, 0x4f)
Packit bbfece
DW_OP (DW_OP_reg0, 0x50)
Packit bbfece
DW_OP (DW_OP_reg1, 0x51)
Packit bbfece
DW_OP (DW_OP_reg2, 0x52)
Packit bbfece
DW_OP (DW_OP_reg3, 0x53)
Packit bbfece
DW_OP (DW_OP_reg4, 0x54)
Packit bbfece
DW_OP (DW_OP_reg5, 0x55)
Packit bbfece
DW_OP (DW_OP_reg6, 0x56)
Packit bbfece
DW_OP (DW_OP_reg7, 0x57)
Packit bbfece
DW_OP (DW_OP_reg8, 0x58)
Packit bbfece
DW_OP (DW_OP_reg9, 0x59)
Packit bbfece
DW_OP (DW_OP_reg10, 0x5a)
Packit bbfece
DW_OP (DW_OP_reg11, 0x5b)
Packit bbfece
DW_OP (DW_OP_reg12, 0x5c)
Packit bbfece
DW_OP (DW_OP_reg13, 0x5d)
Packit bbfece
DW_OP (DW_OP_reg14, 0x5e)
Packit bbfece
DW_OP (DW_OP_reg15, 0x5f)
Packit bbfece
DW_OP (DW_OP_reg16, 0x60)
Packit bbfece
DW_OP (DW_OP_reg17, 0x61)
Packit bbfece
DW_OP (DW_OP_reg18, 0x62)
Packit bbfece
DW_OP (DW_OP_reg19, 0x63)
Packit bbfece
DW_OP (DW_OP_reg20, 0x64)
Packit bbfece
DW_OP (DW_OP_reg21, 0x65)
Packit bbfece
DW_OP (DW_OP_reg22, 0x66)
Packit bbfece
DW_OP (DW_OP_reg23, 0x67)
Packit bbfece
DW_OP (DW_OP_reg24, 0x68)
Packit bbfece
DW_OP (DW_OP_reg25, 0x69)
Packit bbfece
DW_OP (DW_OP_reg26, 0x6a)
Packit bbfece
DW_OP (DW_OP_reg27, 0x6b)
Packit bbfece
DW_OP (DW_OP_reg28, 0x6c)
Packit bbfece
DW_OP (DW_OP_reg29, 0x6d)
Packit bbfece
DW_OP (DW_OP_reg30, 0x6e)
Packit bbfece
DW_OP (DW_OP_reg31, 0x6f)
Packit bbfece
DW_OP (DW_OP_breg0, 0x70)
Packit bbfece
DW_OP (DW_OP_breg1, 0x71)
Packit bbfece
DW_OP (DW_OP_breg2, 0x72)
Packit bbfece
DW_OP (DW_OP_breg3, 0x73)
Packit bbfece
DW_OP (DW_OP_breg4, 0x74)
Packit bbfece
DW_OP (DW_OP_breg5, 0x75)
Packit bbfece
DW_OP (DW_OP_breg6, 0x76)
Packit bbfece
DW_OP (DW_OP_breg7, 0x77)
Packit bbfece
DW_OP (DW_OP_breg8, 0x78)
Packit bbfece
DW_OP (DW_OP_breg9, 0x79)
Packit bbfece
DW_OP (DW_OP_breg10, 0x7a)
Packit bbfece
DW_OP (DW_OP_breg11, 0x7b)
Packit bbfece
DW_OP (DW_OP_breg12, 0x7c)
Packit bbfece
DW_OP (DW_OP_breg13, 0x7d)
Packit bbfece
DW_OP (DW_OP_breg14, 0x7e)
Packit bbfece
DW_OP (DW_OP_breg15, 0x7f)
Packit bbfece
DW_OP (DW_OP_breg16, 0x80)
Packit bbfece
DW_OP (DW_OP_breg17, 0x81)
Packit bbfece
DW_OP (DW_OP_breg18, 0x82)
Packit bbfece
DW_OP (DW_OP_breg19, 0x83)
Packit bbfece
DW_OP (DW_OP_breg20, 0x84)
Packit bbfece
DW_OP (DW_OP_breg21, 0x85)
Packit bbfece
DW_OP (DW_OP_breg22, 0x86)
Packit bbfece
DW_OP (DW_OP_breg23, 0x87)
Packit bbfece
DW_OP (DW_OP_breg24, 0x88)
Packit bbfece
DW_OP (DW_OP_breg25, 0x89)
Packit bbfece
DW_OP (DW_OP_breg26, 0x8a)
Packit bbfece
DW_OP (DW_OP_breg27, 0x8b)
Packit bbfece
DW_OP (DW_OP_breg28, 0x8c)
Packit bbfece
DW_OP (DW_OP_breg29, 0x8d)
Packit bbfece
DW_OP (DW_OP_breg30, 0x8e)
Packit bbfece
DW_OP (DW_OP_breg31, 0x8f)
Packit bbfece
DW_OP (DW_OP_regx, 0x90)
Packit bbfece
DW_OP (DW_OP_fbreg, 0x91)
Packit bbfece
DW_OP (DW_OP_bregx, 0x92)
Packit bbfece
DW_OP (DW_OP_piece, 0x93)
Packit bbfece
DW_OP (DW_OP_deref_size, 0x94)
Packit bbfece
DW_OP (DW_OP_xderef_size, 0x95)
Packit bbfece
DW_OP (DW_OP_nop, 0x96)
Packit bbfece
/* DWARF 3 extensions.  */
Packit bbfece
DW_OP (DW_OP_push_object_address, 0x97)
Packit bbfece
DW_OP (DW_OP_call2, 0x98)
Packit bbfece
DW_OP (DW_OP_call4, 0x99)
Packit bbfece
DW_OP (DW_OP_call_ref, 0x9a)
Packit bbfece
DW_OP (DW_OP_form_tls_address, 0x9b)
Packit bbfece
DW_OP (DW_OP_call_frame_cfa, 0x9c)
Packit bbfece
DW_OP (DW_OP_bit_piece, 0x9d)
Packit bbfece
Packit bbfece
/* DWARF 4 extensions.  */
Packit bbfece
DW_OP (DW_OP_implicit_value, 0x9e)
Packit bbfece
DW_OP (DW_OP_stack_value, 0x9f)
Packit bbfece
Packit bbfece
/* DWARF 5 extensions.  */
Packit bbfece
DW_OP (DW_OP_implicit_pointer, 0xa0)
Packit bbfece
DW_OP (DW_OP_addrx, 0xa1)
Packit bbfece
DW_OP (DW_OP_constx, 0xa2)
Packit bbfece
DW_OP (DW_OP_entry_value, 0xa3)
Packit bbfece
DW_OP (DW_OP_const_type, 0xa4)
Packit bbfece
DW_OP (DW_OP_regval_type, 0xa5)
Packit bbfece
DW_OP (DW_OP_deref_type, 0xa6)
Packit bbfece
DW_OP (DW_OP_xderef_type, 0xa7)
Packit bbfece
DW_OP (DW_OP_convert, 0xa8)
Packit bbfece
DW_OP (DW_OP_reinterpret, 0xa9)
Packit bbfece
Packit bbfece
DW_OP_DUP (DW_OP_lo_user, 0xe0)	/* Implementation-defined range start.  */
Packit bbfece
DW_OP_DUP (DW_OP_hi_user, 0xff)	/* Implementation-defined range end.  */
Packit bbfece
Packit bbfece
/* GNU extensions.  */
Packit bbfece
DW_OP (DW_OP_GNU_push_tls_address, 0xe0)
Packit bbfece
/* The following is for marking variables that are uninitialized.  */
Packit bbfece
DW_OP (DW_OP_GNU_uninit, 0xf0)
Packit bbfece
DW_OP (DW_OP_GNU_encoded_addr, 0xf1)
Packit bbfece
/* The GNU implicit pointer extension.
Packit bbfece
   See http://www.dwarfstd.org/ShowIssue.php?issue=100831.1&type=open .  */
Packit bbfece
DW_OP (DW_OP_GNU_implicit_pointer, 0xf2)
Packit bbfece
/* The GNU entry value extension.
Packit bbfece
   See http://www.dwarfstd.org/ShowIssue.php?issue=100909.1&type=open .  */
Packit bbfece
DW_OP (DW_OP_GNU_entry_value, 0xf3)
Packit bbfece
/* The GNU typed stack extension.
Packit bbfece
   See http://www.dwarfstd.org/doc/040408.1.html .  */
Packit bbfece
DW_OP (DW_OP_GNU_const_type, 0xf4)
Packit bbfece
DW_OP (DW_OP_GNU_regval_type, 0xf5)
Packit bbfece
DW_OP (DW_OP_GNU_deref_type, 0xf6)
Packit bbfece
DW_OP (DW_OP_GNU_convert, 0xf7)
Packit bbfece
DW_OP (DW_OP_GNU_reinterpret, 0xf9)
Packit bbfece
/* The GNU parameter ref extension.  */
Packit bbfece
DW_OP (DW_OP_GNU_parameter_ref, 0xfa)
Packit bbfece
/* Extensions for Fission.  See http://gcc.gnu.org/wiki/DebugFission.  */
Packit bbfece
DW_OP (DW_OP_GNU_addr_index, 0xfb)
Packit bbfece
DW_OP (DW_OP_GNU_const_index, 0xfc)
Packit bbfece
/* The GNU variable value extension.
Packit bbfece
   See http://dwarfstd.org/ShowIssue.php?issue=161109.2 . */
Packit bbfece
DW_OP (DW_OP_GNU_variable_value, 0xfd)
Packit bbfece
/* HP extensions.  */
Packit bbfece
DW_OP_DUP (DW_OP_HP_unknown, 0xe0) /* Ouch, the same as GNU_push_tls_address.  */
Packit bbfece
DW_OP (DW_OP_HP_is_value, 0xe1)
Packit bbfece
DW_OP (DW_OP_HP_fltconst4, 0xe2)
Packit bbfece
DW_OP (DW_OP_HP_fltconst8, 0xe3)
Packit bbfece
DW_OP (DW_OP_HP_mod_range, 0xe4)
Packit bbfece
DW_OP (DW_OP_HP_unmod_range, 0xe5)
Packit bbfece
DW_OP (DW_OP_HP_tls, 0xe6)
Packit bbfece
/* PGI (STMicroelectronics) extensions.  */
Packit bbfece
DW_OP (DW_OP_PGI_omp_thread_num, 0xf8)
Packit bbfece
/* AARCH64 extensions.
Packit bbfece
   DW_OP_AARCH64_operation takes one mandatory unsigned LEB128 operand.
Packit bbfece
   Bits[6:0] of this operand is the action code, all others bits are initialized
Packit bbfece
   to 0 except explicitly documented for one action.  Please refer AArch64 DWARF
Packit bbfece
   ABI documentation for details.  */
Packit bbfece
DW_OP (DW_OP_AARCH64_operation, 0xea)
Packit bbfece
DW_END_OP
Packit bbfece
Packit bbfece
DW_FIRST_ATE (DW_ATE_void, 0x0)
Packit bbfece
DW_ATE (DW_ATE_address, 0x1)
Packit bbfece
DW_ATE (DW_ATE_boolean, 0x2)
Packit bbfece
DW_ATE (DW_ATE_complex_float, 0x3)
Packit bbfece
DW_ATE (DW_ATE_float, 0x4)
Packit bbfece
DW_ATE (DW_ATE_signed, 0x5)
Packit bbfece
DW_ATE (DW_ATE_signed_char, 0x6)
Packit bbfece
DW_ATE (DW_ATE_unsigned, 0x7)
Packit bbfece
DW_ATE (DW_ATE_unsigned_char, 0x8)
Packit bbfece
/* DWARF 3.  */
Packit bbfece
DW_ATE (DW_ATE_imaginary_float, 0x9)
Packit bbfece
DW_ATE (DW_ATE_packed_decimal, 0xa)
Packit bbfece
DW_ATE (DW_ATE_numeric_string, 0xb)
Packit bbfece
DW_ATE (DW_ATE_edited, 0xc)
Packit bbfece
DW_ATE (DW_ATE_signed_fixed, 0xd)
Packit bbfece
DW_ATE (DW_ATE_unsigned_fixed, 0xe)
Packit bbfece
DW_ATE (DW_ATE_decimal_float, 0xf)
Packit bbfece
/* DWARF 4.  */
Packit bbfece
DW_ATE (DW_ATE_UTF, 0x10)
Packit bbfece
/* DWARF 5.  */
Packit bbfece
DW_ATE (DW_ATE_UCS, 0x11)
Packit bbfece
DW_ATE (DW_ATE_ASCII, 0x12)
Packit bbfece
Packit bbfece
DW_ATE_DUP (DW_ATE_lo_user, 0x80)
Packit bbfece
DW_ATE_DUP (DW_ATE_hi_user, 0xff)
Packit bbfece
Packit bbfece
/* HP extensions.  */
Packit bbfece
DW_ATE (DW_ATE_HP_float80, 0x80) /* Floating-point (80 bit).  */
Packit bbfece
DW_ATE (DW_ATE_HP_complex_float80, 0x81) /* Complex floating-point (80 bit).  */
Packit bbfece
DW_ATE (DW_ATE_HP_float128, 0x82) /* Floating-point (128 bit).  */
Packit bbfece
DW_ATE (DW_ATE_HP_complex_float128, 0x83) /* Complex fp (128 bit).  */
Packit bbfece
DW_ATE (DW_ATE_HP_floathpintel, 0x84) /* Floating-point (82 bit IA64).  */
Packit bbfece
DW_ATE (DW_ATE_HP_imaginary_float80, 0x85)
Packit bbfece
DW_ATE (DW_ATE_HP_imaginary_float128, 0x86)
Packit bbfece
DW_ATE (DW_ATE_HP_VAX_float, 0x88) /* F or G floating.  */
Packit bbfece
DW_ATE (DW_ATE_HP_VAX_float_d, 0x89) /* D floating.  */
Packit bbfece
DW_ATE (DW_ATE_HP_packed_decimal, 0x8a) /* Cobol.  */
Packit bbfece
DW_ATE (DW_ATE_HP_zoned_decimal, 0x8b) /* Cobol.  */
Packit bbfece
DW_ATE (DW_ATE_HP_edited, 0x8c) /* Cobol.  */
Packit bbfece
DW_ATE (DW_ATE_HP_signed_fixed, 0x8d) /* Cobol.  */
Packit bbfece
DW_ATE (DW_ATE_HP_unsigned_fixed, 0x8e) /* Cobol.  */
Packit bbfece
DW_ATE (DW_ATE_HP_VAX_complex_float, 0x8f) /* F or G floating complex.  */
Packit bbfece
DW_ATE (DW_ATE_HP_VAX_complex_float_d, 0x90) /* D floating complex.  */
Packit bbfece
Packit bbfece
DW_END_ATE
Packit bbfece
Packit bbfece
DW_FIRST_CFA (DW_CFA_advance_loc, 0x40)
Packit bbfece
DW_CFA (DW_CFA_offset, 0x80)
Packit bbfece
DW_CFA (DW_CFA_restore, 0xc0)
Packit bbfece
DW_CFA (DW_CFA_nop, 0x00)
Packit bbfece
DW_CFA (DW_CFA_set_loc, 0x01)
Packit bbfece
DW_CFA (DW_CFA_advance_loc1, 0x02)
Packit bbfece
DW_CFA (DW_CFA_advance_loc2, 0x03)
Packit bbfece
DW_CFA (DW_CFA_advance_loc4, 0x04)
Packit bbfece
DW_CFA (DW_CFA_offset_extended, 0x05)
Packit bbfece
DW_CFA (DW_CFA_restore_extended, 0x06)
Packit bbfece
DW_CFA (DW_CFA_undefined, 0x07)
Packit bbfece
DW_CFA (DW_CFA_same_value, 0x08)
Packit bbfece
DW_CFA (DW_CFA_register, 0x09)
Packit bbfece
DW_CFA (DW_CFA_remember_state, 0x0a)
Packit bbfece
DW_CFA (DW_CFA_restore_state, 0x0b)
Packit bbfece
DW_CFA (DW_CFA_def_cfa, 0x0c)
Packit bbfece
DW_CFA (DW_CFA_def_cfa_register, 0x0d)
Packit bbfece
DW_CFA (DW_CFA_def_cfa_offset, 0x0e)
Packit bbfece
/* DWARF 3.  */
Packit bbfece
DW_CFA (DW_CFA_def_cfa_expression, 0x0f)
Packit bbfece
DW_CFA (DW_CFA_expression, 0x10)
Packit bbfece
DW_CFA (DW_CFA_offset_extended_sf, 0x11)
Packit bbfece
DW_CFA (DW_CFA_def_cfa_sf, 0x12)
Packit bbfece
DW_CFA (DW_CFA_def_cfa_offset_sf, 0x13)
Packit bbfece
DW_CFA (DW_CFA_val_offset, 0x14)
Packit bbfece
DW_CFA (DW_CFA_val_offset_sf, 0x15)
Packit bbfece
DW_CFA (DW_CFA_val_expression, 0x16)
Packit bbfece
Packit bbfece
DW_CFA (DW_CFA_lo_user, 0x1c)
Packit bbfece
DW_CFA (DW_CFA_hi_user, 0x3f)
Packit bbfece
Packit bbfece
/* SGI/MIPS specific.  */
Packit bbfece
DW_CFA (DW_CFA_MIPS_advance_loc8, 0x1d)
Packit bbfece
/* GNU extensions.
Packit bbfece
   NOTE: DW_CFA_GNU_window_save is multiplexed on Sparc and AArch64.  */
Packit bbfece
DW_CFA (DW_CFA_GNU_window_save, 0x2d)
Packit bbfece
DW_CFA_DUP (DW_CFA_AARCH64_negate_ra_state, 0x2d)
Packit bbfece
DW_CFA (DW_CFA_GNU_args_size, 0x2e)
Packit bbfece
DW_CFA (DW_CFA_GNU_negative_offset_extended, 0x2f)
Packit bbfece
Packit bbfece
DW_END_CFA
Packit bbfece
Packit bbfece
/* Index attributes in the Abbreviations Table.  */
Packit bbfece
DW_FIRST_IDX (DW_IDX_compile_unit, 1)
Packit bbfece
DW_IDX (DW_IDX_type_unit, 2)
Packit bbfece
DW_IDX (DW_IDX_die_offset, 3)
Packit bbfece
DW_IDX (DW_IDX_parent, 4)
Packit bbfece
DW_IDX (DW_IDX_type_hash, 5)
Packit bbfece
DW_IDX_DUP (DW_IDX_lo_user, 0x2000)
Packit bbfece
DW_IDX (DW_IDX_hi_user, 0x3fff)
Packit bbfece
DW_IDX (DW_IDX_GNU_internal, 0x2000)
Packit bbfece
DW_IDX (DW_IDX_GNU_external, 0x2001)
Packit bbfece
DW_END_IDX