1883529b6Schristos/* -*- c -*- 2883529b6Schristos Declarations and definitions of codes relating to the DWARF2 and 3883529b6Schristos DWARF3 symbolic debugging information formats. 4*cb63e24eSchristos Copyright (C) 1992-2024 Free Software Foundation, Inc. 5883529b6Schristos 6883529b6Schristos Written by Gary Funck (gary@intrepid.com) The Ada Joint Program 7883529b6Schristos Office (AJPO), Florida State University and Silicon Graphics Inc. 8883529b6Schristos provided support for this effort -- June 21, 1995. 9883529b6Schristos 10883529b6Schristos Derived from the DWARF 1 implementation written by Ron Guilmette 11883529b6Schristos (rfg@netcom.com), November 1990. 12883529b6Schristos 13883529b6Schristos This file is part of GCC. 14883529b6Schristos 15883529b6Schristos GCC is free software; you can redistribute it and/or modify it under 16883529b6Schristos the terms of the GNU General Public License as published by the Free 17883529b6Schristos Software Foundation; either version 3, or (at your option) any later 18883529b6Schristos version. 19883529b6Schristos 20883529b6Schristos GCC is distributed in the hope that it will be useful, but WITHOUT 21883529b6Schristos ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 22883529b6Schristos or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 23883529b6Schristos License for more details. 24883529b6Schristos 25883529b6Schristos Under Section 7 of GPL version 3, you are granted additional 26883529b6Schristos permissions described in the GCC Runtime Library Exception, version 27883529b6Schristos 3.1, as published by the Free Software Foundation. 28883529b6Schristos 29883529b6Schristos You should have received a copy of the GNU General Public License and 30883529b6Schristos a copy of the GCC Runtime Library Exception along with this program; 31883529b6Schristos see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 32883529b6Schristos <http://www.gnu.org/licenses/>. */ 33883529b6Schristos 34883529b6Schristos/* This file is derived from the DWARF specification (a public document) 35883529b6Schristos Revision 2.0.0 (July 27, 1993) developed by the UNIX International 36883529b6Schristos Programming Languages Special Interest Group (UI/PLSIG) and distributed 37883529b6Schristos by UNIX International. Copies of this specification are available from 38883529b6Schristos UNIX International, 20 Waterview Boulevard, Parsippany, NJ, 07054. 39883529b6Schristos 40883529b6Schristos This file also now contains definitions from the DWARF 3 specification 41883529b6Schristos published Dec 20, 2005, available from: http://dwarf.freestandards.org. 42883529b6Schristos 43883529b6Schristos This file also now contains definitions from the DWARF 4 44883529b6Schristos specification, available from: http://dwarfstd.org/ */ 45883529b6Schristos 46883529b6Schristos/* This file declares various DWARF-related constants using a set of 47883529b6Schristos macros which can be redefined by the including file. 48883529b6Schristos 49883529b6Schristos The macros are in sections. Each section corresponds to a single 50883529b6Schristos set of DWARF constants and has a corresponding key. The key is 51883529b6Schristos used in all the macro names. 52883529b6Schristos 53883529b6Schristos The sections are TAG (for DW_TAG_ constants), FORM (DW_FORM_), AT 54883529b6Schristos (DW_AT_), OP (DW_OP_), ATE (DW_ATE_), and CFA (DW_CFA_). 55883529b6Schristos 56883529b6Schristos Using TAG as an example, the following macros may be used for each 57883529b6Schristos key: 58883529b6Schristos 59883529b6Schristos DW_FIRST_TAG(name, value) - Introduce the first DW_TAG constant. 60883529b6Schristos 61883529b6Schristos DW_TAG(name, value) - Define a subsequent constant. 62883529b6Schristos 63883529b6Schristos DW_TAG_DUP(name, value) - Define a subsequent constant whose value 64883529b6Schristos is a duplicate of some other constant. Not all keys use the _DUP 65883529b6Schristos macro form. If more than one name shares a value, then the base 66883529b6Schristos (DW_TAG) form will be the preferred name and DW_TAG_DUP will hold 67883529b6Schristos any alternate names. 68883529b6Schristos 69883529b6Schristos DW_END_TAG - Invoked at the end of the DW_TAG constants. */ 70883529b6Schristos 71883529b6SchristosDW_FIRST_TAG (DW_TAG_padding, 0x00) 72883529b6SchristosDW_TAG (DW_TAG_array_type, 0x01) 73883529b6SchristosDW_TAG (DW_TAG_class_type, 0x02) 74883529b6SchristosDW_TAG (DW_TAG_entry_point, 0x03) 75883529b6SchristosDW_TAG (DW_TAG_enumeration_type, 0x04) 76883529b6SchristosDW_TAG (DW_TAG_formal_parameter, 0x05) 77883529b6SchristosDW_TAG (DW_TAG_imported_declaration, 0x08) 78883529b6SchristosDW_TAG (DW_TAG_label, 0x0a) 79883529b6SchristosDW_TAG (DW_TAG_lexical_block, 0x0b) 80883529b6SchristosDW_TAG (DW_TAG_member, 0x0d) 81883529b6SchristosDW_TAG (DW_TAG_pointer_type, 0x0f) 82883529b6SchristosDW_TAG (DW_TAG_reference_type, 0x10) 83883529b6SchristosDW_TAG (DW_TAG_compile_unit, 0x11) 84883529b6SchristosDW_TAG (DW_TAG_string_type, 0x12) 85883529b6SchristosDW_TAG (DW_TAG_structure_type, 0x13) 86883529b6SchristosDW_TAG (DW_TAG_subroutine_type, 0x15) 87883529b6SchristosDW_TAG (DW_TAG_typedef, 0x16) 88883529b6SchristosDW_TAG (DW_TAG_union_type, 0x17) 89883529b6SchristosDW_TAG (DW_TAG_unspecified_parameters, 0x18) 90883529b6SchristosDW_TAG (DW_TAG_variant, 0x19) 91883529b6SchristosDW_TAG (DW_TAG_common_block, 0x1a) 92883529b6SchristosDW_TAG (DW_TAG_common_inclusion, 0x1b) 93883529b6SchristosDW_TAG (DW_TAG_inheritance, 0x1c) 94883529b6SchristosDW_TAG (DW_TAG_inlined_subroutine, 0x1d) 95883529b6SchristosDW_TAG (DW_TAG_module, 0x1e) 96883529b6SchristosDW_TAG (DW_TAG_ptr_to_member_type, 0x1f) 97883529b6SchristosDW_TAG (DW_TAG_set_type, 0x20) 98883529b6SchristosDW_TAG (DW_TAG_subrange_type, 0x21) 99883529b6SchristosDW_TAG (DW_TAG_with_stmt, 0x22) 100883529b6SchristosDW_TAG (DW_TAG_access_declaration, 0x23) 101883529b6SchristosDW_TAG (DW_TAG_base_type, 0x24) 102883529b6SchristosDW_TAG (DW_TAG_catch_block, 0x25) 103883529b6SchristosDW_TAG (DW_TAG_const_type, 0x26) 104883529b6SchristosDW_TAG (DW_TAG_constant, 0x27) 105883529b6SchristosDW_TAG (DW_TAG_enumerator, 0x28) 106883529b6SchristosDW_TAG (DW_TAG_file_type, 0x29) 107883529b6SchristosDW_TAG (DW_TAG_friend, 0x2a) 108883529b6SchristosDW_TAG (DW_TAG_namelist, 0x2b) 109883529b6SchristosDW_TAG (DW_TAG_namelist_item, 0x2c) 110883529b6SchristosDW_TAG (DW_TAG_packed_type, 0x2d) 111883529b6SchristosDW_TAG (DW_TAG_subprogram, 0x2e) 112883529b6SchristosDW_TAG (DW_TAG_template_type_param, 0x2f) 113883529b6SchristosDW_TAG (DW_TAG_template_value_param, 0x30) 114883529b6SchristosDW_TAG (DW_TAG_thrown_type, 0x31) 115883529b6SchristosDW_TAG (DW_TAG_try_block, 0x32) 116883529b6SchristosDW_TAG (DW_TAG_variant_part, 0x33) 117883529b6SchristosDW_TAG (DW_TAG_variable, 0x34) 118883529b6SchristosDW_TAG (DW_TAG_volatile_type, 0x35) 119883529b6Schristos/* DWARF 3. */ 120883529b6SchristosDW_TAG (DW_TAG_dwarf_procedure, 0x36) 121883529b6SchristosDW_TAG (DW_TAG_restrict_type, 0x37) 122883529b6SchristosDW_TAG (DW_TAG_interface_type, 0x38) 123883529b6SchristosDW_TAG (DW_TAG_namespace, 0x39) 124883529b6SchristosDW_TAG (DW_TAG_imported_module, 0x3a) 125883529b6SchristosDW_TAG (DW_TAG_unspecified_type, 0x3b) 126883529b6SchristosDW_TAG (DW_TAG_partial_unit, 0x3c) 127883529b6SchristosDW_TAG (DW_TAG_imported_unit, 0x3d) 128883529b6SchristosDW_TAG (DW_TAG_condition, 0x3f) 129883529b6SchristosDW_TAG (DW_TAG_shared_type, 0x40) 130883529b6Schristos/* DWARF 4. */ 131883529b6SchristosDW_TAG (DW_TAG_type_unit, 0x41) 132883529b6SchristosDW_TAG (DW_TAG_rvalue_reference_type, 0x42) 133883529b6SchristosDW_TAG (DW_TAG_template_alias, 0x43) 1349573673dSchristos/* DWARF 5. */ 135fc4f4269SchristosDW_TAG (DW_TAG_coarray_type, 0x44) 136fc4f4269SchristosDW_TAG (DW_TAG_generic_subrange, 0x45) 137fc4f4269SchristosDW_TAG (DW_TAG_dynamic_type, 0x46) 1389573673dSchristosDW_TAG (DW_TAG_atomic_type, 0x47) 139fc4f4269SchristosDW_TAG (DW_TAG_call_site, 0x48) 140fc4f4269SchristosDW_TAG (DW_TAG_call_site_parameter, 0x49) 141fc4f4269SchristosDW_TAG (DW_TAG_skeleton_unit, 0x4a) 142fc4f4269SchristosDW_TAG (DW_TAG_immutable_type, 0x4b) 143883529b6Schristos 144883529b6SchristosDW_TAG_DUP (DW_TAG_lo_user, 0x4080) 145883529b6SchristosDW_TAG_DUP (DW_TAG_hi_user, 0xffff) 146883529b6Schristos 147883529b6Schristos/* SGI/MIPS Extensions. */ 148883529b6SchristosDW_TAG (DW_TAG_MIPS_loop, 0x4081) 149883529b6Schristos 150883529b6Schristos/* HP extensions. See: ftp://ftp.hp.com/pub/lang/tools/WDB/wdb-4.0.tar.gz . */ 151883529b6SchristosDW_TAG (DW_TAG_HP_array_descriptor, 0x4090) 152883529b6SchristosDW_TAG (DW_TAG_HP_Bliss_field, 0x4091) 153883529b6SchristosDW_TAG (DW_TAG_HP_Bliss_field_set, 0x4092) 154883529b6Schristos 155883529b6Schristos/* GNU extensions. */ 156883529b6SchristosDW_TAG (DW_TAG_format_label, 0x4101) /* For FORTRAN 77 and Fortran 90. */ 157883529b6SchristosDW_TAG (DW_TAG_function_template, 0x4102) /* For C++. */ 158883529b6SchristosDW_TAG (DW_TAG_class_template, 0x4103) /* For C++. */ 159883529b6SchristosDW_TAG (DW_TAG_GNU_BINCL, 0x4104) 160883529b6SchristosDW_TAG (DW_TAG_GNU_EINCL, 0x4105) 161883529b6Schristos/* Template template parameter. 162883529b6Schristos See http://gcc.gnu.org/wiki/TemplateParmsDwarf . */ 163883529b6SchristosDW_TAG (DW_TAG_GNU_template_template_param, 0x4106) 164883529b6Schristos 165883529b6Schristos/* Template parameter pack extension, specified at 166883529b6Schristos http://wiki.dwarfstd.org/index.php?title=C%2B%2B0x:_Variadic_templates 167883529b6Schristos The values of these two TAGS are in the DW_TAG_GNU_* space until the tags 168883529b6Schristos are properly part of DWARF 5. */ 169883529b6SchristosDW_TAG (DW_TAG_GNU_template_parameter_pack, 0x4107) 170883529b6SchristosDW_TAG (DW_TAG_GNU_formal_parameter_pack, 0x4108) 171883529b6Schristos/* The GNU call site extension, specified at 172883529b6Schristos http://www.dwarfstd.org/ShowIssue.php?issue=100909.2&type=open . 173883529b6Schristos The values of these two TAGS are in the DW_TAG_GNU_* space until the tags 174883529b6Schristos are properly part of DWARF 5. */ 175883529b6SchristosDW_TAG (DW_TAG_GNU_call_site, 0x4109) 176883529b6SchristosDW_TAG (DW_TAG_GNU_call_site_parameter, 0x410a) 177883529b6Schristos/* Extensions for UPC. See: http://dwarfstd.org/doc/DWARF4.pdf. */ 178883529b6SchristosDW_TAG (DW_TAG_upc_shared_type, 0x8765) 179883529b6SchristosDW_TAG (DW_TAG_upc_strict_type, 0x8766) 180883529b6SchristosDW_TAG (DW_TAG_upc_relaxed_type, 0x8767) 181883529b6Schristos/* PGI (STMicroelectronics) extensions. No documentation available. */ 182883529b6SchristosDW_TAG (DW_TAG_PGI_kanji_type, 0xA000) 183883529b6SchristosDW_TAG (DW_TAG_PGI_interface_block, 0xA020) 184883529b6SchristosDW_END_TAG 185883529b6Schristos 186883529b6SchristosDW_FIRST_FORM (DW_FORM_addr, 0x01) 187883529b6SchristosDW_FORM (DW_FORM_block2, 0x03) 188883529b6SchristosDW_FORM (DW_FORM_block4, 0x04) 189883529b6SchristosDW_FORM (DW_FORM_data2, 0x05) 190883529b6SchristosDW_FORM (DW_FORM_data4, 0x06) 191883529b6SchristosDW_FORM (DW_FORM_data8, 0x07) 192883529b6SchristosDW_FORM (DW_FORM_string, 0x08) 193883529b6SchristosDW_FORM (DW_FORM_block, 0x09) 194883529b6SchristosDW_FORM (DW_FORM_block1, 0x0a) 195883529b6SchristosDW_FORM (DW_FORM_data1, 0x0b) 196883529b6SchristosDW_FORM (DW_FORM_flag, 0x0c) 197883529b6SchristosDW_FORM (DW_FORM_sdata, 0x0d) 198883529b6SchristosDW_FORM (DW_FORM_strp, 0x0e) 199883529b6SchristosDW_FORM (DW_FORM_udata, 0x0f) 200883529b6SchristosDW_FORM (DW_FORM_ref_addr, 0x10) 201883529b6SchristosDW_FORM (DW_FORM_ref1, 0x11) 202883529b6SchristosDW_FORM (DW_FORM_ref2, 0x12) 203883529b6SchristosDW_FORM (DW_FORM_ref4, 0x13) 204883529b6SchristosDW_FORM (DW_FORM_ref8, 0x14) 205883529b6SchristosDW_FORM (DW_FORM_ref_udata, 0x15) 206883529b6SchristosDW_FORM (DW_FORM_indirect, 0x16) 207883529b6Schristos/* DWARF 4. */ 208883529b6SchristosDW_FORM (DW_FORM_sec_offset, 0x17) 209883529b6SchristosDW_FORM (DW_FORM_exprloc, 0x18) 210883529b6SchristosDW_FORM (DW_FORM_flag_present, 0x19) 211883529b6SchristosDW_FORM (DW_FORM_ref_sig8, 0x20) 212fc4f4269Schristos/* DWARF 5. */ 213fc4f4269SchristosDW_FORM (DW_FORM_strx, 0x1a) 214fc4f4269SchristosDW_FORM (DW_FORM_addrx, 0x1b) 215fc4f4269SchristosDW_FORM (DW_FORM_ref_sup4, 0x1c) 216fc4f4269SchristosDW_FORM (DW_FORM_strp_sup, 0x1d) 217fc4f4269SchristosDW_FORM (DW_FORM_data16, 0x1e) 218fc4f4269SchristosDW_FORM (DW_FORM_line_strp, 0x1f) 219fc4f4269SchristosDW_FORM (DW_FORM_implicit_const, 0x21) 220fc4f4269SchristosDW_FORM (DW_FORM_loclistx, 0x22) 221fc4f4269SchristosDW_FORM (DW_FORM_rnglistx, 0x23) 222fc4f4269SchristosDW_FORM (DW_FORM_ref_sup8, 0x24) 223c1a20988SchristosDW_FORM (DW_FORM_strx1, 0x25) 224c1a20988SchristosDW_FORM (DW_FORM_strx2, 0x26) 225c1a20988SchristosDW_FORM (DW_FORM_strx3, 0x27) 226c1a20988SchristosDW_FORM (DW_FORM_strx4, 0x28) 227c1a20988SchristosDW_FORM (DW_FORM_addrx1, 0x29) 228c1a20988SchristosDW_FORM (DW_FORM_addrx2, 0x2a) 229c1a20988SchristosDW_FORM (DW_FORM_addrx3, 0x2b) 230c1a20988SchristosDW_FORM (DW_FORM_addrx4, 0x2c) 231883529b6Schristos/* Extensions for Fission. See http://gcc.gnu.org/wiki/DebugFission. */ 232883529b6SchristosDW_FORM (DW_FORM_GNU_addr_index, 0x1f01) 233883529b6SchristosDW_FORM (DW_FORM_GNU_str_index, 0x1f02) 234883529b6Schristos/* Extensions for DWZ multifile. 235883529b6Schristos See http://www.dwarfstd.org/ShowIssue.php?issue=120604.1&type=open . */ 236883529b6SchristosDW_FORM (DW_FORM_GNU_ref_alt, 0x1f20) 237883529b6SchristosDW_FORM (DW_FORM_GNU_strp_alt, 0x1f21) 238883529b6SchristosDW_END_FORM 239883529b6Schristos 240883529b6SchristosDW_FIRST_AT (DW_AT_sibling, 0x01) 241883529b6SchristosDW_AT (DW_AT_location, 0x02) 242883529b6SchristosDW_AT (DW_AT_name, 0x03) 243883529b6SchristosDW_AT (DW_AT_ordering, 0x09) 244883529b6SchristosDW_AT (DW_AT_subscr_data, 0x0a) 245883529b6SchristosDW_AT (DW_AT_byte_size, 0x0b) 246883529b6SchristosDW_AT (DW_AT_bit_offset, 0x0c) 247883529b6SchristosDW_AT (DW_AT_bit_size, 0x0d) 248883529b6SchristosDW_AT (DW_AT_element_list, 0x0f) 249883529b6SchristosDW_AT (DW_AT_stmt_list, 0x10) 250883529b6SchristosDW_AT (DW_AT_low_pc, 0x11) 251883529b6SchristosDW_AT (DW_AT_high_pc, 0x12) 252883529b6SchristosDW_AT (DW_AT_language, 0x13) 253883529b6SchristosDW_AT (DW_AT_member, 0x14) 254883529b6SchristosDW_AT (DW_AT_discr, 0x15) 255883529b6SchristosDW_AT (DW_AT_discr_value, 0x16) 256883529b6SchristosDW_AT (DW_AT_visibility, 0x17) 257883529b6SchristosDW_AT (DW_AT_import, 0x18) 258883529b6SchristosDW_AT (DW_AT_string_length, 0x19) 259883529b6SchristosDW_AT (DW_AT_common_reference, 0x1a) 260883529b6SchristosDW_AT (DW_AT_comp_dir, 0x1b) 261883529b6SchristosDW_AT (DW_AT_const_value, 0x1c) 262883529b6SchristosDW_AT (DW_AT_containing_type, 0x1d) 263883529b6SchristosDW_AT (DW_AT_default_value, 0x1e) 264883529b6SchristosDW_AT (DW_AT_inline, 0x20) 265883529b6SchristosDW_AT (DW_AT_is_optional, 0x21) 266883529b6SchristosDW_AT (DW_AT_lower_bound, 0x22) 267883529b6SchristosDW_AT (DW_AT_producer, 0x25) 268883529b6SchristosDW_AT (DW_AT_prototyped, 0x27) 269883529b6SchristosDW_AT (DW_AT_return_addr, 0x2a) 270883529b6SchristosDW_AT (DW_AT_start_scope, 0x2c) 271883529b6SchristosDW_AT (DW_AT_bit_stride, 0x2e) 272883529b6SchristosDW_AT (DW_AT_upper_bound, 0x2f) 273883529b6SchristosDW_AT (DW_AT_abstract_origin, 0x31) 274883529b6SchristosDW_AT (DW_AT_accessibility, 0x32) 275883529b6SchristosDW_AT (DW_AT_address_class, 0x33) 276883529b6SchristosDW_AT (DW_AT_artificial, 0x34) 277883529b6SchristosDW_AT (DW_AT_base_types, 0x35) 278883529b6SchristosDW_AT (DW_AT_calling_convention, 0x36) 279883529b6SchristosDW_AT (DW_AT_count, 0x37) 280883529b6SchristosDW_AT (DW_AT_data_member_location, 0x38) 281883529b6SchristosDW_AT (DW_AT_decl_column, 0x39) 282883529b6SchristosDW_AT (DW_AT_decl_file, 0x3a) 283883529b6SchristosDW_AT (DW_AT_decl_line, 0x3b) 284883529b6SchristosDW_AT (DW_AT_declaration, 0x3c) 285883529b6SchristosDW_AT (DW_AT_discr_list, 0x3d) 286883529b6SchristosDW_AT (DW_AT_encoding, 0x3e) 287883529b6SchristosDW_AT (DW_AT_external, 0x3f) 288883529b6SchristosDW_AT (DW_AT_frame_base, 0x40) 289883529b6SchristosDW_AT (DW_AT_friend, 0x41) 290883529b6SchristosDW_AT (DW_AT_identifier_case, 0x42) 291883529b6SchristosDW_AT (DW_AT_macro_info, 0x43) 2924f645668SchristosDW_AT (DW_AT_namelist_item, 0x44) 293883529b6SchristosDW_AT (DW_AT_priority, 0x45) 294883529b6SchristosDW_AT (DW_AT_segment, 0x46) 295883529b6SchristosDW_AT (DW_AT_specification, 0x47) 296883529b6SchristosDW_AT (DW_AT_static_link, 0x48) 297883529b6SchristosDW_AT (DW_AT_type, 0x49) 298883529b6SchristosDW_AT (DW_AT_use_location, 0x4a) 299883529b6SchristosDW_AT (DW_AT_variable_parameter, 0x4b) 300883529b6SchristosDW_AT (DW_AT_virtuality, 0x4c) 301883529b6SchristosDW_AT (DW_AT_vtable_elem_location, 0x4d) 302883529b6Schristos/* DWARF 3 values. */ 303883529b6SchristosDW_AT (DW_AT_allocated, 0x4e) 304883529b6SchristosDW_AT (DW_AT_associated, 0x4f) 305883529b6SchristosDW_AT (DW_AT_data_location, 0x50) 306883529b6SchristosDW_AT (DW_AT_byte_stride, 0x51) 307883529b6SchristosDW_AT (DW_AT_entry_pc, 0x52) 308883529b6SchristosDW_AT (DW_AT_use_UTF8, 0x53) 309883529b6SchristosDW_AT (DW_AT_extension, 0x54) 310883529b6SchristosDW_AT (DW_AT_ranges, 0x55) 311883529b6SchristosDW_AT (DW_AT_trampoline, 0x56) 312883529b6SchristosDW_AT (DW_AT_call_column, 0x57) 313883529b6SchristosDW_AT (DW_AT_call_file, 0x58) 314883529b6SchristosDW_AT (DW_AT_call_line, 0x59) 315883529b6SchristosDW_AT (DW_AT_description, 0x5a) 316883529b6SchristosDW_AT (DW_AT_binary_scale, 0x5b) 317883529b6SchristosDW_AT (DW_AT_decimal_scale, 0x5c) 318883529b6SchristosDW_AT (DW_AT_small, 0x5d) 319883529b6SchristosDW_AT (DW_AT_decimal_sign, 0x5e) 320883529b6SchristosDW_AT (DW_AT_digit_count, 0x5f) 321883529b6SchristosDW_AT (DW_AT_picture_string, 0x60) 322883529b6SchristosDW_AT (DW_AT_mutable, 0x61) 323883529b6SchristosDW_AT (DW_AT_threads_scaled, 0x62) 324883529b6SchristosDW_AT (DW_AT_explicit, 0x63) 325883529b6SchristosDW_AT (DW_AT_object_pointer, 0x64) 326883529b6SchristosDW_AT (DW_AT_endianity, 0x65) 327883529b6SchristosDW_AT (DW_AT_elemental, 0x66) 328883529b6SchristosDW_AT (DW_AT_pure, 0x67) 329883529b6SchristosDW_AT (DW_AT_recursive, 0x68) 330883529b6Schristos/* DWARF 4. */ 331883529b6SchristosDW_AT (DW_AT_signature, 0x69) 332883529b6SchristosDW_AT (DW_AT_main_subprogram, 0x6a) 333883529b6SchristosDW_AT (DW_AT_data_bit_offset, 0x6b) 334883529b6SchristosDW_AT (DW_AT_const_expr, 0x6c) 335883529b6SchristosDW_AT (DW_AT_enum_class, 0x6d) 336883529b6SchristosDW_AT (DW_AT_linkage_name, 0x6e) 3379573673dSchristos/* DWARF 5. */ 338fc4f4269SchristosDW_AT (DW_AT_string_length_bit_size, 0x6f) 339fc4f4269SchristosDW_AT (DW_AT_string_length_byte_size, 0x70) 340fc4f4269SchristosDW_AT (DW_AT_rank, 0x71) 341fc4f4269SchristosDW_AT (DW_AT_str_offsets_base, 0x72) 342fc4f4269SchristosDW_AT (DW_AT_addr_base, 0x73) 343fc4f4269SchristosDW_AT (DW_AT_rnglists_base, 0x74) 344fc4f4269SchristosDW_AT (DW_AT_dwo_name, 0x76) 345fc4f4269SchristosDW_AT (DW_AT_reference, 0x77) 346fc4f4269SchristosDW_AT (DW_AT_rvalue_reference, 0x78) 347fc4f4269SchristosDW_AT (DW_AT_macros, 0x79) 348fc4f4269SchristosDW_AT (DW_AT_call_all_calls, 0x7a) 349fc4f4269SchristosDW_AT (DW_AT_call_all_source_calls, 0x7b) 350fc4f4269SchristosDW_AT (DW_AT_call_all_tail_calls, 0x7c) 351fc4f4269SchristosDW_AT (DW_AT_call_return_pc, 0x7d) 352fc4f4269SchristosDW_AT (DW_AT_call_value, 0x7e) 353fc4f4269SchristosDW_AT (DW_AT_call_origin, 0x7f) 354fc4f4269SchristosDW_AT (DW_AT_call_parameter, 0x80) 355fc4f4269SchristosDW_AT (DW_AT_call_pc, 0x81) 356fc4f4269SchristosDW_AT (DW_AT_call_tail_call, 0x82) 357fc4f4269SchristosDW_AT (DW_AT_call_target, 0x83) 358fc4f4269SchristosDW_AT (DW_AT_call_target_clobbered, 0x84) 359fc4f4269SchristosDW_AT (DW_AT_call_data_location, 0x85) 360fc4f4269SchristosDW_AT (DW_AT_call_data_value, 0x86) 3619573673dSchristosDW_AT (DW_AT_noreturn, 0x87) 362fc4f4269SchristosDW_AT (DW_AT_alignment, 0x88) 363fc4f4269SchristosDW_AT (DW_AT_export_symbols, 0x89) 364fc4f4269SchristosDW_AT (DW_AT_deleted, 0x8a) 365fc4f4269SchristosDW_AT (DW_AT_defaulted, 0x8b) 366fc4f4269SchristosDW_AT (DW_AT_loclists_base, 0x8c) 367883529b6Schristos 368883529b6SchristosDW_AT_DUP (DW_AT_lo_user, 0x2000) /* Implementation-defined range start. */ 369883529b6SchristosDW_AT_DUP (DW_AT_hi_user, 0x3fff) /* Implementation-defined range end. */ 370883529b6Schristos 371883529b6Schristos/* SGI/MIPS extensions. */ 372883529b6SchristosDW_AT (DW_AT_MIPS_fde, 0x2001) 373883529b6SchristosDW_AT (DW_AT_MIPS_loop_begin, 0x2002) 374883529b6SchristosDW_AT (DW_AT_MIPS_tail_loop_begin, 0x2003) 375883529b6SchristosDW_AT (DW_AT_MIPS_epilog_begin, 0x2004) 376883529b6SchristosDW_AT (DW_AT_MIPS_loop_unroll_factor, 0x2005) 377883529b6SchristosDW_AT (DW_AT_MIPS_software_pipeline_depth, 0x2006) 378883529b6SchristosDW_AT (DW_AT_MIPS_linkage_name, 0x2007) 379883529b6SchristosDW_AT (DW_AT_MIPS_stride, 0x2008) 380883529b6SchristosDW_AT (DW_AT_MIPS_abstract_name, 0x2009) 381883529b6SchristosDW_AT (DW_AT_MIPS_clone_origin, 0x200a) 382883529b6SchristosDW_AT (DW_AT_MIPS_has_inlines, 0x200b) 383883529b6Schristos/* HP extensions. */ 384883529b6SchristosDW_AT (DW_AT_HP_block_index, 0x2000) 385883529b6SchristosDW_AT_DUP (DW_AT_HP_unmodifiable, 0x2001) /* Same as DW_AT_MIPS_fde. */ 386883529b6SchristosDW_AT_DUP (DW_AT_HP_prologue, 0x2005) /* Same as DW_AT_MIPS_loop_unroll. */ 387883529b6SchristosDW_AT_DUP (DW_AT_HP_epilogue, 0x2008) /* Same as DW_AT_MIPS_stride. */ 388883529b6SchristosDW_AT (DW_AT_HP_actuals_stmt_list, 0x2010) 389883529b6SchristosDW_AT (DW_AT_HP_proc_per_section, 0x2011) 390883529b6SchristosDW_AT (DW_AT_HP_raw_data_ptr, 0x2012) 391883529b6SchristosDW_AT (DW_AT_HP_pass_by_reference, 0x2013) 392883529b6SchristosDW_AT (DW_AT_HP_opt_level, 0x2014) 393883529b6SchristosDW_AT (DW_AT_HP_prof_version_id, 0x2015) 394883529b6SchristosDW_AT (DW_AT_HP_opt_flags, 0x2016) 395883529b6SchristosDW_AT (DW_AT_HP_cold_region_low_pc, 0x2017) 396883529b6SchristosDW_AT (DW_AT_HP_cold_region_high_pc, 0x2018) 397883529b6SchristosDW_AT (DW_AT_HP_all_variables_modifiable, 0x2019) 398883529b6SchristosDW_AT (DW_AT_HP_linkage_name, 0x201a) 399883529b6SchristosDW_AT (DW_AT_HP_prof_flags, 0x201b) /* In comp unit of procs_info for -g. */ 400883529b6SchristosDW_AT (DW_AT_HP_unit_name, 0x201f) 401883529b6SchristosDW_AT (DW_AT_HP_unit_size, 0x2020) 402883529b6SchristosDW_AT (DW_AT_HP_widened_byte_size, 0x2021) 403883529b6SchristosDW_AT (DW_AT_HP_definition_points, 0x2022) 404883529b6SchristosDW_AT (DW_AT_HP_default_location, 0x2023) 405883529b6SchristosDW_AT (DW_AT_HP_is_result_param, 0x2029) 406883529b6Schristos 407883529b6Schristos/* GNU extensions. */ 408883529b6SchristosDW_AT (DW_AT_sf_names, 0x2101) 409883529b6SchristosDW_AT (DW_AT_src_info, 0x2102) 410883529b6SchristosDW_AT (DW_AT_mac_info, 0x2103) 411883529b6SchristosDW_AT (DW_AT_src_coords, 0x2104) 412883529b6SchristosDW_AT (DW_AT_body_begin, 0x2105) 413883529b6SchristosDW_AT (DW_AT_body_end, 0x2106) 414883529b6SchristosDW_AT (DW_AT_GNU_vector, 0x2107) 415883529b6Schristos/* Thread-safety annotations. 416883529b6Schristos See http://gcc.gnu.org/wiki/ThreadSafetyAnnotation . */ 417883529b6SchristosDW_AT (DW_AT_GNU_guarded_by, 0x2108) 418883529b6SchristosDW_AT (DW_AT_GNU_pt_guarded_by, 0x2109) 419883529b6SchristosDW_AT (DW_AT_GNU_guarded, 0x210a) 420883529b6SchristosDW_AT (DW_AT_GNU_pt_guarded, 0x210b) 421883529b6SchristosDW_AT (DW_AT_GNU_locks_excluded, 0x210c) 422883529b6SchristosDW_AT (DW_AT_GNU_exclusive_locks_required, 0x210d) 423883529b6SchristosDW_AT (DW_AT_GNU_shared_locks_required, 0x210e) 424883529b6Schristos/* One-definition rule violation detection. 425883529b6Schristos See http://gcc.gnu.org/wiki/DwarfSeparateTypeInfo . */ 426883529b6SchristosDW_AT (DW_AT_GNU_odr_signature, 0x210f) 427883529b6Schristos/* Template template argument name. 428883529b6Schristos See http://gcc.gnu.org/wiki/TemplateParmsDwarf . */ 429883529b6SchristosDW_AT (DW_AT_GNU_template_name, 0x2110) 430883529b6Schristos/* The GNU call site extension. 431883529b6Schristos See http://www.dwarfstd.org/ShowIssue.php?issue=100909.2&type=open . */ 432883529b6SchristosDW_AT (DW_AT_GNU_call_site_value, 0x2111) 433883529b6SchristosDW_AT (DW_AT_GNU_call_site_data_value, 0x2112) 434883529b6SchristosDW_AT (DW_AT_GNU_call_site_target, 0x2113) 435883529b6SchristosDW_AT (DW_AT_GNU_call_site_target_clobbered, 0x2114) 436883529b6SchristosDW_AT (DW_AT_GNU_tail_call, 0x2115) 437883529b6SchristosDW_AT (DW_AT_GNU_all_tail_call_sites, 0x2116) 438883529b6SchristosDW_AT (DW_AT_GNU_all_call_sites, 0x2117) 439883529b6SchristosDW_AT (DW_AT_GNU_all_source_call_sites, 0x2118) 440883529b6Schristos/* Section offset into .debug_macro section. */ 441883529b6SchristosDW_AT (DW_AT_GNU_macros, 0x2119) 4429573673dSchristos/* Attribute for C++ deleted special member functions (= delete;). */ 4439573673dSchristosDW_AT (DW_AT_GNU_deleted, 0x211a) 444883529b6Schristos/* Extensions for Fission. See http://gcc.gnu.org/wiki/DebugFission. */ 445883529b6SchristosDW_AT (DW_AT_GNU_dwo_name, 0x2130) 446883529b6SchristosDW_AT (DW_AT_GNU_dwo_id, 0x2131) 447883529b6SchristosDW_AT (DW_AT_GNU_ranges_base, 0x2132) 448883529b6SchristosDW_AT (DW_AT_GNU_addr_base, 0x2133) 449883529b6SchristosDW_AT (DW_AT_GNU_pubnames, 0x2134) 450883529b6SchristosDW_AT (DW_AT_GNU_pubtypes, 0x2135) 4519573673dSchristos/* Attribute for discriminator. 4529573673dSchristos See http://gcc.gnu.org/wiki/Discriminator */ 4539573673dSchristosDW_AT (DW_AT_GNU_discriminator, 0x2136) 454fc4f4269SchristosDW_AT (DW_AT_GNU_locviews, 0x2137) 455fc4f4269SchristosDW_AT (DW_AT_GNU_entry_view, 0x2138) 456883529b6Schristos/* VMS extensions. */ 457883529b6SchristosDW_AT (DW_AT_VMS_rtnbeg_pd_address, 0x2201) 458883529b6Schristos/* GNAT extensions. */ 459883529b6Schristos/* GNAT descriptive type. 460883529b6Schristos See http://gcc.gnu.org/wiki/DW_AT_GNAT_descriptive_type . */ 461883529b6SchristosDW_AT (DW_AT_use_GNAT_descriptive_type, 0x2301) 462883529b6SchristosDW_AT (DW_AT_GNAT_descriptive_type, 0x2302) 4639573673dSchristos/* Rational constant extension. 4649573673dSchristos See https://gcc.gnu.org/wiki/DW_AT_GNU_numerator_denominator . */ 4659573673dSchristosDW_TAG (DW_AT_GNU_numerator, 0x2303) 4669573673dSchristosDW_TAG (DW_AT_GNU_denominator, 0x2304) 4679573673dSchristos/* Biased integer extension. 4689573673dSchristos See https://gcc.gnu.org/wiki/DW_AT_GNU_bias . */ 4699573673dSchristosDW_TAG (DW_AT_GNU_bias, 0x2305) 470883529b6Schristos/* UPC extension. */ 471883529b6SchristosDW_AT (DW_AT_upc_threads_scaled, 0x3210) 472883529b6Schristos/* PGI (STMicroelectronics) extensions. */ 473883529b6SchristosDW_AT (DW_AT_PGI_lbase, 0x3a00) 474883529b6SchristosDW_AT (DW_AT_PGI_soffset, 0x3a01) 475883529b6SchristosDW_AT (DW_AT_PGI_lstride, 0x3a02) 4769573673dSchristos/* Apple extensions. */ 4779573673dSchristosDW_AT (DW_AT_APPLE_optimized, 0x3fe1) 4789573673dSchristosDW_AT (DW_AT_APPLE_flags, 0x3fe2) 4799573673dSchristosDW_AT (DW_AT_APPLE_isa, 0x3fe3) 4809573673dSchristosDW_AT (DW_AT_APPLE_block, 0x3fe4) 4819573673dSchristosDW_AT (DW_AT_APPLE_major_runtime_vers, 0x3fe5) 4829573673dSchristosDW_AT (DW_AT_APPLE_runtime_class, 0x3fe6) 4839573673dSchristosDW_AT (DW_AT_APPLE_omit_frame_ptr, 0x3fe7) 4849573673dSchristosDW_AT (DW_AT_APPLE_property_name, 0x3fe8) 4859573673dSchristosDW_AT (DW_AT_APPLE_property_getter, 0x3fe9) 4869573673dSchristosDW_AT (DW_AT_APPLE_property_setter, 0x3fea) 4879573673dSchristosDW_AT (DW_AT_APPLE_property_attribute, 0x3feb) 4889573673dSchristosDW_AT (DW_AT_APPLE_objc_complete_type, 0x3fec) 4899573673dSchristosDW_AT (DW_AT_APPLE_property, 0x3fed) 490883529b6SchristosDW_END_AT 491883529b6Schristos 492883529b6SchristosDW_FIRST_OP (DW_OP_addr, 0x03) 493883529b6SchristosDW_OP (DW_OP_deref, 0x06) 494883529b6SchristosDW_OP (DW_OP_const1u, 0x08) 495883529b6SchristosDW_OP (DW_OP_const1s, 0x09) 496883529b6SchristosDW_OP (DW_OP_const2u, 0x0a) 497883529b6SchristosDW_OP (DW_OP_const2s, 0x0b) 498883529b6SchristosDW_OP (DW_OP_const4u, 0x0c) 499883529b6SchristosDW_OP (DW_OP_const4s, 0x0d) 500883529b6SchristosDW_OP (DW_OP_const8u, 0x0e) 501883529b6SchristosDW_OP (DW_OP_const8s, 0x0f) 502883529b6SchristosDW_OP (DW_OP_constu, 0x10) 503883529b6SchristosDW_OP (DW_OP_consts, 0x11) 504883529b6SchristosDW_OP (DW_OP_dup, 0x12) 505883529b6SchristosDW_OP (DW_OP_drop, 0x13) 506883529b6SchristosDW_OP (DW_OP_over, 0x14) 507883529b6SchristosDW_OP (DW_OP_pick, 0x15) 508883529b6SchristosDW_OP (DW_OP_swap, 0x16) 509883529b6SchristosDW_OP (DW_OP_rot, 0x17) 510883529b6SchristosDW_OP (DW_OP_xderef, 0x18) 511883529b6SchristosDW_OP (DW_OP_abs, 0x19) 512883529b6SchristosDW_OP (DW_OP_and, 0x1a) 513883529b6SchristosDW_OP (DW_OP_div, 0x1b) 514883529b6SchristosDW_OP (DW_OP_minus, 0x1c) 515883529b6SchristosDW_OP (DW_OP_mod, 0x1d) 516883529b6SchristosDW_OP (DW_OP_mul, 0x1e) 517883529b6SchristosDW_OP (DW_OP_neg, 0x1f) 518883529b6SchristosDW_OP (DW_OP_not, 0x20) 519883529b6SchristosDW_OP (DW_OP_or, 0x21) 520883529b6SchristosDW_OP (DW_OP_plus, 0x22) 521883529b6SchristosDW_OP (DW_OP_plus_uconst, 0x23) 522883529b6SchristosDW_OP (DW_OP_shl, 0x24) 523883529b6SchristosDW_OP (DW_OP_shr, 0x25) 524883529b6SchristosDW_OP (DW_OP_shra, 0x26) 525883529b6SchristosDW_OP (DW_OP_xor, 0x27) 526883529b6SchristosDW_OP (DW_OP_bra, 0x28) 527883529b6SchristosDW_OP (DW_OP_eq, 0x29) 528883529b6SchristosDW_OP (DW_OP_ge, 0x2a) 529883529b6SchristosDW_OP (DW_OP_gt, 0x2b) 530883529b6SchristosDW_OP (DW_OP_le, 0x2c) 531883529b6SchristosDW_OP (DW_OP_lt, 0x2d) 532883529b6SchristosDW_OP (DW_OP_ne, 0x2e) 533883529b6SchristosDW_OP (DW_OP_skip, 0x2f) 534883529b6SchristosDW_OP (DW_OP_lit0, 0x30) 535883529b6SchristosDW_OP (DW_OP_lit1, 0x31) 536883529b6SchristosDW_OP (DW_OP_lit2, 0x32) 537883529b6SchristosDW_OP (DW_OP_lit3, 0x33) 538883529b6SchristosDW_OP (DW_OP_lit4, 0x34) 539883529b6SchristosDW_OP (DW_OP_lit5, 0x35) 540883529b6SchristosDW_OP (DW_OP_lit6, 0x36) 541883529b6SchristosDW_OP (DW_OP_lit7, 0x37) 542883529b6SchristosDW_OP (DW_OP_lit8, 0x38) 543883529b6SchristosDW_OP (DW_OP_lit9, 0x39) 544883529b6SchristosDW_OP (DW_OP_lit10, 0x3a) 545883529b6SchristosDW_OP (DW_OP_lit11, 0x3b) 546883529b6SchristosDW_OP (DW_OP_lit12, 0x3c) 547883529b6SchristosDW_OP (DW_OP_lit13, 0x3d) 548883529b6SchristosDW_OP (DW_OP_lit14, 0x3e) 549883529b6SchristosDW_OP (DW_OP_lit15, 0x3f) 550883529b6SchristosDW_OP (DW_OP_lit16, 0x40) 551883529b6SchristosDW_OP (DW_OP_lit17, 0x41) 552883529b6SchristosDW_OP (DW_OP_lit18, 0x42) 553883529b6SchristosDW_OP (DW_OP_lit19, 0x43) 554883529b6SchristosDW_OP (DW_OP_lit20, 0x44) 555883529b6SchristosDW_OP (DW_OP_lit21, 0x45) 556883529b6SchristosDW_OP (DW_OP_lit22, 0x46) 557883529b6SchristosDW_OP (DW_OP_lit23, 0x47) 558883529b6SchristosDW_OP (DW_OP_lit24, 0x48) 559883529b6SchristosDW_OP (DW_OP_lit25, 0x49) 560883529b6SchristosDW_OP (DW_OP_lit26, 0x4a) 561883529b6SchristosDW_OP (DW_OP_lit27, 0x4b) 562883529b6SchristosDW_OP (DW_OP_lit28, 0x4c) 563883529b6SchristosDW_OP (DW_OP_lit29, 0x4d) 564883529b6SchristosDW_OP (DW_OP_lit30, 0x4e) 565883529b6SchristosDW_OP (DW_OP_lit31, 0x4f) 566883529b6SchristosDW_OP (DW_OP_reg0, 0x50) 567883529b6SchristosDW_OP (DW_OP_reg1, 0x51) 568883529b6SchristosDW_OP (DW_OP_reg2, 0x52) 569883529b6SchristosDW_OP (DW_OP_reg3, 0x53) 570883529b6SchristosDW_OP (DW_OP_reg4, 0x54) 571883529b6SchristosDW_OP (DW_OP_reg5, 0x55) 572883529b6SchristosDW_OP (DW_OP_reg6, 0x56) 573883529b6SchristosDW_OP (DW_OP_reg7, 0x57) 574883529b6SchristosDW_OP (DW_OP_reg8, 0x58) 575883529b6SchristosDW_OP (DW_OP_reg9, 0x59) 576883529b6SchristosDW_OP (DW_OP_reg10, 0x5a) 577883529b6SchristosDW_OP (DW_OP_reg11, 0x5b) 578883529b6SchristosDW_OP (DW_OP_reg12, 0x5c) 579883529b6SchristosDW_OP (DW_OP_reg13, 0x5d) 580883529b6SchristosDW_OP (DW_OP_reg14, 0x5e) 581883529b6SchristosDW_OP (DW_OP_reg15, 0x5f) 582883529b6SchristosDW_OP (DW_OP_reg16, 0x60) 583883529b6SchristosDW_OP (DW_OP_reg17, 0x61) 584883529b6SchristosDW_OP (DW_OP_reg18, 0x62) 585883529b6SchristosDW_OP (DW_OP_reg19, 0x63) 586883529b6SchristosDW_OP (DW_OP_reg20, 0x64) 587883529b6SchristosDW_OP (DW_OP_reg21, 0x65) 588883529b6SchristosDW_OP (DW_OP_reg22, 0x66) 589883529b6SchristosDW_OP (DW_OP_reg23, 0x67) 590883529b6SchristosDW_OP (DW_OP_reg24, 0x68) 591883529b6SchristosDW_OP (DW_OP_reg25, 0x69) 592883529b6SchristosDW_OP (DW_OP_reg26, 0x6a) 593883529b6SchristosDW_OP (DW_OP_reg27, 0x6b) 594883529b6SchristosDW_OP (DW_OP_reg28, 0x6c) 595883529b6SchristosDW_OP (DW_OP_reg29, 0x6d) 596883529b6SchristosDW_OP (DW_OP_reg30, 0x6e) 597883529b6SchristosDW_OP (DW_OP_reg31, 0x6f) 598883529b6SchristosDW_OP (DW_OP_breg0, 0x70) 599883529b6SchristosDW_OP (DW_OP_breg1, 0x71) 600883529b6SchristosDW_OP (DW_OP_breg2, 0x72) 601883529b6SchristosDW_OP (DW_OP_breg3, 0x73) 602883529b6SchristosDW_OP (DW_OP_breg4, 0x74) 603883529b6SchristosDW_OP (DW_OP_breg5, 0x75) 604883529b6SchristosDW_OP (DW_OP_breg6, 0x76) 605883529b6SchristosDW_OP (DW_OP_breg7, 0x77) 606883529b6SchristosDW_OP (DW_OP_breg8, 0x78) 607883529b6SchristosDW_OP (DW_OP_breg9, 0x79) 608883529b6SchristosDW_OP (DW_OP_breg10, 0x7a) 609883529b6SchristosDW_OP (DW_OP_breg11, 0x7b) 610883529b6SchristosDW_OP (DW_OP_breg12, 0x7c) 611883529b6SchristosDW_OP (DW_OP_breg13, 0x7d) 612883529b6SchristosDW_OP (DW_OP_breg14, 0x7e) 613883529b6SchristosDW_OP (DW_OP_breg15, 0x7f) 614883529b6SchristosDW_OP (DW_OP_breg16, 0x80) 615883529b6SchristosDW_OP (DW_OP_breg17, 0x81) 616883529b6SchristosDW_OP (DW_OP_breg18, 0x82) 617883529b6SchristosDW_OP (DW_OP_breg19, 0x83) 618883529b6SchristosDW_OP (DW_OP_breg20, 0x84) 619883529b6SchristosDW_OP (DW_OP_breg21, 0x85) 620883529b6SchristosDW_OP (DW_OP_breg22, 0x86) 621883529b6SchristosDW_OP (DW_OP_breg23, 0x87) 622883529b6SchristosDW_OP (DW_OP_breg24, 0x88) 623883529b6SchristosDW_OP (DW_OP_breg25, 0x89) 624883529b6SchristosDW_OP (DW_OP_breg26, 0x8a) 625883529b6SchristosDW_OP (DW_OP_breg27, 0x8b) 626883529b6SchristosDW_OP (DW_OP_breg28, 0x8c) 627883529b6SchristosDW_OP (DW_OP_breg29, 0x8d) 628883529b6SchristosDW_OP (DW_OP_breg30, 0x8e) 629883529b6SchristosDW_OP (DW_OP_breg31, 0x8f) 630883529b6SchristosDW_OP (DW_OP_regx, 0x90) 631883529b6SchristosDW_OP (DW_OP_fbreg, 0x91) 632883529b6SchristosDW_OP (DW_OP_bregx, 0x92) 633883529b6SchristosDW_OP (DW_OP_piece, 0x93) 634883529b6SchristosDW_OP (DW_OP_deref_size, 0x94) 635883529b6SchristosDW_OP (DW_OP_xderef_size, 0x95) 636883529b6SchristosDW_OP (DW_OP_nop, 0x96) 637883529b6Schristos/* DWARF 3 extensions. */ 638883529b6SchristosDW_OP (DW_OP_push_object_address, 0x97) 639883529b6SchristosDW_OP (DW_OP_call2, 0x98) 640883529b6SchristosDW_OP (DW_OP_call4, 0x99) 641883529b6SchristosDW_OP (DW_OP_call_ref, 0x9a) 642883529b6SchristosDW_OP (DW_OP_form_tls_address, 0x9b) 643883529b6SchristosDW_OP (DW_OP_call_frame_cfa, 0x9c) 644883529b6SchristosDW_OP (DW_OP_bit_piece, 0x9d) 645883529b6Schristos 646883529b6Schristos/* DWARF 4 extensions. */ 647883529b6SchristosDW_OP (DW_OP_implicit_value, 0x9e) 648883529b6SchristosDW_OP (DW_OP_stack_value, 0x9f) 649883529b6Schristos 650fc4f4269Schristos/* DWARF 5 extensions. */ 651fc4f4269SchristosDW_OP (DW_OP_implicit_pointer, 0xa0) 652fc4f4269SchristosDW_OP (DW_OP_addrx, 0xa1) 653fc4f4269SchristosDW_OP (DW_OP_constx, 0xa2) 654fc4f4269SchristosDW_OP (DW_OP_entry_value, 0xa3) 655fc4f4269SchristosDW_OP (DW_OP_const_type, 0xa4) 656fc4f4269SchristosDW_OP (DW_OP_regval_type, 0xa5) 657fc4f4269SchristosDW_OP (DW_OP_deref_type, 0xa6) 658fc4f4269SchristosDW_OP (DW_OP_xderef_type, 0xa7) 659fc4f4269SchristosDW_OP (DW_OP_convert, 0xa8) 660fc4f4269SchristosDW_OP (DW_OP_reinterpret, 0xa9) 661fc4f4269Schristos 662883529b6SchristosDW_OP_DUP (DW_OP_lo_user, 0xe0) /* Implementation-defined range start. */ 663883529b6SchristosDW_OP_DUP (DW_OP_hi_user, 0xff) /* Implementation-defined range end. */ 664883529b6Schristos 665883529b6Schristos/* GNU extensions. */ 666883529b6SchristosDW_OP (DW_OP_GNU_push_tls_address, 0xe0) 667883529b6Schristos/* The following is for marking variables that are uninitialized. */ 668883529b6SchristosDW_OP (DW_OP_GNU_uninit, 0xf0) 669883529b6SchristosDW_OP (DW_OP_GNU_encoded_addr, 0xf1) 670883529b6Schristos/* The GNU implicit pointer extension. 671883529b6Schristos See http://www.dwarfstd.org/ShowIssue.php?issue=100831.1&type=open . */ 672883529b6SchristosDW_OP (DW_OP_GNU_implicit_pointer, 0xf2) 673883529b6Schristos/* The GNU entry value extension. 674883529b6Schristos See http://www.dwarfstd.org/ShowIssue.php?issue=100909.1&type=open . */ 675883529b6SchristosDW_OP (DW_OP_GNU_entry_value, 0xf3) 676883529b6Schristos/* The GNU typed stack extension. 677883529b6Schristos See http://www.dwarfstd.org/doc/040408.1.html . */ 678883529b6SchristosDW_OP (DW_OP_GNU_const_type, 0xf4) 679883529b6SchristosDW_OP (DW_OP_GNU_regval_type, 0xf5) 680883529b6SchristosDW_OP (DW_OP_GNU_deref_type, 0xf6) 681883529b6SchristosDW_OP (DW_OP_GNU_convert, 0xf7) 682883529b6SchristosDW_OP (DW_OP_GNU_reinterpret, 0xf9) 683883529b6Schristos/* The GNU parameter ref extension. */ 684883529b6SchristosDW_OP (DW_OP_GNU_parameter_ref, 0xfa) 6859573673dSchristos/* Extensions for Fission. See http://gcc.gnu.org/wiki/DebugFission. */ 686883529b6SchristosDW_OP (DW_OP_GNU_addr_index, 0xfb) 687883529b6SchristosDW_OP (DW_OP_GNU_const_index, 0xfc) 688fc4f4269Schristos/* The GNU variable value extension. 689fc4f4269Schristos See http://dwarfstd.org/ShowIssue.php?issue=161109.2 . */ 690fc4f4269SchristosDW_OP (DW_OP_GNU_variable_value, 0xfd) 691883529b6Schristos/* HP extensions. */ 692883529b6SchristosDW_OP_DUP (DW_OP_HP_unknown, 0xe0) /* Ouch, the same as GNU_push_tls_address. */ 693883529b6SchristosDW_OP (DW_OP_HP_is_value, 0xe1) 694883529b6SchristosDW_OP (DW_OP_HP_fltconst4, 0xe2) 695883529b6SchristosDW_OP (DW_OP_HP_fltconst8, 0xe3) 696883529b6SchristosDW_OP (DW_OP_HP_mod_range, 0xe4) 697883529b6SchristosDW_OP (DW_OP_HP_unmod_range, 0xe5) 698883529b6SchristosDW_OP (DW_OP_HP_tls, 0xe6) 699883529b6Schristos/* PGI (STMicroelectronics) extensions. */ 700883529b6SchristosDW_OP (DW_OP_PGI_omp_thread_num, 0xf8) 701fc4f4269Schristos/* AARCH64 extensions. 702fc4f4269Schristos DW_OP_AARCH64_operation takes one mandatory unsigned LEB128 operand. 703fc4f4269Schristos Bits[6:0] of this operand is the action code, all others bits are initialized 704fc4f4269Schristos to 0 except explicitly documented for one action. Please refer AArch64 DWARF 705fc4f4269Schristos ABI documentation for details. */ 706fc4f4269SchristosDW_OP (DW_OP_AARCH64_operation, 0xea) 707883529b6SchristosDW_END_OP 708883529b6Schristos 709883529b6SchristosDW_FIRST_ATE (DW_ATE_void, 0x0) 710883529b6SchristosDW_ATE (DW_ATE_address, 0x1) 711883529b6SchristosDW_ATE (DW_ATE_boolean, 0x2) 712883529b6SchristosDW_ATE (DW_ATE_complex_float, 0x3) 713883529b6SchristosDW_ATE (DW_ATE_float, 0x4) 714883529b6SchristosDW_ATE (DW_ATE_signed, 0x5) 715883529b6SchristosDW_ATE (DW_ATE_signed_char, 0x6) 716883529b6SchristosDW_ATE (DW_ATE_unsigned, 0x7) 717883529b6SchristosDW_ATE (DW_ATE_unsigned_char, 0x8) 718883529b6Schristos/* DWARF 3. */ 719883529b6SchristosDW_ATE (DW_ATE_imaginary_float, 0x9) 720883529b6SchristosDW_ATE (DW_ATE_packed_decimal, 0xa) 721883529b6SchristosDW_ATE (DW_ATE_numeric_string, 0xb) 722883529b6SchristosDW_ATE (DW_ATE_edited, 0xc) 723883529b6SchristosDW_ATE (DW_ATE_signed_fixed, 0xd) 724883529b6SchristosDW_ATE (DW_ATE_unsigned_fixed, 0xe) 725883529b6SchristosDW_ATE (DW_ATE_decimal_float, 0xf) 726883529b6Schristos/* DWARF 4. */ 727883529b6SchristosDW_ATE (DW_ATE_UTF, 0x10) 728fc4f4269Schristos/* DWARF 5. */ 729fc4f4269SchristosDW_ATE (DW_ATE_UCS, 0x11) 730fc4f4269SchristosDW_ATE (DW_ATE_ASCII, 0x12) 731883529b6Schristos 732883529b6SchristosDW_ATE_DUP (DW_ATE_lo_user, 0x80) 733883529b6SchristosDW_ATE_DUP (DW_ATE_hi_user, 0xff) 734883529b6Schristos 735883529b6Schristos/* HP extensions. */ 736883529b6SchristosDW_ATE (DW_ATE_HP_float80, 0x80) /* Floating-point (80 bit). */ 737883529b6SchristosDW_ATE (DW_ATE_HP_complex_float80, 0x81) /* Complex floating-point (80 bit). */ 738883529b6SchristosDW_ATE (DW_ATE_HP_float128, 0x82) /* Floating-point (128 bit). */ 739883529b6SchristosDW_ATE (DW_ATE_HP_complex_float128, 0x83) /* Complex fp (128 bit). */ 740883529b6SchristosDW_ATE (DW_ATE_HP_floathpintel, 0x84) /* Floating-point (82 bit IA64). */ 741883529b6SchristosDW_ATE (DW_ATE_HP_imaginary_float80, 0x85) 742883529b6SchristosDW_ATE (DW_ATE_HP_imaginary_float128, 0x86) 743883529b6SchristosDW_ATE (DW_ATE_HP_VAX_float, 0x88) /* F or G floating. */ 744883529b6SchristosDW_ATE (DW_ATE_HP_VAX_float_d, 0x89) /* D floating. */ 745883529b6SchristosDW_ATE (DW_ATE_HP_packed_decimal, 0x8a) /* Cobol. */ 746883529b6SchristosDW_ATE (DW_ATE_HP_zoned_decimal, 0x8b) /* Cobol. */ 747883529b6SchristosDW_ATE (DW_ATE_HP_edited, 0x8c) /* Cobol. */ 748883529b6SchristosDW_ATE (DW_ATE_HP_signed_fixed, 0x8d) /* Cobol. */ 749883529b6SchristosDW_ATE (DW_ATE_HP_unsigned_fixed, 0x8e) /* Cobol. */ 750883529b6SchristosDW_ATE (DW_ATE_HP_VAX_complex_float, 0x8f) /* F or G floating complex. */ 751883529b6SchristosDW_ATE (DW_ATE_HP_VAX_complex_float_d, 0x90) /* D floating complex. */ 752883529b6Schristos 753883529b6SchristosDW_END_ATE 754883529b6Schristos 755883529b6SchristosDW_FIRST_CFA (DW_CFA_advance_loc, 0x40) 756883529b6SchristosDW_CFA (DW_CFA_offset, 0x80) 757883529b6SchristosDW_CFA (DW_CFA_restore, 0xc0) 758883529b6SchristosDW_CFA (DW_CFA_nop, 0x00) 759883529b6SchristosDW_CFA (DW_CFA_set_loc, 0x01) 760883529b6SchristosDW_CFA (DW_CFA_advance_loc1, 0x02) 761883529b6SchristosDW_CFA (DW_CFA_advance_loc2, 0x03) 762883529b6SchristosDW_CFA (DW_CFA_advance_loc4, 0x04) 763883529b6SchristosDW_CFA (DW_CFA_offset_extended, 0x05) 764883529b6SchristosDW_CFA (DW_CFA_restore_extended, 0x06) 765883529b6SchristosDW_CFA (DW_CFA_undefined, 0x07) 766883529b6SchristosDW_CFA (DW_CFA_same_value, 0x08) 767883529b6SchristosDW_CFA (DW_CFA_register, 0x09) 768883529b6SchristosDW_CFA (DW_CFA_remember_state, 0x0a) 769883529b6SchristosDW_CFA (DW_CFA_restore_state, 0x0b) 770883529b6SchristosDW_CFA (DW_CFA_def_cfa, 0x0c) 771883529b6SchristosDW_CFA (DW_CFA_def_cfa_register, 0x0d) 772883529b6SchristosDW_CFA (DW_CFA_def_cfa_offset, 0x0e) 773883529b6Schristos/* DWARF 3. */ 774883529b6SchristosDW_CFA (DW_CFA_def_cfa_expression, 0x0f) 775883529b6SchristosDW_CFA (DW_CFA_expression, 0x10) 776883529b6SchristosDW_CFA (DW_CFA_offset_extended_sf, 0x11) 777883529b6SchristosDW_CFA (DW_CFA_def_cfa_sf, 0x12) 778883529b6SchristosDW_CFA (DW_CFA_def_cfa_offset_sf, 0x13) 779883529b6SchristosDW_CFA (DW_CFA_val_offset, 0x14) 780883529b6SchristosDW_CFA (DW_CFA_val_offset_sf, 0x15) 781883529b6SchristosDW_CFA (DW_CFA_val_expression, 0x16) 782883529b6Schristos 783883529b6SchristosDW_CFA (DW_CFA_lo_user, 0x1c) 784883529b6SchristosDW_CFA (DW_CFA_hi_user, 0x3f) 785883529b6Schristos 786883529b6Schristos/* SGI/MIPS specific. */ 787883529b6SchristosDW_CFA (DW_CFA_MIPS_advance_loc8, 0x1d) 788fc4f4269Schristos/* GNU extensions. 789fc4f4269Schristos NOTE: DW_CFA_GNU_window_save is multiplexed on Sparc and AArch64. */ 790883529b6SchristosDW_CFA (DW_CFA_GNU_window_save, 0x2d) 791fc4f4269SchristosDW_CFA_DUP (DW_CFA_AARCH64_negate_ra_state, 0x2d) 792883529b6SchristosDW_CFA (DW_CFA_GNU_args_size, 0x2e) 793883529b6SchristosDW_CFA (DW_CFA_GNU_negative_offset_extended, 0x2f) 794883529b6Schristos 795883529b6SchristosDW_END_CFA 796fc4f4269Schristos 797fc4f4269Schristos/* Index attributes in the Abbreviations Table. */ 798fc4f4269SchristosDW_FIRST_IDX (DW_IDX_compile_unit, 1) 799fc4f4269SchristosDW_IDX (DW_IDX_type_unit, 2) 800fc4f4269SchristosDW_IDX (DW_IDX_die_offset, 3) 801fc4f4269SchristosDW_IDX (DW_IDX_parent, 4) 802fc4f4269SchristosDW_IDX (DW_IDX_type_hash, 5) 803fc4f4269SchristosDW_IDX_DUP (DW_IDX_lo_user, 0x2000) 804fc4f4269SchristosDW_IDX (DW_IDX_hi_user, 0x3fff) 805*cb63e24eSchristos/* Internal linkage. A flag. */ 806fc4f4269SchristosDW_IDX (DW_IDX_GNU_internal, 0x2000) 807*cb63e24eSchristos/* External linkage. A flag. Note that gdb no longer generates this; 808*cb63e24eSchristos the default is to assume external linkage. */ 809fc4f4269SchristosDW_IDX (DW_IDX_GNU_external, 0x2001) 810*cb63e24eSchristos/* This entry is the program's entry point. A flag. */ 811*cb63e24eSchristosDW_IDX (DW_IDX_GNU_main, 0x2002) 812*cb63e24eSchristos/* Language for this entry. A DW_LANG_* value. */ 813*cb63e24eSchristosDW_IDX (DW_IDX_GNU_language, 0x2003) 814*cb63e24eSchristos/* This entry is a linkage name. A flag. */ 815*cb63e24eSchristosDW_IDX (DW_IDX_GNU_linkage_name, 0x2004) 816fc4f4269SchristosDW_END_IDX 8174f645668Schristos 8184f645668Schristos/* DWARF5 Unit type header encodings */ 8194f645668SchristosDW_FIRST_UT (DW_UT_compile, 0x01) 8204f645668SchristosDW_UT (DW_UT_type, 0x02) 8214f645668SchristosDW_UT (DW_UT_partial, 0x03) 8224f645668SchristosDW_UT (DW_UT_skeleton, 0x04) 8234f645668SchristosDW_UT (DW_UT_split_compile, 0x05) 8244f645668SchristosDW_UT (DW_UT_split_type, 0x06) 8254f645668SchristosDW_UT (DW_UT_lo_user, 0x80) 8264f645668SchristosDW_UT (DW_UT_hi_user, 0xff) 8274f645668SchristosDW_END_UT 828