xref: /netbsd-src/external/gpl3/binutils/dist/include/dwarf2.def (revision cb63e24e8d6aae7ddac1859a9015f48b1d8bd90e)
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