105caefcfSchristos/* -*- c -*- 205caefcfSchristos Declarations and definitions of codes relating to the DWARF2 and 305caefcfSchristos DWARF3 symbolic debugging information formats. 4*f22f0ef4Schristos Copyright (C) 1992-2022 Free Software Foundation, Inc. 505caefcfSchristos 605caefcfSchristos Written by Gary Funck (gary@intrepid.com) The Ada Joint Program 705caefcfSchristos Office (AJPO), Florida State University and Silicon Graphics Inc. 805caefcfSchristos provided support for this effort -- June 21, 1995. 905caefcfSchristos 1005caefcfSchristos Derived from the DWARF 1 implementation written by Ron Guilmette 1105caefcfSchristos (rfg@netcom.com), November 1990. 1205caefcfSchristos 1305caefcfSchristos This file is part of GCC. 1405caefcfSchristos 1505caefcfSchristos GCC is free software; you can redistribute it and/or modify it under 1605caefcfSchristos the terms of the GNU General Public License as published by the Free 1705caefcfSchristos Software Foundation; either version 3, or (at your option) any later 1805caefcfSchristos version. 1905caefcfSchristos 2005caefcfSchristos GCC is distributed in the hope that it will be useful, but WITHOUT 2105caefcfSchristos ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 2205caefcfSchristos or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 2305caefcfSchristos License for more details. 2405caefcfSchristos 2505caefcfSchristos Under Section 7 of GPL version 3, you are granted additional 2605caefcfSchristos permissions described in the GCC Runtime Library Exception, version 2705caefcfSchristos 3.1, as published by the Free Software Foundation. 2805caefcfSchristos 2905caefcfSchristos You should have received a copy of the GNU General Public License and 3005caefcfSchristos a copy of the GCC Runtime Library Exception along with this program; 3105caefcfSchristos see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 3205caefcfSchristos <http://www.gnu.org/licenses/>. */ 3305caefcfSchristos 3405caefcfSchristos/* This file is derived from the DWARF specification (a public document) 3505caefcfSchristos Revision 2.0.0 (July 27, 1993) developed by the UNIX International 3605caefcfSchristos Programming Languages Special Interest Group (UI/PLSIG) and distributed 3705caefcfSchristos by UNIX International. Copies of this specification are available from 3805caefcfSchristos UNIX International, 20 Waterview Boulevard, Parsippany, NJ, 07054. 3905caefcfSchristos 4005caefcfSchristos This file also now contains definitions from the DWARF 3 specification 4105caefcfSchristos published Dec 20, 2005, available from: http://dwarf.freestandards.org. 4205caefcfSchristos 4305caefcfSchristos This file also now contains definitions from the DWARF 4 4405caefcfSchristos specification, available from: http://dwarfstd.org/ */ 4505caefcfSchristos 4605caefcfSchristos/* This file declares various DWARF-related constants using a set of 4705caefcfSchristos macros which can be redefined by the including file. 4805caefcfSchristos 4905caefcfSchristos The macros are in sections. Each section corresponds to a single 5005caefcfSchristos set of DWARF constants and has a corresponding key. The key is 5105caefcfSchristos used in all the macro names. 5205caefcfSchristos 5305caefcfSchristos The sections are TAG (for DW_TAG_ constants), FORM (DW_FORM_), AT 5405caefcfSchristos (DW_AT_), OP (DW_OP_), ATE (DW_ATE_), and CFA (DW_CFA_). 5505caefcfSchristos 5605caefcfSchristos Using TAG as an example, the following macros may be used for each 5705caefcfSchristos key: 5805caefcfSchristos 5905caefcfSchristos DW_FIRST_TAG(name, value) - Introduce the first DW_TAG constant. 6005caefcfSchristos 6105caefcfSchristos DW_TAG(name, value) - Define a subsequent constant. 6205caefcfSchristos 6305caefcfSchristos DW_TAG_DUP(name, value) - Define a subsequent constant whose value 6405caefcfSchristos is a duplicate of some other constant. Not all keys use the _DUP 6505caefcfSchristos macro form. If more than one name shares a value, then the base 6605caefcfSchristos (DW_TAG) form will be the preferred name and DW_TAG_DUP will hold 6705caefcfSchristos any alternate names. 6805caefcfSchristos 6905caefcfSchristos DW_END_TAG - Invoked at the end of the DW_TAG constants. */ 7005caefcfSchristos 7105caefcfSchristosDW_FIRST_TAG (DW_TAG_padding, 0x00) 7205caefcfSchristosDW_TAG (DW_TAG_array_type, 0x01) 7305caefcfSchristosDW_TAG (DW_TAG_class_type, 0x02) 7405caefcfSchristosDW_TAG (DW_TAG_entry_point, 0x03) 7505caefcfSchristosDW_TAG (DW_TAG_enumeration_type, 0x04) 7605caefcfSchristosDW_TAG (DW_TAG_formal_parameter, 0x05) 7705caefcfSchristosDW_TAG (DW_TAG_imported_declaration, 0x08) 7805caefcfSchristosDW_TAG (DW_TAG_label, 0x0a) 7905caefcfSchristosDW_TAG (DW_TAG_lexical_block, 0x0b) 8005caefcfSchristosDW_TAG (DW_TAG_member, 0x0d) 8105caefcfSchristosDW_TAG (DW_TAG_pointer_type, 0x0f) 8205caefcfSchristosDW_TAG (DW_TAG_reference_type, 0x10) 8305caefcfSchristosDW_TAG (DW_TAG_compile_unit, 0x11) 8405caefcfSchristosDW_TAG (DW_TAG_string_type, 0x12) 8505caefcfSchristosDW_TAG (DW_TAG_structure_type, 0x13) 8605caefcfSchristosDW_TAG (DW_TAG_subroutine_type, 0x15) 8705caefcfSchristosDW_TAG (DW_TAG_typedef, 0x16) 8805caefcfSchristosDW_TAG (DW_TAG_union_type, 0x17) 8905caefcfSchristosDW_TAG (DW_TAG_unspecified_parameters, 0x18) 9005caefcfSchristosDW_TAG (DW_TAG_variant, 0x19) 9105caefcfSchristosDW_TAG (DW_TAG_common_block, 0x1a) 9205caefcfSchristosDW_TAG (DW_TAG_common_inclusion, 0x1b) 9305caefcfSchristosDW_TAG (DW_TAG_inheritance, 0x1c) 9405caefcfSchristosDW_TAG (DW_TAG_inlined_subroutine, 0x1d) 9505caefcfSchristosDW_TAG (DW_TAG_module, 0x1e) 9605caefcfSchristosDW_TAG (DW_TAG_ptr_to_member_type, 0x1f) 9705caefcfSchristosDW_TAG (DW_TAG_set_type, 0x20) 9805caefcfSchristosDW_TAG (DW_TAG_subrange_type, 0x21) 9905caefcfSchristosDW_TAG (DW_TAG_with_stmt, 0x22) 10005caefcfSchristosDW_TAG (DW_TAG_access_declaration, 0x23) 10105caefcfSchristosDW_TAG (DW_TAG_base_type, 0x24) 10205caefcfSchristosDW_TAG (DW_TAG_catch_block, 0x25) 10305caefcfSchristosDW_TAG (DW_TAG_const_type, 0x26) 10405caefcfSchristosDW_TAG (DW_TAG_constant, 0x27) 10505caefcfSchristosDW_TAG (DW_TAG_enumerator, 0x28) 10605caefcfSchristosDW_TAG (DW_TAG_file_type, 0x29) 10705caefcfSchristosDW_TAG (DW_TAG_friend, 0x2a) 10805caefcfSchristosDW_TAG (DW_TAG_namelist, 0x2b) 10905caefcfSchristosDW_TAG (DW_TAG_namelist_item, 0x2c) 11005caefcfSchristosDW_TAG (DW_TAG_packed_type, 0x2d) 11105caefcfSchristosDW_TAG (DW_TAG_subprogram, 0x2e) 11205caefcfSchristosDW_TAG (DW_TAG_template_type_param, 0x2f) 11305caefcfSchristosDW_TAG (DW_TAG_template_value_param, 0x30) 11405caefcfSchristosDW_TAG (DW_TAG_thrown_type, 0x31) 11505caefcfSchristosDW_TAG (DW_TAG_try_block, 0x32) 11605caefcfSchristosDW_TAG (DW_TAG_variant_part, 0x33) 11705caefcfSchristosDW_TAG (DW_TAG_variable, 0x34) 11805caefcfSchristosDW_TAG (DW_TAG_volatile_type, 0x35) 11905caefcfSchristos/* DWARF 3. */ 12005caefcfSchristosDW_TAG (DW_TAG_dwarf_procedure, 0x36) 12105caefcfSchristosDW_TAG (DW_TAG_restrict_type, 0x37) 12205caefcfSchristosDW_TAG (DW_TAG_interface_type, 0x38) 12305caefcfSchristosDW_TAG (DW_TAG_namespace, 0x39) 12405caefcfSchristosDW_TAG (DW_TAG_imported_module, 0x3a) 12505caefcfSchristosDW_TAG (DW_TAG_unspecified_type, 0x3b) 12605caefcfSchristosDW_TAG (DW_TAG_partial_unit, 0x3c) 12705caefcfSchristosDW_TAG (DW_TAG_imported_unit, 0x3d) 12805caefcfSchristosDW_TAG (DW_TAG_condition, 0x3f) 12905caefcfSchristosDW_TAG (DW_TAG_shared_type, 0x40) 13005caefcfSchristos/* DWARF 4. */ 13105caefcfSchristosDW_TAG (DW_TAG_type_unit, 0x41) 13205caefcfSchristosDW_TAG (DW_TAG_rvalue_reference_type, 0x42) 13305caefcfSchristosDW_TAG (DW_TAG_template_alias, 0x43) 1345ba6b03cSchristos/* DWARF 5. */ 13598f124a6SchristosDW_TAG (DW_TAG_coarray_type, 0x44) 13698f124a6SchristosDW_TAG (DW_TAG_generic_subrange, 0x45) 13798f124a6SchristosDW_TAG (DW_TAG_dynamic_type, 0x46) 1385ba6b03cSchristosDW_TAG (DW_TAG_atomic_type, 0x47) 13998f124a6SchristosDW_TAG (DW_TAG_call_site, 0x48) 14098f124a6SchristosDW_TAG (DW_TAG_call_site_parameter, 0x49) 14198f124a6SchristosDW_TAG (DW_TAG_skeleton_unit, 0x4a) 14298f124a6SchristosDW_TAG (DW_TAG_immutable_type, 0x4b) 14305caefcfSchristos 14405caefcfSchristosDW_TAG_DUP (DW_TAG_lo_user, 0x4080) 14505caefcfSchristosDW_TAG_DUP (DW_TAG_hi_user, 0xffff) 14605caefcfSchristos 14705caefcfSchristos/* SGI/MIPS Extensions. */ 14805caefcfSchristosDW_TAG (DW_TAG_MIPS_loop, 0x4081) 14905caefcfSchristos 15005caefcfSchristos/* HP extensions. See: ftp://ftp.hp.com/pub/lang/tools/WDB/wdb-4.0.tar.gz . */ 15105caefcfSchristosDW_TAG (DW_TAG_HP_array_descriptor, 0x4090) 15205caefcfSchristosDW_TAG (DW_TAG_HP_Bliss_field, 0x4091) 15305caefcfSchristosDW_TAG (DW_TAG_HP_Bliss_field_set, 0x4092) 15405caefcfSchristos 15505caefcfSchristos/* GNU extensions. */ 15605caefcfSchristosDW_TAG (DW_TAG_format_label, 0x4101) /* For FORTRAN 77 and Fortran 90. */ 15705caefcfSchristosDW_TAG (DW_TAG_function_template, 0x4102) /* For C++. */ 15805caefcfSchristosDW_TAG (DW_TAG_class_template, 0x4103) /* For C++. */ 15905caefcfSchristosDW_TAG (DW_TAG_GNU_BINCL, 0x4104) 16005caefcfSchristosDW_TAG (DW_TAG_GNU_EINCL, 0x4105) 16105caefcfSchristos/* Template template parameter. 16205caefcfSchristos See http://gcc.gnu.org/wiki/TemplateParmsDwarf . */ 16305caefcfSchristosDW_TAG (DW_TAG_GNU_template_template_param, 0x4106) 16405caefcfSchristos 16505caefcfSchristos/* Template parameter pack extension, specified at 16605caefcfSchristos http://wiki.dwarfstd.org/index.php?title=C%2B%2B0x:_Variadic_templates 16705caefcfSchristos The values of these two TAGS are in the DW_TAG_GNU_* space until the tags 16805caefcfSchristos are properly part of DWARF 5. */ 16905caefcfSchristosDW_TAG (DW_TAG_GNU_template_parameter_pack, 0x4107) 17005caefcfSchristosDW_TAG (DW_TAG_GNU_formal_parameter_pack, 0x4108) 17105caefcfSchristos/* The GNU call site extension, specified at 17205caefcfSchristos http://www.dwarfstd.org/ShowIssue.php?issue=100909.2&type=open . 17305caefcfSchristos The values of these two TAGS are in the DW_TAG_GNU_* space until the tags 17405caefcfSchristos are properly part of DWARF 5. */ 17505caefcfSchristosDW_TAG (DW_TAG_GNU_call_site, 0x4109) 17605caefcfSchristosDW_TAG (DW_TAG_GNU_call_site_parameter, 0x410a) 17705caefcfSchristos/* Extensions for UPC. See: http://dwarfstd.org/doc/DWARF4.pdf. */ 17805caefcfSchristosDW_TAG (DW_TAG_upc_shared_type, 0x8765) 17905caefcfSchristosDW_TAG (DW_TAG_upc_strict_type, 0x8766) 18005caefcfSchristosDW_TAG (DW_TAG_upc_relaxed_type, 0x8767) 18105caefcfSchristos/* PGI (STMicroelectronics) extensions. No documentation available. */ 18205caefcfSchristosDW_TAG (DW_TAG_PGI_kanji_type, 0xA000) 18305caefcfSchristosDW_TAG (DW_TAG_PGI_interface_block, 0xA020) 18405caefcfSchristosDW_END_TAG 18505caefcfSchristos 18605caefcfSchristosDW_FIRST_FORM (DW_FORM_addr, 0x01) 18705caefcfSchristosDW_FORM (DW_FORM_block2, 0x03) 18805caefcfSchristosDW_FORM (DW_FORM_block4, 0x04) 18905caefcfSchristosDW_FORM (DW_FORM_data2, 0x05) 19005caefcfSchristosDW_FORM (DW_FORM_data4, 0x06) 19105caefcfSchristosDW_FORM (DW_FORM_data8, 0x07) 19205caefcfSchristosDW_FORM (DW_FORM_string, 0x08) 19305caefcfSchristosDW_FORM (DW_FORM_block, 0x09) 19405caefcfSchristosDW_FORM (DW_FORM_block1, 0x0a) 19505caefcfSchristosDW_FORM (DW_FORM_data1, 0x0b) 19605caefcfSchristosDW_FORM (DW_FORM_flag, 0x0c) 19705caefcfSchristosDW_FORM (DW_FORM_sdata, 0x0d) 19805caefcfSchristosDW_FORM (DW_FORM_strp, 0x0e) 19905caefcfSchristosDW_FORM (DW_FORM_udata, 0x0f) 20005caefcfSchristosDW_FORM (DW_FORM_ref_addr, 0x10) 20105caefcfSchristosDW_FORM (DW_FORM_ref1, 0x11) 20205caefcfSchristosDW_FORM (DW_FORM_ref2, 0x12) 20305caefcfSchristosDW_FORM (DW_FORM_ref4, 0x13) 20405caefcfSchristosDW_FORM (DW_FORM_ref8, 0x14) 20505caefcfSchristosDW_FORM (DW_FORM_ref_udata, 0x15) 20605caefcfSchristosDW_FORM (DW_FORM_indirect, 0x16) 20705caefcfSchristos/* DWARF 4. */ 20805caefcfSchristosDW_FORM (DW_FORM_sec_offset, 0x17) 20905caefcfSchristosDW_FORM (DW_FORM_exprloc, 0x18) 21005caefcfSchristosDW_FORM (DW_FORM_flag_present, 0x19) 21105caefcfSchristosDW_FORM (DW_FORM_ref_sig8, 0x20) 21298f124a6Schristos/* DWARF 5. */ 21398f124a6SchristosDW_FORM (DW_FORM_strx, 0x1a) 21498f124a6SchristosDW_FORM (DW_FORM_addrx, 0x1b) 21598f124a6SchristosDW_FORM (DW_FORM_ref_sup4, 0x1c) 21698f124a6SchristosDW_FORM (DW_FORM_strp_sup, 0x1d) 21798f124a6SchristosDW_FORM (DW_FORM_data16, 0x1e) 21898f124a6SchristosDW_FORM (DW_FORM_line_strp, 0x1f) 21998f124a6SchristosDW_FORM (DW_FORM_implicit_const, 0x21) 22098f124a6SchristosDW_FORM (DW_FORM_loclistx, 0x22) 22198f124a6SchristosDW_FORM (DW_FORM_rnglistx, 0x23) 22298f124a6SchristosDW_FORM (DW_FORM_ref_sup8, 0x24) 223fa2c2dd3SchristosDW_FORM (DW_FORM_strx1, 0x25) 224fa2c2dd3SchristosDW_FORM (DW_FORM_strx2, 0x26) 225fa2c2dd3SchristosDW_FORM (DW_FORM_strx3, 0x27) 226fa2c2dd3SchristosDW_FORM (DW_FORM_strx4, 0x28) 227fa2c2dd3SchristosDW_FORM (DW_FORM_addrx1, 0x29) 228fa2c2dd3SchristosDW_FORM (DW_FORM_addrx2, 0x2a) 229fa2c2dd3SchristosDW_FORM (DW_FORM_addrx3, 0x2b) 230fa2c2dd3SchristosDW_FORM (DW_FORM_addrx4, 0x2c) 23105caefcfSchristos/* Extensions for Fission. See http://gcc.gnu.org/wiki/DebugFission. */ 23205caefcfSchristosDW_FORM (DW_FORM_GNU_addr_index, 0x1f01) 23305caefcfSchristosDW_FORM (DW_FORM_GNU_str_index, 0x1f02) 23405caefcfSchristos/* Extensions for DWZ multifile. 23505caefcfSchristos See http://www.dwarfstd.org/ShowIssue.php?issue=120604.1&type=open . */ 23605caefcfSchristosDW_FORM (DW_FORM_GNU_ref_alt, 0x1f20) 23705caefcfSchristosDW_FORM (DW_FORM_GNU_strp_alt, 0x1f21) 23805caefcfSchristosDW_END_FORM 23905caefcfSchristos 24005caefcfSchristosDW_FIRST_AT (DW_AT_sibling, 0x01) 24105caefcfSchristosDW_AT (DW_AT_location, 0x02) 24205caefcfSchristosDW_AT (DW_AT_name, 0x03) 24305caefcfSchristosDW_AT (DW_AT_ordering, 0x09) 24405caefcfSchristosDW_AT (DW_AT_subscr_data, 0x0a) 24505caefcfSchristosDW_AT (DW_AT_byte_size, 0x0b) 24605caefcfSchristosDW_AT (DW_AT_bit_offset, 0x0c) 24705caefcfSchristosDW_AT (DW_AT_bit_size, 0x0d) 24805caefcfSchristosDW_AT (DW_AT_element_list, 0x0f) 24905caefcfSchristosDW_AT (DW_AT_stmt_list, 0x10) 25005caefcfSchristosDW_AT (DW_AT_low_pc, 0x11) 25105caefcfSchristosDW_AT (DW_AT_high_pc, 0x12) 25205caefcfSchristosDW_AT (DW_AT_language, 0x13) 25305caefcfSchristosDW_AT (DW_AT_member, 0x14) 25405caefcfSchristosDW_AT (DW_AT_discr, 0x15) 25505caefcfSchristosDW_AT (DW_AT_discr_value, 0x16) 25605caefcfSchristosDW_AT (DW_AT_visibility, 0x17) 25705caefcfSchristosDW_AT (DW_AT_import, 0x18) 25805caefcfSchristosDW_AT (DW_AT_string_length, 0x19) 25905caefcfSchristosDW_AT (DW_AT_common_reference, 0x1a) 26005caefcfSchristosDW_AT (DW_AT_comp_dir, 0x1b) 26105caefcfSchristosDW_AT (DW_AT_const_value, 0x1c) 26205caefcfSchristosDW_AT (DW_AT_containing_type, 0x1d) 26305caefcfSchristosDW_AT (DW_AT_default_value, 0x1e) 26405caefcfSchristosDW_AT (DW_AT_inline, 0x20) 26505caefcfSchristosDW_AT (DW_AT_is_optional, 0x21) 26605caefcfSchristosDW_AT (DW_AT_lower_bound, 0x22) 26705caefcfSchristosDW_AT (DW_AT_producer, 0x25) 26805caefcfSchristosDW_AT (DW_AT_prototyped, 0x27) 26905caefcfSchristosDW_AT (DW_AT_return_addr, 0x2a) 27005caefcfSchristosDW_AT (DW_AT_start_scope, 0x2c) 27105caefcfSchristosDW_AT (DW_AT_bit_stride, 0x2e) 27205caefcfSchristosDW_AT (DW_AT_upper_bound, 0x2f) 27305caefcfSchristosDW_AT (DW_AT_abstract_origin, 0x31) 27405caefcfSchristosDW_AT (DW_AT_accessibility, 0x32) 27505caefcfSchristosDW_AT (DW_AT_address_class, 0x33) 27605caefcfSchristosDW_AT (DW_AT_artificial, 0x34) 27705caefcfSchristosDW_AT (DW_AT_base_types, 0x35) 27805caefcfSchristosDW_AT (DW_AT_calling_convention, 0x36) 27905caefcfSchristosDW_AT (DW_AT_count, 0x37) 28005caefcfSchristosDW_AT (DW_AT_data_member_location, 0x38) 28105caefcfSchristosDW_AT (DW_AT_decl_column, 0x39) 28205caefcfSchristosDW_AT (DW_AT_decl_file, 0x3a) 28305caefcfSchristosDW_AT (DW_AT_decl_line, 0x3b) 28405caefcfSchristosDW_AT (DW_AT_declaration, 0x3c) 28505caefcfSchristosDW_AT (DW_AT_discr_list, 0x3d) 28605caefcfSchristosDW_AT (DW_AT_encoding, 0x3e) 28705caefcfSchristosDW_AT (DW_AT_external, 0x3f) 28805caefcfSchristosDW_AT (DW_AT_frame_base, 0x40) 28905caefcfSchristosDW_AT (DW_AT_friend, 0x41) 29005caefcfSchristosDW_AT (DW_AT_identifier_case, 0x42) 29105caefcfSchristosDW_AT (DW_AT_macro_info, 0x43) 292*f22f0ef4SchristosDW_AT (DW_AT_namelist_item, 0x44) 29305caefcfSchristosDW_AT (DW_AT_priority, 0x45) 29405caefcfSchristosDW_AT (DW_AT_segment, 0x46) 29505caefcfSchristosDW_AT (DW_AT_specification, 0x47) 29605caefcfSchristosDW_AT (DW_AT_static_link, 0x48) 29705caefcfSchristosDW_AT (DW_AT_type, 0x49) 29805caefcfSchristosDW_AT (DW_AT_use_location, 0x4a) 29905caefcfSchristosDW_AT (DW_AT_variable_parameter, 0x4b) 30005caefcfSchristosDW_AT (DW_AT_virtuality, 0x4c) 30105caefcfSchristosDW_AT (DW_AT_vtable_elem_location, 0x4d) 30205caefcfSchristos/* DWARF 3 values. */ 30305caefcfSchristosDW_AT (DW_AT_allocated, 0x4e) 30405caefcfSchristosDW_AT (DW_AT_associated, 0x4f) 30505caefcfSchristosDW_AT (DW_AT_data_location, 0x50) 30605caefcfSchristosDW_AT (DW_AT_byte_stride, 0x51) 30705caefcfSchristosDW_AT (DW_AT_entry_pc, 0x52) 30805caefcfSchristosDW_AT (DW_AT_use_UTF8, 0x53) 30905caefcfSchristosDW_AT (DW_AT_extension, 0x54) 31005caefcfSchristosDW_AT (DW_AT_ranges, 0x55) 31105caefcfSchristosDW_AT (DW_AT_trampoline, 0x56) 31205caefcfSchristosDW_AT (DW_AT_call_column, 0x57) 31305caefcfSchristosDW_AT (DW_AT_call_file, 0x58) 31405caefcfSchristosDW_AT (DW_AT_call_line, 0x59) 31505caefcfSchristosDW_AT (DW_AT_description, 0x5a) 31605caefcfSchristosDW_AT (DW_AT_binary_scale, 0x5b) 31705caefcfSchristosDW_AT (DW_AT_decimal_scale, 0x5c) 31805caefcfSchristosDW_AT (DW_AT_small, 0x5d) 31905caefcfSchristosDW_AT (DW_AT_decimal_sign, 0x5e) 32005caefcfSchristosDW_AT (DW_AT_digit_count, 0x5f) 32105caefcfSchristosDW_AT (DW_AT_picture_string, 0x60) 32205caefcfSchristosDW_AT (DW_AT_mutable, 0x61) 32305caefcfSchristosDW_AT (DW_AT_threads_scaled, 0x62) 32405caefcfSchristosDW_AT (DW_AT_explicit, 0x63) 32505caefcfSchristosDW_AT (DW_AT_object_pointer, 0x64) 32605caefcfSchristosDW_AT (DW_AT_endianity, 0x65) 32705caefcfSchristosDW_AT (DW_AT_elemental, 0x66) 32805caefcfSchristosDW_AT (DW_AT_pure, 0x67) 32905caefcfSchristosDW_AT (DW_AT_recursive, 0x68) 33005caefcfSchristos/* DWARF 4. */ 33105caefcfSchristosDW_AT (DW_AT_signature, 0x69) 33205caefcfSchristosDW_AT (DW_AT_main_subprogram, 0x6a) 33305caefcfSchristosDW_AT (DW_AT_data_bit_offset, 0x6b) 33405caefcfSchristosDW_AT (DW_AT_const_expr, 0x6c) 33505caefcfSchristosDW_AT (DW_AT_enum_class, 0x6d) 33605caefcfSchristosDW_AT (DW_AT_linkage_name, 0x6e) 3375ba6b03cSchristos/* DWARF 5. */ 33898f124a6SchristosDW_AT (DW_AT_string_length_bit_size, 0x6f) 33998f124a6SchristosDW_AT (DW_AT_string_length_byte_size, 0x70) 34098f124a6SchristosDW_AT (DW_AT_rank, 0x71) 34198f124a6SchristosDW_AT (DW_AT_str_offsets_base, 0x72) 34298f124a6SchristosDW_AT (DW_AT_addr_base, 0x73) 34398f124a6SchristosDW_AT (DW_AT_rnglists_base, 0x74) 34498f124a6SchristosDW_AT (DW_AT_dwo_name, 0x76) 34598f124a6SchristosDW_AT (DW_AT_reference, 0x77) 34698f124a6SchristosDW_AT (DW_AT_rvalue_reference, 0x78) 34798f124a6SchristosDW_AT (DW_AT_macros, 0x79) 34898f124a6SchristosDW_AT (DW_AT_call_all_calls, 0x7a) 34998f124a6SchristosDW_AT (DW_AT_call_all_source_calls, 0x7b) 35098f124a6SchristosDW_AT (DW_AT_call_all_tail_calls, 0x7c) 35198f124a6SchristosDW_AT (DW_AT_call_return_pc, 0x7d) 35298f124a6SchristosDW_AT (DW_AT_call_value, 0x7e) 35398f124a6SchristosDW_AT (DW_AT_call_origin, 0x7f) 35498f124a6SchristosDW_AT (DW_AT_call_parameter, 0x80) 35598f124a6SchristosDW_AT (DW_AT_call_pc, 0x81) 35698f124a6SchristosDW_AT (DW_AT_call_tail_call, 0x82) 35798f124a6SchristosDW_AT (DW_AT_call_target, 0x83) 35898f124a6SchristosDW_AT (DW_AT_call_target_clobbered, 0x84) 35998f124a6SchristosDW_AT (DW_AT_call_data_location, 0x85) 36098f124a6SchristosDW_AT (DW_AT_call_data_value, 0x86) 3615ba6b03cSchristosDW_AT (DW_AT_noreturn, 0x87) 36298f124a6SchristosDW_AT (DW_AT_alignment, 0x88) 36398f124a6SchristosDW_AT (DW_AT_export_symbols, 0x89) 36498f124a6SchristosDW_AT (DW_AT_deleted, 0x8a) 36598f124a6SchristosDW_AT (DW_AT_defaulted, 0x8b) 36698f124a6SchristosDW_AT (DW_AT_loclists_base, 0x8c) 36705caefcfSchristos 36805caefcfSchristosDW_AT_DUP (DW_AT_lo_user, 0x2000) /* Implementation-defined range start. */ 36905caefcfSchristosDW_AT_DUP (DW_AT_hi_user, 0x3fff) /* Implementation-defined range end. */ 37005caefcfSchristos 37105caefcfSchristos/* SGI/MIPS extensions. */ 37205caefcfSchristosDW_AT (DW_AT_MIPS_fde, 0x2001) 37305caefcfSchristosDW_AT (DW_AT_MIPS_loop_begin, 0x2002) 37405caefcfSchristosDW_AT (DW_AT_MIPS_tail_loop_begin, 0x2003) 37505caefcfSchristosDW_AT (DW_AT_MIPS_epilog_begin, 0x2004) 37605caefcfSchristosDW_AT (DW_AT_MIPS_loop_unroll_factor, 0x2005) 37705caefcfSchristosDW_AT (DW_AT_MIPS_software_pipeline_depth, 0x2006) 37805caefcfSchristosDW_AT (DW_AT_MIPS_linkage_name, 0x2007) 37905caefcfSchristosDW_AT (DW_AT_MIPS_stride, 0x2008) 38005caefcfSchristosDW_AT (DW_AT_MIPS_abstract_name, 0x2009) 38105caefcfSchristosDW_AT (DW_AT_MIPS_clone_origin, 0x200a) 38205caefcfSchristosDW_AT (DW_AT_MIPS_has_inlines, 0x200b) 38305caefcfSchristos/* HP extensions. */ 38405caefcfSchristosDW_AT (DW_AT_HP_block_index, 0x2000) 38505caefcfSchristosDW_AT_DUP (DW_AT_HP_unmodifiable, 0x2001) /* Same as DW_AT_MIPS_fde. */ 38605caefcfSchristosDW_AT_DUP (DW_AT_HP_prologue, 0x2005) /* Same as DW_AT_MIPS_loop_unroll. */ 38705caefcfSchristosDW_AT_DUP (DW_AT_HP_epilogue, 0x2008) /* Same as DW_AT_MIPS_stride. */ 38805caefcfSchristosDW_AT (DW_AT_HP_actuals_stmt_list, 0x2010) 38905caefcfSchristosDW_AT (DW_AT_HP_proc_per_section, 0x2011) 39005caefcfSchristosDW_AT (DW_AT_HP_raw_data_ptr, 0x2012) 39105caefcfSchristosDW_AT (DW_AT_HP_pass_by_reference, 0x2013) 39205caefcfSchristosDW_AT (DW_AT_HP_opt_level, 0x2014) 39305caefcfSchristosDW_AT (DW_AT_HP_prof_version_id, 0x2015) 39405caefcfSchristosDW_AT (DW_AT_HP_opt_flags, 0x2016) 39505caefcfSchristosDW_AT (DW_AT_HP_cold_region_low_pc, 0x2017) 39605caefcfSchristosDW_AT (DW_AT_HP_cold_region_high_pc, 0x2018) 39705caefcfSchristosDW_AT (DW_AT_HP_all_variables_modifiable, 0x2019) 39805caefcfSchristosDW_AT (DW_AT_HP_linkage_name, 0x201a) 39905caefcfSchristosDW_AT (DW_AT_HP_prof_flags, 0x201b) /* In comp unit of procs_info for -g. */ 40005caefcfSchristosDW_AT (DW_AT_HP_unit_name, 0x201f) 40105caefcfSchristosDW_AT (DW_AT_HP_unit_size, 0x2020) 40205caefcfSchristosDW_AT (DW_AT_HP_widened_byte_size, 0x2021) 40305caefcfSchristosDW_AT (DW_AT_HP_definition_points, 0x2022) 40405caefcfSchristosDW_AT (DW_AT_HP_default_location, 0x2023) 40505caefcfSchristosDW_AT (DW_AT_HP_is_result_param, 0x2029) 40605caefcfSchristos 40705caefcfSchristos/* GNU extensions. */ 40805caefcfSchristosDW_AT (DW_AT_sf_names, 0x2101) 40905caefcfSchristosDW_AT (DW_AT_src_info, 0x2102) 41005caefcfSchristosDW_AT (DW_AT_mac_info, 0x2103) 41105caefcfSchristosDW_AT (DW_AT_src_coords, 0x2104) 41205caefcfSchristosDW_AT (DW_AT_body_begin, 0x2105) 41305caefcfSchristosDW_AT (DW_AT_body_end, 0x2106) 41405caefcfSchristosDW_AT (DW_AT_GNU_vector, 0x2107) 41505caefcfSchristos/* Thread-safety annotations. 41605caefcfSchristos See http://gcc.gnu.org/wiki/ThreadSafetyAnnotation . */ 41705caefcfSchristosDW_AT (DW_AT_GNU_guarded_by, 0x2108) 41805caefcfSchristosDW_AT (DW_AT_GNU_pt_guarded_by, 0x2109) 41905caefcfSchristosDW_AT (DW_AT_GNU_guarded, 0x210a) 42005caefcfSchristosDW_AT (DW_AT_GNU_pt_guarded, 0x210b) 42105caefcfSchristosDW_AT (DW_AT_GNU_locks_excluded, 0x210c) 42205caefcfSchristosDW_AT (DW_AT_GNU_exclusive_locks_required, 0x210d) 42305caefcfSchristosDW_AT (DW_AT_GNU_shared_locks_required, 0x210e) 42405caefcfSchristos/* One-definition rule violation detection. 42505caefcfSchristos See http://gcc.gnu.org/wiki/DwarfSeparateTypeInfo . */ 42605caefcfSchristosDW_AT (DW_AT_GNU_odr_signature, 0x210f) 42705caefcfSchristos/* Template template argument name. 42805caefcfSchristos See http://gcc.gnu.org/wiki/TemplateParmsDwarf . */ 42905caefcfSchristosDW_AT (DW_AT_GNU_template_name, 0x2110) 43005caefcfSchristos/* The GNU call site extension. 43105caefcfSchristos See http://www.dwarfstd.org/ShowIssue.php?issue=100909.2&type=open . */ 43205caefcfSchristosDW_AT (DW_AT_GNU_call_site_value, 0x2111) 43305caefcfSchristosDW_AT (DW_AT_GNU_call_site_data_value, 0x2112) 43405caefcfSchristosDW_AT (DW_AT_GNU_call_site_target, 0x2113) 43505caefcfSchristosDW_AT (DW_AT_GNU_call_site_target_clobbered, 0x2114) 43605caefcfSchristosDW_AT (DW_AT_GNU_tail_call, 0x2115) 43705caefcfSchristosDW_AT (DW_AT_GNU_all_tail_call_sites, 0x2116) 43805caefcfSchristosDW_AT (DW_AT_GNU_all_call_sites, 0x2117) 43905caefcfSchristosDW_AT (DW_AT_GNU_all_source_call_sites, 0x2118) 44005caefcfSchristos/* Section offset into .debug_macro section. */ 44105caefcfSchristosDW_AT (DW_AT_GNU_macros, 0x2119) 4425ba6b03cSchristos/* Attribute for C++ deleted special member functions (= delete;). */ 4435ba6b03cSchristosDW_AT (DW_AT_GNU_deleted, 0x211a) 44405caefcfSchristos/* Extensions for Fission. See http://gcc.gnu.org/wiki/DebugFission. */ 44505caefcfSchristosDW_AT (DW_AT_GNU_dwo_name, 0x2130) 44605caefcfSchristosDW_AT (DW_AT_GNU_dwo_id, 0x2131) 44705caefcfSchristosDW_AT (DW_AT_GNU_ranges_base, 0x2132) 44805caefcfSchristosDW_AT (DW_AT_GNU_addr_base, 0x2133) 44905caefcfSchristosDW_AT (DW_AT_GNU_pubnames, 0x2134) 45005caefcfSchristosDW_AT (DW_AT_GNU_pubtypes, 0x2135) 4515ba6b03cSchristos/* Attribute for discriminator. 4525ba6b03cSchristos See http://gcc.gnu.org/wiki/Discriminator */ 4535ba6b03cSchristosDW_AT (DW_AT_GNU_discriminator, 0x2136) 45498f124a6SchristosDW_AT (DW_AT_GNU_locviews, 0x2137) 45598f124a6SchristosDW_AT (DW_AT_GNU_entry_view, 0x2138) 45605caefcfSchristos/* VMS extensions. */ 45705caefcfSchristosDW_AT (DW_AT_VMS_rtnbeg_pd_address, 0x2201) 45805caefcfSchristos/* GNAT extensions. */ 45905caefcfSchristos/* GNAT descriptive type. 46005caefcfSchristos See http://gcc.gnu.org/wiki/DW_AT_GNAT_descriptive_type . */ 46105caefcfSchristosDW_AT (DW_AT_use_GNAT_descriptive_type, 0x2301) 46205caefcfSchristosDW_AT (DW_AT_GNAT_descriptive_type, 0x2302) 4635ba6b03cSchristos/* Rational constant extension. 4645ba6b03cSchristos See https://gcc.gnu.org/wiki/DW_AT_GNU_numerator_denominator . */ 4655ba6b03cSchristosDW_TAG (DW_AT_GNU_numerator, 0x2303) 4665ba6b03cSchristosDW_TAG (DW_AT_GNU_denominator, 0x2304) 4675ba6b03cSchristos/* Biased integer extension. 4685ba6b03cSchristos See https://gcc.gnu.org/wiki/DW_AT_GNU_bias . */ 4695ba6b03cSchristosDW_TAG (DW_AT_GNU_bias, 0x2305) 47005caefcfSchristos/* UPC extension. */ 47105caefcfSchristosDW_AT (DW_AT_upc_threads_scaled, 0x3210) 47205caefcfSchristos/* PGI (STMicroelectronics) extensions. */ 47305caefcfSchristosDW_AT (DW_AT_PGI_lbase, 0x3a00) 47405caefcfSchristosDW_AT (DW_AT_PGI_soffset, 0x3a01) 47505caefcfSchristosDW_AT (DW_AT_PGI_lstride, 0x3a02) 4765ba6b03cSchristos/* Apple extensions. */ 4775ba6b03cSchristosDW_AT (DW_AT_APPLE_optimized, 0x3fe1) 4785ba6b03cSchristosDW_AT (DW_AT_APPLE_flags, 0x3fe2) 4795ba6b03cSchristosDW_AT (DW_AT_APPLE_isa, 0x3fe3) 4805ba6b03cSchristosDW_AT (DW_AT_APPLE_block, 0x3fe4) 4815ba6b03cSchristosDW_AT (DW_AT_APPLE_major_runtime_vers, 0x3fe5) 4825ba6b03cSchristosDW_AT (DW_AT_APPLE_runtime_class, 0x3fe6) 4835ba6b03cSchristosDW_AT (DW_AT_APPLE_omit_frame_ptr, 0x3fe7) 4845ba6b03cSchristosDW_AT (DW_AT_APPLE_property_name, 0x3fe8) 4855ba6b03cSchristosDW_AT (DW_AT_APPLE_property_getter, 0x3fe9) 4865ba6b03cSchristosDW_AT (DW_AT_APPLE_property_setter, 0x3fea) 4875ba6b03cSchristosDW_AT (DW_AT_APPLE_property_attribute, 0x3feb) 4885ba6b03cSchristosDW_AT (DW_AT_APPLE_objc_complete_type, 0x3fec) 4895ba6b03cSchristosDW_AT (DW_AT_APPLE_property, 0x3fed) 49005caefcfSchristosDW_END_AT 49105caefcfSchristos 49205caefcfSchristosDW_FIRST_OP (DW_OP_addr, 0x03) 49305caefcfSchristosDW_OP (DW_OP_deref, 0x06) 49405caefcfSchristosDW_OP (DW_OP_const1u, 0x08) 49505caefcfSchristosDW_OP (DW_OP_const1s, 0x09) 49605caefcfSchristosDW_OP (DW_OP_const2u, 0x0a) 49705caefcfSchristosDW_OP (DW_OP_const2s, 0x0b) 49805caefcfSchristosDW_OP (DW_OP_const4u, 0x0c) 49905caefcfSchristosDW_OP (DW_OP_const4s, 0x0d) 50005caefcfSchristosDW_OP (DW_OP_const8u, 0x0e) 50105caefcfSchristosDW_OP (DW_OP_const8s, 0x0f) 50205caefcfSchristosDW_OP (DW_OP_constu, 0x10) 50305caefcfSchristosDW_OP (DW_OP_consts, 0x11) 50405caefcfSchristosDW_OP (DW_OP_dup, 0x12) 50505caefcfSchristosDW_OP (DW_OP_drop, 0x13) 50605caefcfSchristosDW_OP (DW_OP_over, 0x14) 50705caefcfSchristosDW_OP (DW_OP_pick, 0x15) 50805caefcfSchristosDW_OP (DW_OP_swap, 0x16) 50905caefcfSchristosDW_OP (DW_OP_rot, 0x17) 51005caefcfSchristosDW_OP (DW_OP_xderef, 0x18) 51105caefcfSchristosDW_OP (DW_OP_abs, 0x19) 51205caefcfSchristosDW_OP (DW_OP_and, 0x1a) 51305caefcfSchristosDW_OP (DW_OP_div, 0x1b) 51405caefcfSchristosDW_OP (DW_OP_minus, 0x1c) 51505caefcfSchristosDW_OP (DW_OP_mod, 0x1d) 51605caefcfSchristosDW_OP (DW_OP_mul, 0x1e) 51705caefcfSchristosDW_OP (DW_OP_neg, 0x1f) 51805caefcfSchristosDW_OP (DW_OP_not, 0x20) 51905caefcfSchristosDW_OP (DW_OP_or, 0x21) 52005caefcfSchristosDW_OP (DW_OP_plus, 0x22) 52105caefcfSchristosDW_OP (DW_OP_plus_uconst, 0x23) 52205caefcfSchristosDW_OP (DW_OP_shl, 0x24) 52305caefcfSchristosDW_OP (DW_OP_shr, 0x25) 52405caefcfSchristosDW_OP (DW_OP_shra, 0x26) 52505caefcfSchristosDW_OP (DW_OP_xor, 0x27) 52605caefcfSchristosDW_OP (DW_OP_bra, 0x28) 52705caefcfSchristosDW_OP (DW_OP_eq, 0x29) 52805caefcfSchristosDW_OP (DW_OP_ge, 0x2a) 52905caefcfSchristosDW_OP (DW_OP_gt, 0x2b) 53005caefcfSchristosDW_OP (DW_OP_le, 0x2c) 53105caefcfSchristosDW_OP (DW_OP_lt, 0x2d) 53205caefcfSchristosDW_OP (DW_OP_ne, 0x2e) 53305caefcfSchristosDW_OP (DW_OP_skip, 0x2f) 53405caefcfSchristosDW_OP (DW_OP_lit0, 0x30) 53505caefcfSchristosDW_OP (DW_OP_lit1, 0x31) 53605caefcfSchristosDW_OP (DW_OP_lit2, 0x32) 53705caefcfSchristosDW_OP (DW_OP_lit3, 0x33) 53805caefcfSchristosDW_OP (DW_OP_lit4, 0x34) 53905caefcfSchristosDW_OP (DW_OP_lit5, 0x35) 54005caefcfSchristosDW_OP (DW_OP_lit6, 0x36) 54105caefcfSchristosDW_OP (DW_OP_lit7, 0x37) 54205caefcfSchristosDW_OP (DW_OP_lit8, 0x38) 54305caefcfSchristosDW_OP (DW_OP_lit9, 0x39) 54405caefcfSchristosDW_OP (DW_OP_lit10, 0x3a) 54505caefcfSchristosDW_OP (DW_OP_lit11, 0x3b) 54605caefcfSchristosDW_OP (DW_OP_lit12, 0x3c) 54705caefcfSchristosDW_OP (DW_OP_lit13, 0x3d) 54805caefcfSchristosDW_OP (DW_OP_lit14, 0x3e) 54905caefcfSchristosDW_OP (DW_OP_lit15, 0x3f) 55005caefcfSchristosDW_OP (DW_OP_lit16, 0x40) 55105caefcfSchristosDW_OP (DW_OP_lit17, 0x41) 55205caefcfSchristosDW_OP (DW_OP_lit18, 0x42) 55305caefcfSchristosDW_OP (DW_OP_lit19, 0x43) 55405caefcfSchristosDW_OP (DW_OP_lit20, 0x44) 55505caefcfSchristosDW_OP (DW_OP_lit21, 0x45) 55605caefcfSchristosDW_OP (DW_OP_lit22, 0x46) 55705caefcfSchristosDW_OP (DW_OP_lit23, 0x47) 55805caefcfSchristosDW_OP (DW_OP_lit24, 0x48) 55905caefcfSchristosDW_OP (DW_OP_lit25, 0x49) 56005caefcfSchristosDW_OP (DW_OP_lit26, 0x4a) 56105caefcfSchristosDW_OP (DW_OP_lit27, 0x4b) 56205caefcfSchristosDW_OP (DW_OP_lit28, 0x4c) 56305caefcfSchristosDW_OP (DW_OP_lit29, 0x4d) 56405caefcfSchristosDW_OP (DW_OP_lit30, 0x4e) 56505caefcfSchristosDW_OP (DW_OP_lit31, 0x4f) 56605caefcfSchristosDW_OP (DW_OP_reg0, 0x50) 56705caefcfSchristosDW_OP (DW_OP_reg1, 0x51) 56805caefcfSchristosDW_OP (DW_OP_reg2, 0x52) 56905caefcfSchristosDW_OP (DW_OP_reg3, 0x53) 57005caefcfSchristosDW_OP (DW_OP_reg4, 0x54) 57105caefcfSchristosDW_OP (DW_OP_reg5, 0x55) 57205caefcfSchristosDW_OP (DW_OP_reg6, 0x56) 57305caefcfSchristosDW_OP (DW_OP_reg7, 0x57) 57405caefcfSchristosDW_OP (DW_OP_reg8, 0x58) 57505caefcfSchristosDW_OP (DW_OP_reg9, 0x59) 57605caefcfSchristosDW_OP (DW_OP_reg10, 0x5a) 57705caefcfSchristosDW_OP (DW_OP_reg11, 0x5b) 57805caefcfSchristosDW_OP (DW_OP_reg12, 0x5c) 57905caefcfSchristosDW_OP (DW_OP_reg13, 0x5d) 58005caefcfSchristosDW_OP (DW_OP_reg14, 0x5e) 58105caefcfSchristosDW_OP (DW_OP_reg15, 0x5f) 58205caefcfSchristosDW_OP (DW_OP_reg16, 0x60) 58305caefcfSchristosDW_OP (DW_OP_reg17, 0x61) 58405caefcfSchristosDW_OP (DW_OP_reg18, 0x62) 58505caefcfSchristosDW_OP (DW_OP_reg19, 0x63) 58605caefcfSchristosDW_OP (DW_OP_reg20, 0x64) 58705caefcfSchristosDW_OP (DW_OP_reg21, 0x65) 58805caefcfSchristosDW_OP (DW_OP_reg22, 0x66) 58905caefcfSchristosDW_OP (DW_OP_reg23, 0x67) 59005caefcfSchristosDW_OP (DW_OP_reg24, 0x68) 59105caefcfSchristosDW_OP (DW_OP_reg25, 0x69) 59205caefcfSchristosDW_OP (DW_OP_reg26, 0x6a) 59305caefcfSchristosDW_OP (DW_OP_reg27, 0x6b) 59405caefcfSchristosDW_OP (DW_OP_reg28, 0x6c) 59505caefcfSchristosDW_OP (DW_OP_reg29, 0x6d) 59605caefcfSchristosDW_OP (DW_OP_reg30, 0x6e) 59705caefcfSchristosDW_OP (DW_OP_reg31, 0x6f) 59805caefcfSchristosDW_OP (DW_OP_breg0, 0x70) 59905caefcfSchristosDW_OP (DW_OP_breg1, 0x71) 60005caefcfSchristosDW_OP (DW_OP_breg2, 0x72) 60105caefcfSchristosDW_OP (DW_OP_breg3, 0x73) 60205caefcfSchristosDW_OP (DW_OP_breg4, 0x74) 60305caefcfSchristosDW_OP (DW_OP_breg5, 0x75) 60405caefcfSchristosDW_OP (DW_OP_breg6, 0x76) 60505caefcfSchristosDW_OP (DW_OP_breg7, 0x77) 60605caefcfSchristosDW_OP (DW_OP_breg8, 0x78) 60705caefcfSchristosDW_OP (DW_OP_breg9, 0x79) 60805caefcfSchristosDW_OP (DW_OP_breg10, 0x7a) 60905caefcfSchristosDW_OP (DW_OP_breg11, 0x7b) 61005caefcfSchristosDW_OP (DW_OP_breg12, 0x7c) 61105caefcfSchristosDW_OP (DW_OP_breg13, 0x7d) 61205caefcfSchristosDW_OP (DW_OP_breg14, 0x7e) 61305caefcfSchristosDW_OP (DW_OP_breg15, 0x7f) 61405caefcfSchristosDW_OP (DW_OP_breg16, 0x80) 61505caefcfSchristosDW_OP (DW_OP_breg17, 0x81) 61605caefcfSchristosDW_OP (DW_OP_breg18, 0x82) 61705caefcfSchristosDW_OP (DW_OP_breg19, 0x83) 61805caefcfSchristosDW_OP (DW_OP_breg20, 0x84) 61905caefcfSchristosDW_OP (DW_OP_breg21, 0x85) 62005caefcfSchristosDW_OP (DW_OP_breg22, 0x86) 62105caefcfSchristosDW_OP (DW_OP_breg23, 0x87) 62205caefcfSchristosDW_OP (DW_OP_breg24, 0x88) 62305caefcfSchristosDW_OP (DW_OP_breg25, 0x89) 62405caefcfSchristosDW_OP (DW_OP_breg26, 0x8a) 62505caefcfSchristosDW_OP (DW_OP_breg27, 0x8b) 62605caefcfSchristosDW_OP (DW_OP_breg28, 0x8c) 62705caefcfSchristosDW_OP (DW_OP_breg29, 0x8d) 62805caefcfSchristosDW_OP (DW_OP_breg30, 0x8e) 62905caefcfSchristosDW_OP (DW_OP_breg31, 0x8f) 63005caefcfSchristosDW_OP (DW_OP_regx, 0x90) 63105caefcfSchristosDW_OP (DW_OP_fbreg, 0x91) 63205caefcfSchristosDW_OP (DW_OP_bregx, 0x92) 63305caefcfSchristosDW_OP (DW_OP_piece, 0x93) 63405caefcfSchristosDW_OP (DW_OP_deref_size, 0x94) 63505caefcfSchristosDW_OP (DW_OP_xderef_size, 0x95) 63605caefcfSchristosDW_OP (DW_OP_nop, 0x96) 63705caefcfSchristos/* DWARF 3 extensions. */ 63805caefcfSchristosDW_OP (DW_OP_push_object_address, 0x97) 63905caefcfSchristosDW_OP (DW_OP_call2, 0x98) 64005caefcfSchristosDW_OP (DW_OP_call4, 0x99) 64105caefcfSchristosDW_OP (DW_OP_call_ref, 0x9a) 64205caefcfSchristosDW_OP (DW_OP_form_tls_address, 0x9b) 64305caefcfSchristosDW_OP (DW_OP_call_frame_cfa, 0x9c) 64405caefcfSchristosDW_OP (DW_OP_bit_piece, 0x9d) 64505caefcfSchristos 64605caefcfSchristos/* DWARF 4 extensions. */ 64705caefcfSchristosDW_OP (DW_OP_implicit_value, 0x9e) 64805caefcfSchristosDW_OP (DW_OP_stack_value, 0x9f) 64905caefcfSchristos 65098f124a6Schristos/* DWARF 5 extensions. */ 65198f124a6SchristosDW_OP (DW_OP_implicit_pointer, 0xa0) 65298f124a6SchristosDW_OP (DW_OP_addrx, 0xa1) 65398f124a6SchristosDW_OP (DW_OP_constx, 0xa2) 65498f124a6SchristosDW_OP (DW_OP_entry_value, 0xa3) 65598f124a6SchristosDW_OP (DW_OP_const_type, 0xa4) 65698f124a6SchristosDW_OP (DW_OP_regval_type, 0xa5) 65798f124a6SchristosDW_OP (DW_OP_deref_type, 0xa6) 65898f124a6SchristosDW_OP (DW_OP_xderef_type, 0xa7) 65998f124a6SchristosDW_OP (DW_OP_convert, 0xa8) 66098f124a6SchristosDW_OP (DW_OP_reinterpret, 0xa9) 66198f124a6Schristos 66205caefcfSchristosDW_OP_DUP (DW_OP_lo_user, 0xe0) /* Implementation-defined range start. */ 66305caefcfSchristosDW_OP_DUP (DW_OP_hi_user, 0xff) /* Implementation-defined range end. */ 66405caefcfSchristos 66505caefcfSchristos/* GNU extensions. */ 66605caefcfSchristosDW_OP (DW_OP_GNU_push_tls_address, 0xe0) 66705caefcfSchristos/* The following is for marking variables that are uninitialized. */ 66805caefcfSchristosDW_OP (DW_OP_GNU_uninit, 0xf0) 66905caefcfSchristosDW_OP (DW_OP_GNU_encoded_addr, 0xf1) 67005caefcfSchristos/* The GNU implicit pointer extension. 67105caefcfSchristos See http://www.dwarfstd.org/ShowIssue.php?issue=100831.1&type=open . */ 67205caefcfSchristosDW_OP (DW_OP_GNU_implicit_pointer, 0xf2) 67305caefcfSchristos/* The GNU entry value extension. 67405caefcfSchristos See http://www.dwarfstd.org/ShowIssue.php?issue=100909.1&type=open . */ 67505caefcfSchristosDW_OP (DW_OP_GNU_entry_value, 0xf3) 67605caefcfSchristos/* The GNU typed stack extension. 67705caefcfSchristos See http://www.dwarfstd.org/doc/040408.1.html . */ 67805caefcfSchristosDW_OP (DW_OP_GNU_const_type, 0xf4) 67905caefcfSchristosDW_OP (DW_OP_GNU_regval_type, 0xf5) 68005caefcfSchristosDW_OP (DW_OP_GNU_deref_type, 0xf6) 68105caefcfSchristosDW_OP (DW_OP_GNU_convert, 0xf7) 68205caefcfSchristosDW_OP (DW_OP_GNU_reinterpret, 0xf9) 68305caefcfSchristos/* The GNU parameter ref extension. */ 68405caefcfSchristosDW_OP (DW_OP_GNU_parameter_ref, 0xfa) 6855ba6b03cSchristos/* Extensions for Fission. See http://gcc.gnu.org/wiki/DebugFission. */ 68605caefcfSchristosDW_OP (DW_OP_GNU_addr_index, 0xfb) 68705caefcfSchristosDW_OP (DW_OP_GNU_const_index, 0xfc) 68898f124a6Schristos/* The GNU variable value extension. 68998f124a6Schristos See http://dwarfstd.org/ShowIssue.php?issue=161109.2 . */ 69098f124a6SchristosDW_OP (DW_OP_GNU_variable_value, 0xfd) 69105caefcfSchristos/* HP extensions. */ 69205caefcfSchristosDW_OP_DUP (DW_OP_HP_unknown, 0xe0) /* Ouch, the same as GNU_push_tls_address. */ 69305caefcfSchristosDW_OP (DW_OP_HP_is_value, 0xe1) 69405caefcfSchristosDW_OP (DW_OP_HP_fltconst4, 0xe2) 69505caefcfSchristosDW_OP (DW_OP_HP_fltconst8, 0xe3) 69605caefcfSchristosDW_OP (DW_OP_HP_mod_range, 0xe4) 69705caefcfSchristosDW_OP (DW_OP_HP_unmod_range, 0xe5) 69805caefcfSchristosDW_OP (DW_OP_HP_tls, 0xe6) 69905caefcfSchristos/* PGI (STMicroelectronics) extensions. */ 70005caefcfSchristosDW_OP (DW_OP_PGI_omp_thread_num, 0xf8) 70198f124a6Schristos/* AARCH64 extensions. 70298f124a6Schristos DW_OP_AARCH64_operation takes one mandatory unsigned LEB128 operand. 70398f124a6Schristos Bits[6:0] of this operand is the action code, all others bits are initialized 70498f124a6Schristos to 0 except explicitly documented for one action. Please refer AArch64 DWARF 70598f124a6Schristos ABI documentation for details. */ 70698f124a6SchristosDW_OP (DW_OP_AARCH64_operation, 0xea) 70705caefcfSchristosDW_END_OP 70805caefcfSchristos 70905caefcfSchristosDW_FIRST_ATE (DW_ATE_void, 0x0) 71005caefcfSchristosDW_ATE (DW_ATE_address, 0x1) 71105caefcfSchristosDW_ATE (DW_ATE_boolean, 0x2) 71205caefcfSchristosDW_ATE (DW_ATE_complex_float, 0x3) 71305caefcfSchristosDW_ATE (DW_ATE_float, 0x4) 71405caefcfSchristosDW_ATE (DW_ATE_signed, 0x5) 71505caefcfSchristosDW_ATE (DW_ATE_signed_char, 0x6) 71605caefcfSchristosDW_ATE (DW_ATE_unsigned, 0x7) 71705caefcfSchristosDW_ATE (DW_ATE_unsigned_char, 0x8) 71805caefcfSchristos/* DWARF 3. */ 71905caefcfSchristosDW_ATE (DW_ATE_imaginary_float, 0x9) 72005caefcfSchristosDW_ATE (DW_ATE_packed_decimal, 0xa) 72105caefcfSchristosDW_ATE (DW_ATE_numeric_string, 0xb) 72205caefcfSchristosDW_ATE (DW_ATE_edited, 0xc) 72305caefcfSchristosDW_ATE (DW_ATE_signed_fixed, 0xd) 72405caefcfSchristosDW_ATE (DW_ATE_unsigned_fixed, 0xe) 72505caefcfSchristosDW_ATE (DW_ATE_decimal_float, 0xf) 72605caefcfSchristos/* DWARF 4. */ 72705caefcfSchristosDW_ATE (DW_ATE_UTF, 0x10) 72898f124a6Schristos/* DWARF 5. */ 72998f124a6SchristosDW_ATE (DW_ATE_UCS, 0x11) 73098f124a6SchristosDW_ATE (DW_ATE_ASCII, 0x12) 73105caefcfSchristos 73205caefcfSchristosDW_ATE_DUP (DW_ATE_lo_user, 0x80) 73305caefcfSchristosDW_ATE_DUP (DW_ATE_hi_user, 0xff) 73405caefcfSchristos 73505caefcfSchristos/* HP extensions. */ 73605caefcfSchristosDW_ATE (DW_ATE_HP_float80, 0x80) /* Floating-point (80 bit). */ 73705caefcfSchristosDW_ATE (DW_ATE_HP_complex_float80, 0x81) /* Complex floating-point (80 bit). */ 73805caefcfSchristosDW_ATE (DW_ATE_HP_float128, 0x82) /* Floating-point (128 bit). */ 73905caefcfSchristosDW_ATE (DW_ATE_HP_complex_float128, 0x83) /* Complex fp (128 bit). */ 74005caefcfSchristosDW_ATE (DW_ATE_HP_floathpintel, 0x84) /* Floating-point (82 bit IA64). */ 74105caefcfSchristosDW_ATE (DW_ATE_HP_imaginary_float80, 0x85) 74205caefcfSchristosDW_ATE (DW_ATE_HP_imaginary_float128, 0x86) 74305caefcfSchristosDW_ATE (DW_ATE_HP_VAX_float, 0x88) /* F or G floating. */ 74405caefcfSchristosDW_ATE (DW_ATE_HP_VAX_float_d, 0x89) /* D floating. */ 74505caefcfSchristosDW_ATE (DW_ATE_HP_packed_decimal, 0x8a) /* Cobol. */ 74605caefcfSchristosDW_ATE (DW_ATE_HP_zoned_decimal, 0x8b) /* Cobol. */ 74705caefcfSchristosDW_ATE (DW_ATE_HP_edited, 0x8c) /* Cobol. */ 74805caefcfSchristosDW_ATE (DW_ATE_HP_signed_fixed, 0x8d) /* Cobol. */ 74905caefcfSchristosDW_ATE (DW_ATE_HP_unsigned_fixed, 0x8e) /* Cobol. */ 75005caefcfSchristosDW_ATE (DW_ATE_HP_VAX_complex_float, 0x8f) /* F or G floating complex. */ 75105caefcfSchristosDW_ATE (DW_ATE_HP_VAX_complex_float_d, 0x90) /* D floating complex. */ 75205caefcfSchristos 75305caefcfSchristosDW_END_ATE 75405caefcfSchristos 75505caefcfSchristosDW_FIRST_CFA (DW_CFA_advance_loc, 0x40) 75605caefcfSchristosDW_CFA (DW_CFA_offset, 0x80) 75705caefcfSchristosDW_CFA (DW_CFA_restore, 0xc0) 75805caefcfSchristosDW_CFA (DW_CFA_nop, 0x00) 75905caefcfSchristosDW_CFA (DW_CFA_set_loc, 0x01) 76005caefcfSchristosDW_CFA (DW_CFA_advance_loc1, 0x02) 76105caefcfSchristosDW_CFA (DW_CFA_advance_loc2, 0x03) 76205caefcfSchristosDW_CFA (DW_CFA_advance_loc4, 0x04) 76305caefcfSchristosDW_CFA (DW_CFA_offset_extended, 0x05) 76405caefcfSchristosDW_CFA (DW_CFA_restore_extended, 0x06) 76505caefcfSchristosDW_CFA (DW_CFA_undefined, 0x07) 76605caefcfSchristosDW_CFA (DW_CFA_same_value, 0x08) 76705caefcfSchristosDW_CFA (DW_CFA_register, 0x09) 76805caefcfSchristosDW_CFA (DW_CFA_remember_state, 0x0a) 76905caefcfSchristosDW_CFA (DW_CFA_restore_state, 0x0b) 77005caefcfSchristosDW_CFA (DW_CFA_def_cfa, 0x0c) 77105caefcfSchristosDW_CFA (DW_CFA_def_cfa_register, 0x0d) 77205caefcfSchristosDW_CFA (DW_CFA_def_cfa_offset, 0x0e) 77305caefcfSchristos/* DWARF 3. */ 77405caefcfSchristosDW_CFA (DW_CFA_def_cfa_expression, 0x0f) 77505caefcfSchristosDW_CFA (DW_CFA_expression, 0x10) 77605caefcfSchristosDW_CFA (DW_CFA_offset_extended_sf, 0x11) 77705caefcfSchristosDW_CFA (DW_CFA_def_cfa_sf, 0x12) 77805caefcfSchristosDW_CFA (DW_CFA_def_cfa_offset_sf, 0x13) 77905caefcfSchristosDW_CFA (DW_CFA_val_offset, 0x14) 78005caefcfSchristosDW_CFA (DW_CFA_val_offset_sf, 0x15) 78105caefcfSchristosDW_CFA (DW_CFA_val_expression, 0x16) 78205caefcfSchristos 78305caefcfSchristosDW_CFA (DW_CFA_lo_user, 0x1c) 78405caefcfSchristosDW_CFA (DW_CFA_hi_user, 0x3f) 78505caefcfSchristos 78605caefcfSchristos/* SGI/MIPS specific. */ 78705caefcfSchristosDW_CFA (DW_CFA_MIPS_advance_loc8, 0x1d) 78898f124a6Schristos/* GNU extensions. 78998f124a6Schristos NOTE: DW_CFA_GNU_window_save is multiplexed on Sparc and AArch64. */ 79005caefcfSchristosDW_CFA (DW_CFA_GNU_window_save, 0x2d) 79198f124a6SchristosDW_CFA_DUP (DW_CFA_AARCH64_negate_ra_state, 0x2d) 79205caefcfSchristosDW_CFA (DW_CFA_GNU_args_size, 0x2e) 79305caefcfSchristosDW_CFA (DW_CFA_GNU_negative_offset_extended, 0x2f) 79405caefcfSchristos 79505caefcfSchristosDW_END_CFA 79698f124a6Schristos 79798f124a6Schristos/* Index attributes in the Abbreviations Table. */ 79898f124a6SchristosDW_FIRST_IDX (DW_IDX_compile_unit, 1) 79998f124a6SchristosDW_IDX (DW_IDX_type_unit, 2) 80098f124a6SchristosDW_IDX (DW_IDX_die_offset, 3) 80198f124a6SchristosDW_IDX (DW_IDX_parent, 4) 80298f124a6SchristosDW_IDX (DW_IDX_type_hash, 5) 80398f124a6SchristosDW_IDX_DUP (DW_IDX_lo_user, 0x2000) 80498f124a6SchristosDW_IDX (DW_IDX_hi_user, 0x3fff) 80598f124a6SchristosDW_IDX (DW_IDX_GNU_internal, 0x2000) 80698f124a6SchristosDW_IDX (DW_IDX_GNU_external, 0x2001) 80798f124a6SchristosDW_END_IDX 808*f22f0ef4Schristos 809*f22f0ef4Schristos/* DWARF5 Unit type header encodings */ 810*f22f0ef4SchristosDW_FIRST_UT (DW_UT_compile, 0x01) 811*f22f0ef4SchristosDW_UT (DW_UT_type, 0x02) 812*f22f0ef4SchristosDW_UT (DW_UT_partial, 0x03) 813*f22f0ef4SchristosDW_UT (DW_UT_skeleton, 0x04) 814*f22f0ef4SchristosDW_UT (DW_UT_split_compile, 0x05) 815*f22f0ef4SchristosDW_UT (DW_UT_split_type, 0x06) 816*f22f0ef4SchristosDW_UT (DW_UT_lo_user, 0x80) 817*f22f0ef4SchristosDW_UT (DW_UT_hi_user, 0xff) 818*f22f0ef4SchristosDW_END_UT 819