Remove all RTEMS COFF targets
[deliverable/binutils-gdb.git] / include / dwarf2.def
CommitLineData
fa66ec53
DD
1/* -*- c -*-
2 Declarations and definitions of codes relating to the DWARF2 and
3 DWARF3 symbolic debugging information formats.
2571583a 4 Copyright (C) 1992-2017 Free Software Foundation, Inc.
fa66ec53
DD
5
6 Written by Gary Funck (gary@intrepid.com) The Ada Joint Program
7 Office (AJPO), Florida State University and Silicon Graphics Inc.
8 provided support for this effort -- June 21, 1995.
9
10 Derived from the DWARF 1 implementation written by Ron Guilmette
11 (rfg@netcom.com), November 1990.
12
13 This file is part of GCC.
14
15 GCC is free software; you can redistribute it and/or modify it under
16 the terms of the GNU General Public License as published by the Free
17 Software Foundation; either version 3, or (at your option) any later
18 version.
19
20 GCC is distributed in the hope that it will be useful, but WITHOUT
21 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
22 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
23 License for more details.
24
25 Under Section 7 of GPL version 3, you are granted additional
26 permissions described in the GCC Runtime Library Exception, version
27 3.1, as published by the Free Software Foundation.
28
29 You should have received a copy of the GNU General Public License and
30 a copy of the GCC Runtime Library Exception along with this program;
31 see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
32 <http://www.gnu.org/licenses/>. */
33
34/* This file is derived from the DWARF specification (a public document)
35 Revision 2.0.0 (July 27, 1993) developed by the UNIX International
36 Programming Languages Special Interest Group (UI/PLSIG) and distributed
37 by UNIX International. Copies of this specification are available from
38 UNIX International, 20 Waterview Boulevard, Parsippany, NJ, 07054.
39
40 This file also now contains definitions from the DWARF 3 specification
41 published Dec 20, 2005, available from: http://dwarf.freestandards.org.
42
43 This file also now contains definitions from the DWARF 4
44 specification, available from: http://dwarfstd.org/ */
45
46/* This file declares various DWARF-related constants using a set of
47 macros which can be redefined by the including file.
48
49 The macros are in sections. Each section corresponds to a single
50 set of DWARF constants and has a corresponding key. The key is
51 used in all the macro names.
52
53 The sections are TAG (for DW_TAG_ constants), FORM (DW_FORM_), AT
54 (DW_AT_), OP (DW_OP_), ATE (DW_ATE_), and CFA (DW_CFA_).
55
56 Using TAG as an example, the following macros may be used for each
57 key:
58
59 DW_FIRST_TAG(name, value) - Introduce the first DW_TAG constant.
60
61 DW_TAG(name, value) - Define a subsequent constant.
62
63 DW_TAG_DUP(name, value) - Define a subsequent constant whose value
64 is a duplicate of some other constant. Not all keys use the _DUP
65 macro form. If more than one name shares a value, then the base
66 (DW_TAG) form will be the preferred name and DW_TAG_DUP will hold
67 any alternate names.
68
69 DW_END_TAG - Invoked at the end of the DW_TAG constants. */
70
71DW_FIRST_TAG (DW_TAG_padding, 0x00)
72DW_TAG (DW_TAG_array_type, 0x01)
73DW_TAG (DW_TAG_class_type, 0x02)
74DW_TAG (DW_TAG_entry_point, 0x03)
75DW_TAG (DW_TAG_enumeration_type, 0x04)
76DW_TAG (DW_TAG_formal_parameter, 0x05)
77DW_TAG (DW_TAG_imported_declaration, 0x08)
78DW_TAG (DW_TAG_label, 0x0a)
79DW_TAG (DW_TAG_lexical_block, 0x0b)
80DW_TAG (DW_TAG_member, 0x0d)
81DW_TAG (DW_TAG_pointer_type, 0x0f)
82DW_TAG (DW_TAG_reference_type, 0x10)
83DW_TAG (DW_TAG_compile_unit, 0x11)
84DW_TAG (DW_TAG_string_type, 0x12)
85DW_TAG (DW_TAG_structure_type, 0x13)
86DW_TAG (DW_TAG_subroutine_type, 0x15)
87DW_TAG (DW_TAG_typedef, 0x16)
88DW_TAG (DW_TAG_union_type, 0x17)
89DW_TAG (DW_TAG_unspecified_parameters, 0x18)
90DW_TAG (DW_TAG_variant, 0x19)
91DW_TAG (DW_TAG_common_block, 0x1a)
92DW_TAG (DW_TAG_common_inclusion, 0x1b)
93DW_TAG (DW_TAG_inheritance, 0x1c)
94DW_TAG (DW_TAG_inlined_subroutine, 0x1d)
95DW_TAG (DW_TAG_module, 0x1e)
96DW_TAG (DW_TAG_ptr_to_member_type, 0x1f)
97DW_TAG (DW_TAG_set_type, 0x20)
98DW_TAG (DW_TAG_subrange_type, 0x21)
99DW_TAG (DW_TAG_with_stmt, 0x22)
100DW_TAG (DW_TAG_access_declaration, 0x23)
101DW_TAG (DW_TAG_base_type, 0x24)
102DW_TAG (DW_TAG_catch_block, 0x25)
103DW_TAG (DW_TAG_const_type, 0x26)
104DW_TAG (DW_TAG_constant, 0x27)
105DW_TAG (DW_TAG_enumerator, 0x28)
106DW_TAG (DW_TAG_file_type, 0x29)
107DW_TAG (DW_TAG_friend, 0x2a)
108DW_TAG (DW_TAG_namelist, 0x2b)
109DW_TAG (DW_TAG_namelist_item, 0x2c)
110DW_TAG (DW_TAG_packed_type, 0x2d)
111DW_TAG (DW_TAG_subprogram, 0x2e)
112DW_TAG (DW_TAG_template_type_param, 0x2f)
113DW_TAG (DW_TAG_template_value_param, 0x30)
114DW_TAG (DW_TAG_thrown_type, 0x31)
115DW_TAG (DW_TAG_try_block, 0x32)
116DW_TAG (DW_TAG_variant_part, 0x33)
117DW_TAG (DW_TAG_variable, 0x34)
118DW_TAG (DW_TAG_volatile_type, 0x35)
119/* DWARF 3. */
120DW_TAG (DW_TAG_dwarf_procedure, 0x36)
121DW_TAG (DW_TAG_restrict_type, 0x37)
122DW_TAG (DW_TAG_interface_type, 0x38)
123DW_TAG (DW_TAG_namespace, 0x39)
124DW_TAG (DW_TAG_imported_module, 0x3a)
125DW_TAG (DW_TAG_unspecified_type, 0x3b)
126DW_TAG (DW_TAG_partial_unit, 0x3c)
127DW_TAG (DW_TAG_imported_unit, 0x3d)
128DW_TAG (DW_TAG_condition, 0x3f)
129DW_TAG (DW_TAG_shared_type, 0x40)
130/* DWARF 4. */
131DW_TAG (DW_TAG_type_unit, 0x41)
132DW_TAG (DW_TAG_rvalue_reference_type, 0x42)
133DW_TAG (DW_TAG_template_alias, 0x43)
a2c2acaf 134/* DWARF 5. */
fb9b4b7e
NC
135DW_TAG (DW_TAG_coarray_type, 0x44)
136DW_TAG (DW_TAG_generic_subrange, 0x45)
137DW_TAG (DW_TAG_dynamic_type, 0x46)
a2c2acaf 138DW_TAG (DW_TAG_atomic_type, 0x47)
fb9b4b7e
NC
139DW_TAG (DW_TAG_call_site, 0x48)
140DW_TAG (DW_TAG_call_site_parameter, 0x49)
141DW_TAG (DW_TAG_skeleton_unit, 0x4a)
142DW_TAG (DW_TAG_immutable_type, 0x4b)
fa66ec53
DD
143
144DW_TAG_DUP (DW_TAG_lo_user, 0x4080)
145DW_TAG_DUP (DW_TAG_hi_user, 0xffff)
146
147/* SGI/MIPS Extensions. */
148DW_TAG (DW_TAG_MIPS_loop, 0x4081)
149
150/* HP extensions. See: ftp://ftp.hp.com/pub/lang/tools/WDB/wdb-4.0.tar.gz . */
151DW_TAG (DW_TAG_HP_array_descriptor, 0x4090)
152DW_TAG (DW_TAG_HP_Bliss_field, 0x4091)
153DW_TAG (DW_TAG_HP_Bliss_field_set, 0x4092)
154
155/* GNU extensions. */
156DW_TAG (DW_TAG_format_label, 0x4101) /* For FORTRAN 77 and Fortran 90. */
157DW_TAG (DW_TAG_function_template, 0x4102) /* For C++. */
158DW_TAG (DW_TAG_class_template, 0x4103) /* For C++. */
159DW_TAG (DW_TAG_GNU_BINCL, 0x4104)
160DW_TAG (DW_TAG_GNU_EINCL, 0x4105)
161/* Template template parameter.
162 See http://gcc.gnu.org/wiki/TemplateParmsDwarf . */
163DW_TAG (DW_TAG_GNU_template_template_param, 0x4106)
164
165/* Template parameter pack extension, specified at
166 http://wiki.dwarfstd.org/index.php?title=C%2B%2B0x:_Variadic_templates
167 The values of these two TAGS are in the DW_TAG_GNU_* space until the tags
168 are properly part of DWARF 5. */
169DW_TAG (DW_TAG_GNU_template_parameter_pack, 0x4107)
170DW_TAG (DW_TAG_GNU_formal_parameter_pack, 0x4108)
171/* The GNU call site extension, specified at
172 http://www.dwarfstd.org/ShowIssue.php?issue=100909.2&type=open .
173 The values of these two TAGS are in the DW_TAG_GNU_* space until the tags
174 are properly part of DWARF 5. */
175DW_TAG (DW_TAG_GNU_call_site, 0x4109)
176DW_TAG (DW_TAG_GNU_call_site_parameter, 0x410a)
67bf71fe 177/* Extensions for UPC. See: http://dwarfstd.org/doc/DWARF4.pdf. */
fa66ec53
DD
178DW_TAG (DW_TAG_upc_shared_type, 0x8765)
179DW_TAG (DW_TAG_upc_strict_type, 0x8766)
180DW_TAG (DW_TAG_upc_relaxed_type, 0x8767)
181/* PGI (STMicroelectronics) extensions. No documentation available. */
182DW_TAG (DW_TAG_PGI_kanji_type, 0xA000)
183DW_TAG (DW_TAG_PGI_interface_block, 0xA020)
184DW_END_TAG
185
186DW_FIRST_FORM (DW_FORM_addr, 0x01)
187DW_FORM (DW_FORM_block2, 0x03)
188DW_FORM (DW_FORM_block4, 0x04)
189DW_FORM (DW_FORM_data2, 0x05)
190DW_FORM (DW_FORM_data4, 0x06)
191DW_FORM (DW_FORM_data8, 0x07)
192DW_FORM (DW_FORM_string, 0x08)
193DW_FORM (DW_FORM_block, 0x09)
194DW_FORM (DW_FORM_block1, 0x0a)
195DW_FORM (DW_FORM_data1, 0x0b)
196DW_FORM (DW_FORM_flag, 0x0c)
197DW_FORM (DW_FORM_sdata, 0x0d)
198DW_FORM (DW_FORM_strp, 0x0e)
199DW_FORM (DW_FORM_udata, 0x0f)
200DW_FORM (DW_FORM_ref_addr, 0x10)
201DW_FORM (DW_FORM_ref1, 0x11)
202DW_FORM (DW_FORM_ref2, 0x12)
203DW_FORM (DW_FORM_ref4, 0x13)
204DW_FORM (DW_FORM_ref8, 0x14)
205DW_FORM (DW_FORM_ref_udata, 0x15)
206DW_FORM (DW_FORM_indirect, 0x16)
207/* DWARF 4. */
208DW_FORM (DW_FORM_sec_offset, 0x17)
209DW_FORM (DW_FORM_exprloc, 0x18)
210DW_FORM (DW_FORM_flag_present, 0x19)
211DW_FORM (DW_FORM_ref_sig8, 0x20)
fb9b4b7e
NC
212/* DWARF 5. */
213DW_FORM (DW_FORM_strx, 0x1a)
214DW_FORM (DW_FORM_addrx, 0x1b)
215DW_FORM (DW_FORM_ref_sup4, 0x1c)
216DW_FORM (DW_FORM_strp_sup, 0x1d)
217DW_FORM (DW_FORM_data16, 0x1e)
218DW_FORM (DW_FORM_line_strp, 0x1f)
219DW_FORM (DW_FORM_implicit_const, 0x21)
220DW_FORM (DW_FORM_loclistx, 0x22)
221DW_FORM (DW_FORM_rnglistx, 0x23)
222DW_FORM (DW_FORM_ref_sup8, 0x24)
fa66ec53 223/* Extensions for Fission. See http://gcc.gnu.org/wiki/DebugFission. */
fa66ec53
DD
224DW_FORM (DW_FORM_GNU_addr_index, 0x1f01)
225DW_FORM (DW_FORM_GNU_str_index, 0x1f02)
9761def5
DD
226/* Extensions for DWZ multifile.
227 See http://www.dwarfstd.org/ShowIssue.php?issue=120604.1&type=open . */
228DW_FORM (DW_FORM_GNU_ref_alt, 0x1f20)
229DW_FORM (DW_FORM_GNU_strp_alt, 0x1f21)
fa66ec53
DD
230DW_END_FORM
231
232DW_FIRST_AT (DW_AT_sibling, 0x01)
233DW_AT (DW_AT_location, 0x02)
234DW_AT (DW_AT_name, 0x03)
235DW_AT (DW_AT_ordering, 0x09)
236DW_AT (DW_AT_subscr_data, 0x0a)
237DW_AT (DW_AT_byte_size, 0x0b)
238DW_AT (DW_AT_bit_offset, 0x0c)
239DW_AT (DW_AT_bit_size, 0x0d)
240DW_AT (DW_AT_element_list, 0x0f)
241DW_AT (DW_AT_stmt_list, 0x10)
242DW_AT (DW_AT_low_pc, 0x11)
243DW_AT (DW_AT_high_pc, 0x12)
244DW_AT (DW_AT_language, 0x13)
245DW_AT (DW_AT_member, 0x14)
246DW_AT (DW_AT_discr, 0x15)
247DW_AT (DW_AT_discr_value, 0x16)
248DW_AT (DW_AT_visibility, 0x17)
249DW_AT (DW_AT_import, 0x18)
250DW_AT (DW_AT_string_length, 0x19)
251DW_AT (DW_AT_common_reference, 0x1a)
252DW_AT (DW_AT_comp_dir, 0x1b)
253DW_AT (DW_AT_const_value, 0x1c)
254DW_AT (DW_AT_containing_type, 0x1d)
255DW_AT (DW_AT_default_value, 0x1e)
256DW_AT (DW_AT_inline, 0x20)
257DW_AT (DW_AT_is_optional, 0x21)
258DW_AT (DW_AT_lower_bound, 0x22)
259DW_AT (DW_AT_producer, 0x25)
260DW_AT (DW_AT_prototyped, 0x27)
261DW_AT (DW_AT_return_addr, 0x2a)
262DW_AT (DW_AT_start_scope, 0x2c)
263DW_AT (DW_AT_bit_stride, 0x2e)
264DW_AT (DW_AT_upper_bound, 0x2f)
265DW_AT (DW_AT_abstract_origin, 0x31)
266DW_AT (DW_AT_accessibility, 0x32)
267DW_AT (DW_AT_address_class, 0x33)
268DW_AT (DW_AT_artificial, 0x34)
269DW_AT (DW_AT_base_types, 0x35)
270DW_AT (DW_AT_calling_convention, 0x36)
271DW_AT (DW_AT_count, 0x37)
272DW_AT (DW_AT_data_member_location, 0x38)
273DW_AT (DW_AT_decl_column, 0x39)
274DW_AT (DW_AT_decl_file, 0x3a)
275DW_AT (DW_AT_decl_line, 0x3b)
276DW_AT (DW_AT_declaration, 0x3c)
277DW_AT (DW_AT_discr_list, 0x3d)
278DW_AT (DW_AT_encoding, 0x3e)
279DW_AT (DW_AT_external, 0x3f)
280DW_AT (DW_AT_frame_base, 0x40)
281DW_AT (DW_AT_friend, 0x41)
282DW_AT (DW_AT_identifier_case, 0x42)
283DW_AT (DW_AT_macro_info, 0x43)
284DW_AT (DW_AT_namelist_items, 0x44)
285DW_AT (DW_AT_priority, 0x45)
286DW_AT (DW_AT_segment, 0x46)
287DW_AT (DW_AT_specification, 0x47)
288DW_AT (DW_AT_static_link, 0x48)
289DW_AT (DW_AT_type, 0x49)
290DW_AT (DW_AT_use_location, 0x4a)
291DW_AT (DW_AT_variable_parameter, 0x4b)
292DW_AT (DW_AT_virtuality, 0x4c)
293DW_AT (DW_AT_vtable_elem_location, 0x4d)
294/* DWARF 3 values. */
295DW_AT (DW_AT_allocated, 0x4e)
296DW_AT (DW_AT_associated, 0x4f)
297DW_AT (DW_AT_data_location, 0x50)
298DW_AT (DW_AT_byte_stride, 0x51)
299DW_AT (DW_AT_entry_pc, 0x52)
300DW_AT (DW_AT_use_UTF8, 0x53)
301DW_AT (DW_AT_extension, 0x54)
302DW_AT (DW_AT_ranges, 0x55)
303DW_AT (DW_AT_trampoline, 0x56)
304DW_AT (DW_AT_call_column, 0x57)
305DW_AT (DW_AT_call_file, 0x58)
306DW_AT (DW_AT_call_line, 0x59)
307DW_AT (DW_AT_description, 0x5a)
308DW_AT (DW_AT_binary_scale, 0x5b)
309DW_AT (DW_AT_decimal_scale, 0x5c)
310DW_AT (DW_AT_small, 0x5d)
311DW_AT (DW_AT_decimal_sign, 0x5e)
312DW_AT (DW_AT_digit_count, 0x5f)
313DW_AT (DW_AT_picture_string, 0x60)
314DW_AT (DW_AT_mutable, 0x61)
315DW_AT (DW_AT_threads_scaled, 0x62)
316DW_AT (DW_AT_explicit, 0x63)
317DW_AT (DW_AT_object_pointer, 0x64)
318DW_AT (DW_AT_endianity, 0x65)
319DW_AT (DW_AT_elemental, 0x66)
320DW_AT (DW_AT_pure, 0x67)
321DW_AT (DW_AT_recursive, 0x68)
322/* DWARF 4. */
323DW_AT (DW_AT_signature, 0x69)
324DW_AT (DW_AT_main_subprogram, 0x6a)
325DW_AT (DW_AT_data_bit_offset, 0x6b)
326DW_AT (DW_AT_const_expr, 0x6c)
327DW_AT (DW_AT_enum_class, 0x6d)
328DW_AT (DW_AT_linkage_name, 0x6e)
743649fd 329/* DWARF 5. */
fb9b4b7e
NC
330DW_AT (DW_AT_string_length_bit_size, 0x6f)
331DW_AT (DW_AT_string_length_byte_size, 0x70)
332DW_AT (DW_AT_rank, 0x71)
333DW_AT (DW_AT_str_offsets_base, 0x72)
334DW_AT (DW_AT_addr_base, 0x73)
335DW_AT (DW_AT_rnglists_base, 0x74)
336DW_AT (DW_AT_dwo_name, 0x76)
337DW_AT (DW_AT_reference, 0x77)
338DW_AT (DW_AT_rvalue_reference, 0x78)
339DW_AT (DW_AT_macros, 0x79)
340DW_AT (DW_AT_call_all_calls, 0x7a)
341DW_AT (DW_AT_call_all_source_calls, 0x7b)
342DW_AT (DW_AT_call_all_tail_calls, 0x7c)
343DW_AT (DW_AT_call_return_pc, 0x7d)
344DW_AT (DW_AT_call_value, 0x7e)
345DW_AT (DW_AT_call_origin, 0x7f)
346DW_AT (DW_AT_call_parameter, 0x80)
347DW_AT (DW_AT_call_pc, 0x81)
348DW_AT (DW_AT_call_tail_call, 0x82)
349DW_AT (DW_AT_call_target, 0x83)
350DW_AT (DW_AT_call_target_clobbered, 0x84)
351DW_AT (DW_AT_call_data_location, 0x85)
352DW_AT (DW_AT_call_data_value, 0x86)
743649fd 353DW_AT (DW_AT_noreturn, 0x87)
fb9b4b7e
NC
354DW_AT (DW_AT_alignment, 0x88)
355DW_AT (DW_AT_export_symbols, 0x89)
356DW_AT (DW_AT_deleted, 0x8a)
357DW_AT (DW_AT_defaulted, 0x8b)
358DW_AT (DW_AT_loclists_base, 0x8c)
fa66ec53
DD
359
360DW_AT_DUP (DW_AT_lo_user, 0x2000) /* Implementation-defined range start. */
361DW_AT_DUP (DW_AT_hi_user, 0x3fff) /* Implementation-defined range end. */
362
363/* SGI/MIPS extensions. */
364DW_AT (DW_AT_MIPS_fde, 0x2001)
365DW_AT (DW_AT_MIPS_loop_begin, 0x2002)
366DW_AT (DW_AT_MIPS_tail_loop_begin, 0x2003)
367DW_AT (DW_AT_MIPS_epilog_begin, 0x2004)
368DW_AT (DW_AT_MIPS_loop_unroll_factor, 0x2005)
369DW_AT (DW_AT_MIPS_software_pipeline_depth, 0x2006)
370DW_AT (DW_AT_MIPS_linkage_name, 0x2007)
371DW_AT (DW_AT_MIPS_stride, 0x2008)
372DW_AT (DW_AT_MIPS_abstract_name, 0x2009)
373DW_AT (DW_AT_MIPS_clone_origin, 0x200a)
374DW_AT (DW_AT_MIPS_has_inlines, 0x200b)
375/* HP extensions. */
376DW_AT (DW_AT_HP_block_index, 0x2000)
377DW_AT_DUP (DW_AT_HP_unmodifiable, 0x2001) /* Same as DW_AT_MIPS_fde. */
378DW_AT_DUP (DW_AT_HP_prologue, 0x2005) /* Same as DW_AT_MIPS_loop_unroll. */
379DW_AT_DUP (DW_AT_HP_epilogue, 0x2008) /* Same as DW_AT_MIPS_stride. */
380DW_AT (DW_AT_HP_actuals_stmt_list, 0x2010)
381DW_AT (DW_AT_HP_proc_per_section, 0x2011)
382DW_AT (DW_AT_HP_raw_data_ptr, 0x2012)
383DW_AT (DW_AT_HP_pass_by_reference, 0x2013)
384DW_AT (DW_AT_HP_opt_level, 0x2014)
385DW_AT (DW_AT_HP_prof_version_id, 0x2015)
386DW_AT (DW_AT_HP_opt_flags, 0x2016)
387DW_AT (DW_AT_HP_cold_region_low_pc, 0x2017)
388DW_AT (DW_AT_HP_cold_region_high_pc, 0x2018)
389DW_AT (DW_AT_HP_all_variables_modifiable, 0x2019)
390DW_AT (DW_AT_HP_linkage_name, 0x201a)
391DW_AT (DW_AT_HP_prof_flags, 0x201b) /* In comp unit of procs_info for -g. */
392DW_AT (DW_AT_HP_unit_name, 0x201f)
393DW_AT (DW_AT_HP_unit_size, 0x2020)
394DW_AT (DW_AT_HP_widened_byte_size, 0x2021)
395DW_AT (DW_AT_HP_definition_points, 0x2022)
396DW_AT (DW_AT_HP_default_location, 0x2023)
397DW_AT (DW_AT_HP_is_result_param, 0x2029)
398
399/* GNU extensions. */
400DW_AT (DW_AT_sf_names, 0x2101)
401DW_AT (DW_AT_src_info, 0x2102)
402DW_AT (DW_AT_mac_info, 0x2103)
403DW_AT (DW_AT_src_coords, 0x2104)
404DW_AT (DW_AT_body_begin, 0x2105)
405DW_AT (DW_AT_body_end, 0x2106)
406DW_AT (DW_AT_GNU_vector, 0x2107)
407/* Thread-safety annotations.
408 See http://gcc.gnu.org/wiki/ThreadSafetyAnnotation . */
409DW_AT (DW_AT_GNU_guarded_by, 0x2108)
410DW_AT (DW_AT_GNU_pt_guarded_by, 0x2109)
411DW_AT (DW_AT_GNU_guarded, 0x210a)
412DW_AT (DW_AT_GNU_pt_guarded, 0x210b)
413DW_AT (DW_AT_GNU_locks_excluded, 0x210c)
414DW_AT (DW_AT_GNU_exclusive_locks_required, 0x210d)
415DW_AT (DW_AT_GNU_shared_locks_required, 0x210e)
416/* One-definition rule violation detection.
417 See http://gcc.gnu.org/wiki/DwarfSeparateTypeInfo . */
418DW_AT (DW_AT_GNU_odr_signature, 0x210f)
419/* Template template argument name.
420 See http://gcc.gnu.org/wiki/TemplateParmsDwarf . */
421DW_AT (DW_AT_GNU_template_name, 0x2110)
422/* The GNU call site extension.
423 See http://www.dwarfstd.org/ShowIssue.php?issue=100909.2&type=open . */
424DW_AT (DW_AT_GNU_call_site_value, 0x2111)
425DW_AT (DW_AT_GNU_call_site_data_value, 0x2112)
426DW_AT (DW_AT_GNU_call_site_target, 0x2113)
427DW_AT (DW_AT_GNU_call_site_target_clobbered, 0x2114)
428DW_AT (DW_AT_GNU_tail_call, 0x2115)
429DW_AT (DW_AT_GNU_all_tail_call_sites, 0x2116)
430DW_AT (DW_AT_GNU_all_call_sites, 0x2117)
431DW_AT (DW_AT_GNU_all_source_call_sites, 0x2118)
432/* Section offset into .debug_macro section. */
433DW_AT (DW_AT_GNU_macros, 0x2119)
e235c3a2
AB
434/* Attribute for C++ deleted special member functions (= delete;). */
435DW_AT (DW_AT_GNU_deleted, 0x211a)
fa66ec53
DD
436/* Extensions for Fission. See http://gcc.gnu.org/wiki/DebugFission. */
437DW_AT (DW_AT_GNU_dwo_name, 0x2130)
438DW_AT (DW_AT_GNU_dwo_id, 0x2131)
959fb206 439DW_AT (DW_AT_GNU_ranges_base, 0x2132)
fa66ec53
DD
440DW_AT (DW_AT_GNU_addr_base, 0x2133)
441DW_AT (DW_AT_GNU_pubnames, 0x2134)
442DW_AT (DW_AT_GNU_pubtypes, 0x2135)
21290977
DD
443/* Attribute for discriminator.
444 See http://gcc.gnu.org/wiki/Discriminator */
445DW_AT (DW_AT_GNU_discriminator, 0x2136)
fa66ec53
DD
446/* VMS extensions. */
447DW_AT (DW_AT_VMS_rtnbeg_pd_address, 0x2201)
448/* GNAT extensions. */
449/* GNAT descriptive type.
450 See http://gcc.gnu.org/wiki/DW_AT_GNAT_descriptive_type . */
451DW_AT (DW_AT_use_GNAT_descriptive_type, 0x2301)
452DW_AT (DW_AT_GNAT_descriptive_type, 0x2302)
68996839
NC
453/* Rational constant extension.
454 See https://gcc.gnu.org/wiki/DW_AT_GNU_numerator_denominator . */
455DW_TAG (DW_AT_GNU_numerator, 0x2303)
456DW_TAG (DW_AT_GNU_denominator, 0x2304)
457/* Biased integer extension.
458 See https://gcc.gnu.org/wiki/DW_AT_GNU_bias . */
459DW_TAG (DW_AT_GNU_bias, 0x2305)
fa66ec53
DD
460/* UPC extension. */
461DW_AT (DW_AT_upc_threads_scaled, 0x3210)
462/* PGI (STMicroelectronics) extensions. */
463DW_AT (DW_AT_PGI_lbase, 0x3a00)
464DW_AT (DW_AT_PGI_soffset, 0x3a01)
465DW_AT (DW_AT_PGI_lstride, 0x3a02)
b8b64fa5
AB
466/* Apple extensions. */
467DW_AT (DW_AT_APPLE_optimized, 0x3fe1)
468DW_AT (DW_AT_APPLE_flags, 0x3fe2)
469DW_AT (DW_AT_APPLE_isa, 0x3fe3)
470DW_AT (DW_AT_APPLE_block, 0x3fe4)
471DW_AT (DW_AT_APPLE_major_runtime_vers, 0x3fe5)
472DW_AT (DW_AT_APPLE_runtime_class, 0x3fe6)
473DW_AT (DW_AT_APPLE_omit_frame_ptr, 0x3fe7)
474DW_AT (DW_AT_APPLE_property_name, 0x3fe8)
475DW_AT (DW_AT_APPLE_property_getter, 0x3fe9)
476DW_AT (DW_AT_APPLE_property_setter, 0x3fea)
477DW_AT (DW_AT_APPLE_property_attribute, 0x3feb)
478DW_AT (DW_AT_APPLE_objc_complete_type, 0x3fec)
479DW_AT (DW_AT_APPLE_property, 0x3fed)
fa66ec53
DD
480DW_END_AT
481
482DW_FIRST_OP (DW_OP_addr, 0x03)
483DW_OP (DW_OP_deref, 0x06)
484DW_OP (DW_OP_const1u, 0x08)
485DW_OP (DW_OP_const1s, 0x09)
486DW_OP (DW_OP_const2u, 0x0a)
487DW_OP (DW_OP_const2s, 0x0b)
488DW_OP (DW_OP_const4u, 0x0c)
489DW_OP (DW_OP_const4s, 0x0d)
490DW_OP (DW_OP_const8u, 0x0e)
491DW_OP (DW_OP_const8s, 0x0f)
492DW_OP (DW_OP_constu, 0x10)
493DW_OP (DW_OP_consts, 0x11)
494DW_OP (DW_OP_dup, 0x12)
495DW_OP (DW_OP_drop, 0x13)
496DW_OP (DW_OP_over, 0x14)
497DW_OP (DW_OP_pick, 0x15)
498DW_OP (DW_OP_swap, 0x16)
499DW_OP (DW_OP_rot, 0x17)
500DW_OP (DW_OP_xderef, 0x18)
501DW_OP (DW_OP_abs, 0x19)
502DW_OP (DW_OP_and, 0x1a)
503DW_OP (DW_OP_div, 0x1b)
504DW_OP (DW_OP_minus, 0x1c)
505DW_OP (DW_OP_mod, 0x1d)
506DW_OP (DW_OP_mul, 0x1e)
507DW_OP (DW_OP_neg, 0x1f)
508DW_OP (DW_OP_not, 0x20)
509DW_OP (DW_OP_or, 0x21)
510DW_OP (DW_OP_plus, 0x22)
511DW_OP (DW_OP_plus_uconst, 0x23)
512DW_OP (DW_OP_shl, 0x24)
513DW_OP (DW_OP_shr, 0x25)
514DW_OP (DW_OP_shra, 0x26)
515DW_OP (DW_OP_xor, 0x27)
516DW_OP (DW_OP_bra, 0x28)
517DW_OP (DW_OP_eq, 0x29)
518DW_OP (DW_OP_ge, 0x2a)
519DW_OP (DW_OP_gt, 0x2b)
520DW_OP (DW_OP_le, 0x2c)
521DW_OP (DW_OP_lt, 0x2d)
522DW_OP (DW_OP_ne, 0x2e)
523DW_OP (DW_OP_skip, 0x2f)
524DW_OP (DW_OP_lit0, 0x30)
525DW_OP (DW_OP_lit1, 0x31)
526DW_OP (DW_OP_lit2, 0x32)
527DW_OP (DW_OP_lit3, 0x33)
528DW_OP (DW_OP_lit4, 0x34)
529DW_OP (DW_OP_lit5, 0x35)
530DW_OP (DW_OP_lit6, 0x36)
531DW_OP (DW_OP_lit7, 0x37)
532DW_OP (DW_OP_lit8, 0x38)
533DW_OP (DW_OP_lit9, 0x39)
534DW_OP (DW_OP_lit10, 0x3a)
535DW_OP (DW_OP_lit11, 0x3b)
536DW_OP (DW_OP_lit12, 0x3c)
537DW_OP (DW_OP_lit13, 0x3d)
538DW_OP (DW_OP_lit14, 0x3e)
539DW_OP (DW_OP_lit15, 0x3f)
540DW_OP (DW_OP_lit16, 0x40)
541DW_OP (DW_OP_lit17, 0x41)
542DW_OP (DW_OP_lit18, 0x42)
543DW_OP (DW_OP_lit19, 0x43)
544DW_OP (DW_OP_lit20, 0x44)
545DW_OP (DW_OP_lit21, 0x45)
546DW_OP (DW_OP_lit22, 0x46)
547DW_OP (DW_OP_lit23, 0x47)
548DW_OP (DW_OP_lit24, 0x48)
549DW_OP (DW_OP_lit25, 0x49)
550DW_OP (DW_OP_lit26, 0x4a)
551DW_OP (DW_OP_lit27, 0x4b)
552DW_OP (DW_OP_lit28, 0x4c)
553DW_OP (DW_OP_lit29, 0x4d)
554DW_OP (DW_OP_lit30, 0x4e)
555DW_OP (DW_OP_lit31, 0x4f)
556DW_OP (DW_OP_reg0, 0x50)
557DW_OP (DW_OP_reg1, 0x51)
558DW_OP (DW_OP_reg2, 0x52)
559DW_OP (DW_OP_reg3, 0x53)
560DW_OP (DW_OP_reg4, 0x54)
561DW_OP (DW_OP_reg5, 0x55)
562DW_OP (DW_OP_reg6, 0x56)
563DW_OP (DW_OP_reg7, 0x57)
564DW_OP (DW_OP_reg8, 0x58)
565DW_OP (DW_OP_reg9, 0x59)
566DW_OP (DW_OP_reg10, 0x5a)
567DW_OP (DW_OP_reg11, 0x5b)
568DW_OP (DW_OP_reg12, 0x5c)
569DW_OP (DW_OP_reg13, 0x5d)
570DW_OP (DW_OP_reg14, 0x5e)
571DW_OP (DW_OP_reg15, 0x5f)
572DW_OP (DW_OP_reg16, 0x60)
573DW_OP (DW_OP_reg17, 0x61)
574DW_OP (DW_OP_reg18, 0x62)
575DW_OP (DW_OP_reg19, 0x63)
576DW_OP (DW_OP_reg20, 0x64)
577DW_OP (DW_OP_reg21, 0x65)
578DW_OP (DW_OP_reg22, 0x66)
579DW_OP (DW_OP_reg23, 0x67)
580DW_OP (DW_OP_reg24, 0x68)
581DW_OP (DW_OP_reg25, 0x69)
582DW_OP (DW_OP_reg26, 0x6a)
583DW_OP (DW_OP_reg27, 0x6b)
584DW_OP (DW_OP_reg28, 0x6c)
585DW_OP (DW_OP_reg29, 0x6d)
586DW_OP (DW_OP_reg30, 0x6e)
587DW_OP (DW_OP_reg31, 0x6f)
588DW_OP (DW_OP_breg0, 0x70)
589DW_OP (DW_OP_breg1, 0x71)
590DW_OP (DW_OP_breg2, 0x72)
591DW_OP (DW_OP_breg3, 0x73)
592DW_OP (DW_OP_breg4, 0x74)
593DW_OP (DW_OP_breg5, 0x75)
594DW_OP (DW_OP_breg6, 0x76)
595DW_OP (DW_OP_breg7, 0x77)
596DW_OP (DW_OP_breg8, 0x78)
597DW_OP (DW_OP_breg9, 0x79)
598DW_OP (DW_OP_breg10, 0x7a)
599DW_OP (DW_OP_breg11, 0x7b)
600DW_OP (DW_OP_breg12, 0x7c)
601DW_OP (DW_OP_breg13, 0x7d)
602DW_OP (DW_OP_breg14, 0x7e)
603DW_OP (DW_OP_breg15, 0x7f)
604DW_OP (DW_OP_breg16, 0x80)
605DW_OP (DW_OP_breg17, 0x81)
606DW_OP (DW_OP_breg18, 0x82)
607DW_OP (DW_OP_breg19, 0x83)
608DW_OP (DW_OP_breg20, 0x84)
609DW_OP (DW_OP_breg21, 0x85)
610DW_OP (DW_OP_breg22, 0x86)
611DW_OP (DW_OP_breg23, 0x87)
612DW_OP (DW_OP_breg24, 0x88)
613DW_OP (DW_OP_breg25, 0x89)
614DW_OP (DW_OP_breg26, 0x8a)
615DW_OP (DW_OP_breg27, 0x8b)
616DW_OP (DW_OP_breg28, 0x8c)
617DW_OP (DW_OP_breg29, 0x8d)
618DW_OP (DW_OP_breg30, 0x8e)
619DW_OP (DW_OP_breg31, 0x8f)
620DW_OP (DW_OP_regx, 0x90)
621DW_OP (DW_OP_fbreg, 0x91)
622DW_OP (DW_OP_bregx, 0x92)
623DW_OP (DW_OP_piece, 0x93)
624DW_OP (DW_OP_deref_size, 0x94)
625DW_OP (DW_OP_xderef_size, 0x95)
626DW_OP (DW_OP_nop, 0x96)
627/* DWARF 3 extensions. */
628DW_OP (DW_OP_push_object_address, 0x97)
629DW_OP (DW_OP_call2, 0x98)
630DW_OP (DW_OP_call4, 0x99)
631DW_OP (DW_OP_call_ref, 0x9a)
632DW_OP (DW_OP_form_tls_address, 0x9b)
633DW_OP (DW_OP_call_frame_cfa, 0x9c)
634DW_OP (DW_OP_bit_piece, 0x9d)
635
636/* DWARF 4 extensions. */
637DW_OP (DW_OP_implicit_value, 0x9e)
638DW_OP (DW_OP_stack_value, 0x9f)
639
fb9b4b7e
NC
640/* DWARF 5 extensions. */
641DW_OP (DW_OP_implicit_pointer, 0xa0)
642DW_OP (DW_OP_addrx, 0xa1)
643DW_OP (DW_OP_constx, 0xa2)
644DW_OP (DW_OP_entry_value, 0xa3)
645DW_OP (DW_OP_const_type, 0xa4)
646DW_OP (DW_OP_regval_type, 0xa5)
647DW_OP (DW_OP_deref_type, 0xa6)
648DW_OP (DW_OP_xderef_type, 0xa7)
649DW_OP (DW_OP_convert, 0xa8)
650DW_OP (DW_OP_reinterpret, 0xa9)
651
fa66ec53
DD
652DW_OP_DUP (DW_OP_lo_user, 0xe0) /* Implementation-defined range start. */
653DW_OP_DUP (DW_OP_hi_user, 0xff) /* Implementation-defined range end. */
654
655/* GNU extensions. */
656DW_OP (DW_OP_GNU_push_tls_address, 0xe0)
657/* The following is for marking variables that are uninitialized. */
658DW_OP (DW_OP_GNU_uninit, 0xf0)
659DW_OP (DW_OP_GNU_encoded_addr, 0xf1)
660/* The GNU implicit pointer extension.
661 See http://www.dwarfstd.org/ShowIssue.php?issue=100831.1&type=open . */
662DW_OP (DW_OP_GNU_implicit_pointer, 0xf2)
663/* The GNU entry value extension.
664 See http://www.dwarfstd.org/ShowIssue.php?issue=100909.1&type=open . */
665DW_OP (DW_OP_GNU_entry_value, 0xf3)
666/* The GNU typed stack extension.
667 See http://www.dwarfstd.org/doc/040408.1.html . */
668DW_OP (DW_OP_GNU_const_type, 0xf4)
669DW_OP (DW_OP_GNU_regval_type, 0xf5)
670DW_OP (DW_OP_GNU_deref_type, 0xf6)
671DW_OP (DW_OP_GNU_convert, 0xf7)
672DW_OP (DW_OP_GNU_reinterpret, 0xf9)
673/* The GNU parameter ref extension. */
674DW_OP (DW_OP_GNU_parameter_ref, 0xfa)
f8bfbc48 675/* Extensions for Fission. See http://gcc.gnu.org/wiki/DebugFission. */
fcfa8919 676DW_OP (DW_OP_GNU_addr_index, 0xfb)
e48f8891 677DW_OP (DW_OP_GNU_const_index, 0xfc)
fa66ec53
DD
678/* HP extensions. */
679DW_OP_DUP (DW_OP_HP_unknown, 0xe0) /* Ouch, the same as GNU_push_tls_address. */
680DW_OP (DW_OP_HP_is_value, 0xe1)
681DW_OP (DW_OP_HP_fltconst4, 0xe2)
682DW_OP (DW_OP_HP_fltconst8, 0xe3)
683DW_OP (DW_OP_HP_mod_range, 0xe4)
684DW_OP (DW_OP_HP_unmod_range, 0xe5)
685DW_OP (DW_OP_HP_tls, 0xe6)
686/* PGI (STMicroelectronics) extensions. */
687DW_OP (DW_OP_PGI_omp_thread_num, 0xf8)
8cf50cb0
JW
688/* AARCH64 extensions.
689 DW_OP_AARCH64_operation takes one mandatory unsigned LEB128 operand.
690 Bits[6:0] of this operand is the action code, all others bits are initialized
691 to 0 except explicitly documented for one action. Please refer AArch64 DWARF
692 ABI documentation for details. */
693DW_OP (DW_OP_AARCH64_operation, 0xea)
fa66ec53
DD
694DW_END_OP
695
696DW_FIRST_ATE (DW_ATE_void, 0x0)
697DW_ATE (DW_ATE_address, 0x1)
698DW_ATE (DW_ATE_boolean, 0x2)
699DW_ATE (DW_ATE_complex_float, 0x3)
700DW_ATE (DW_ATE_float, 0x4)
701DW_ATE (DW_ATE_signed, 0x5)
702DW_ATE (DW_ATE_signed_char, 0x6)
703DW_ATE (DW_ATE_unsigned, 0x7)
704DW_ATE (DW_ATE_unsigned_char, 0x8)
705/* DWARF 3. */
706DW_ATE (DW_ATE_imaginary_float, 0x9)
707DW_ATE (DW_ATE_packed_decimal, 0xa)
708DW_ATE (DW_ATE_numeric_string, 0xb)
709DW_ATE (DW_ATE_edited, 0xc)
710DW_ATE (DW_ATE_signed_fixed, 0xd)
711DW_ATE (DW_ATE_unsigned_fixed, 0xe)
712DW_ATE (DW_ATE_decimal_float, 0xf)
713/* DWARF 4. */
714DW_ATE (DW_ATE_UTF, 0x10)
fb9b4b7e
NC
715/* DWARF 5. */
716DW_ATE (DW_ATE_UCS, 0x11)
717DW_ATE (DW_ATE_ASCII, 0x12)
fa66ec53
DD
718
719DW_ATE_DUP (DW_ATE_lo_user, 0x80)
720DW_ATE_DUP (DW_ATE_hi_user, 0xff)
721
722/* HP extensions. */
723DW_ATE (DW_ATE_HP_float80, 0x80) /* Floating-point (80 bit). */
724DW_ATE (DW_ATE_HP_complex_float80, 0x81) /* Complex floating-point (80 bit). */
725DW_ATE (DW_ATE_HP_float128, 0x82) /* Floating-point (128 bit). */
726DW_ATE (DW_ATE_HP_complex_float128, 0x83) /* Complex fp (128 bit). */
727DW_ATE (DW_ATE_HP_floathpintel, 0x84) /* Floating-point (82 bit IA64). */
728DW_ATE (DW_ATE_HP_imaginary_float80, 0x85)
729DW_ATE (DW_ATE_HP_imaginary_float128, 0x86)
730DW_ATE (DW_ATE_HP_VAX_float, 0x88) /* F or G floating. */
731DW_ATE (DW_ATE_HP_VAX_float_d, 0x89) /* D floating. */
732DW_ATE (DW_ATE_HP_packed_decimal, 0x8a) /* Cobol. */
733DW_ATE (DW_ATE_HP_zoned_decimal, 0x8b) /* Cobol. */
734DW_ATE (DW_ATE_HP_edited, 0x8c) /* Cobol. */
735DW_ATE (DW_ATE_HP_signed_fixed, 0x8d) /* Cobol. */
736DW_ATE (DW_ATE_HP_unsigned_fixed, 0x8e) /* Cobol. */
737DW_ATE (DW_ATE_HP_VAX_complex_float, 0x8f) /* F or G floating complex. */
738DW_ATE (DW_ATE_HP_VAX_complex_float_d, 0x90) /* D floating complex. */
739
740DW_END_ATE
741
742DW_FIRST_CFA (DW_CFA_advance_loc, 0x40)
743DW_CFA (DW_CFA_offset, 0x80)
744DW_CFA (DW_CFA_restore, 0xc0)
745DW_CFA (DW_CFA_nop, 0x00)
746DW_CFA (DW_CFA_set_loc, 0x01)
747DW_CFA (DW_CFA_advance_loc1, 0x02)
748DW_CFA (DW_CFA_advance_loc2, 0x03)
749DW_CFA (DW_CFA_advance_loc4, 0x04)
750DW_CFA (DW_CFA_offset_extended, 0x05)
751DW_CFA (DW_CFA_restore_extended, 0x06)
752DW_CFA (DW_CFA_undefined, 0x07)
753DW_CFA (DW_CFA_same_value, 0x08)
754DW_CFA (DW_CFA_register, 0x09)
755DW_CFA (DW_CFA_remember_state, 0x0a)
756DW_CFA (DW_CFA_restore_state, 0x0b)
757DW_CFA (DW_CFA_def_cfa, 0x0c)
758DW_CFA (DW_CFA_def_cfa_register, 0x0d)
759DW_CFA (DW_CFA_def_cfa_offset, 0x0e)
760/* DWARF 3. */
761DW_CFA (DW_CFA_def_cfa_expression, 0x0f)
762DW_CFA (DW_CFA_expression, 0x10)
763DW_CFA (DW_CFA_offset_extended_sf, 0x11)
764DW_CFA (DW_CFA_def_cfa_sf, 0x12)
765DW_CFA (DW_CFA_def_cfa_offset_sf, 0x13)
766DW_CFA (DW_CFA_val_offset, 0x14)
767DW_CFA (DW_CFA_val_offset_sf, 0x15)
768DW_CFA (DW_CFA_val_expression, 0x16)
769
770DW_CFA (DW_CFA_lo_user, 0x1c)
771DW_CFA (DW_CFA_hi_user, 0x3f)
772
773/* SGI/MIPS specific. */
774DW_CFA (DW_CFA_MIPS_advance_loc8, 0x1d)
8cf50cb0
JW
775/* GNU extensions.
776 NOTE: DW_CFA_GNU_window_save is multiplexed on Sparc and AArch64. */
fa66ec53
DD
777DW_CFA (DW_CFA_GNU_window_save, 0x2d)
778DW_CFA (DW_CFA_GNU_args_size, 0x2e)
779DW_CFA (DW_CFA_GNU_negative_offset_extended, 0x2f)
780
781DW_END_CFA
This page took 0.250661 seconds and 4 git commands to generate.