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