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