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