Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
14 | pmbaty | 1 | //===- llvm/Support/Dwarf.def - Dwarf definitions ---------------*- C++ -*-===// |
2 | // |
||
3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
||
4 | // See https://llvm.org/LICENSE.txt for license information. |
||
5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
||
6 | // |
||
7 | //===----------------------------------------------------------------------===// |
||
8 | // |
||
9 | // Macros for running through Dwarf enumerators. |
||
10 | // |
||
11 | //===----------------------------------------------------------------------===// |
||
12 | |||
13 | // TODO: Add other DW-based macros. |
||
14 | #if !( \ |
||
15 | defined HANDLE_DW_TAG || defined HANDLE_DW_AT || defined HANDLE_DW_FORM || \ |
||
16 | defined HANDLE_DW_OP || defined HANDLE_DW_LANG || defined HANDLE_DW_ATE || \ |
||
17 | defined HANDLE_DW_VIRTUALITY || defined HANDLE_DW_DEFAULTED || \ |
||
18 | defined HANDLE_DW_CC || defined HANDLE_DW_LNS || defined HANDLE_DW_LNE || \ |
||
19 | defined HANDLE_DW_LNCT || defined HANDLE_DW_MACRO || \ |
||
20 | defined HANDLE_DW_MACRO_GNU || defined HANDLE_MACRO_FLAG || \ |
||
21 | defined HANDLE_DW_RLE || defined HANDLE_DW_LLE || \ |
||
22 | (defined HANDLE_DW_CFA && defined HANDLE_DW_CFA_PRED) || \ |
||
23 | defined HANDLE_DW_APPLE_PROPERTY || defined HANDLE_DW_UT || \ |
||
24 | defined HANDLE_DWARF_SECTION || defined HANDLE_DW_IDX || \ |
||
25 | defined HANDLE_DW_END || defined HANDLE_DW_SECT) |
||
26 | #error "Missing macro definition of HANDLE_DW*" |
||
27 | #endif |
||
28 | |||
29 | #ifndef HANDLE_DW_TAG |
||
30 | #define HANDLE_DW_TAG(ID, NAME, VERSION, VENDOR, KIND) |
||
31 | #endif |
||
32 | |||
33 | // Note that DW_KIND is not a DWARF concept, but rather a way for us to |
||
34 | // generate a list of tags that belong together. |
||
35 | #ifndef DW_KIND_NONE |
||
36 | #define DW_KIND_NONE 0 |
||
37 | #endif |
||
38 | |||
39 | #ifndef DW_KIND_TYPE |
||
40 | #define DW_KIND_TYPE 1 |
||
41 | #endif |
||
42 | |||
43 | #ifndef HANDLE_DW_AT |
||
44 | #define HANDLE_DW_AT(ID, NAME, VERSION, VENDOR) |
||
45 | #endif |
||
46 | |||
47 | #ifndef HANDLE_DW_FORM |
||
48 | #define HANDLE_DW_FORM(ID, NAME, VERSION, VENDOR) |
||
49 | #endif |
||
50 | |||
51 | #ifndef HANDLE_DW_OP |
||
52 | #define HANDLE_DW_OP(ID, NAME, VERSION, VENDOR) |
||
53 | #endif |
||
54 | |||
55 | #ifndef HANDLE_DW_LANG |
||
56 | #define HANDLE_DW_LANG(ID, NAME, LOWER_BOUND, VERSION, VENDOR) |
||
57 | #endif |
||
58 | |||
59 | #ifndef HANDLE_DW_ATE |
||
60 | #define HANDLE_DW_ATE(ID, NAME, VERSION, VENDOR) |
||
61 | #endif |
||
62 | |||
63 | #ifndef HANDLE_DW_VIRTUALITY |
||
64 | #define HANDLE_DW_VIRTUALITY(ID, NAME) |
||
65 | #endif |
||
66 | |||
67 | #ifndef HANDLE_DW_DEFAULTED |
||
68 | #define HANDLE_DW_DEFAULTED(ID, NAME) |
||
69 | #endif |
||
70 | |||
71 | #ifndef HANDLE_DW_CC |
||
72 | #define HANDLE_DW_CC(ID, NAME) |
||
73 | #endif |
||
74 | |||
75 | #ifndef HANDLE_DW_LNS |
||
76 | #define HANDLE_DW_LNS(ID, NAME) |
||
77 | #endif |
||
78 | |||
79 | #ifndef HANDLE_DW_LNE |
||
80 | #define HANDLE_DW_LNE(ID, NAME) |
||
81 | #endif |
||
82 | |||
83 | #ifndef HANDLE_DW_LNCT |
||
84 | #define HANDLE_DW_LNCT(ID, NAME) |
||
85 | #endif |
||
86 | |||
87 | #ifndef HANDLE_DW_MACRO |
||
88 | #define HANDLE_DW_MACRO(ID, NAME) |
||
89 | #endif |
||
90 | |||
91 | #ifndef HANDLE_DW_MACRO_GNU |
||
92 | #define HANDLE_DW_MACRO_GNU(ID, NAME) |
||
93 | #endif |
||
94 | |||
95 | #ifndef HANDLE_MACRO_FLAG |
||
96 | #define HANDLE_MACRO_FLAG(ID, NAME) |
||
97 | #endif |
||
98 | |||
99 | #ifndef HANDLE_DW_RLE |
||
100 | #define HANDLE_DW_RLE(ID, NAME) |
||
101 | #endif |
||
102 | |||
103 | #ifndef HANDLE_DW_LLE |
||
104 | #define HANDLE_DW_LLE(ID, NAME) |
||
105 | #endif |
||
106 | |||
107 | #ifndef HANDLE_DW_CFA |
||
108 | #define HANDLE_DW_CFA(ID, NAME) |
||
109 | #endif |
||
110 | |||
111 | #ifndef HANDLE_DW_CFA_PRED |
||
112 | #define HANDLE_DW_CFA_PRED(ID, NAME, PRED) |
||
113 | #endif |
||
114 | |||
115 | #ifndef HANDLE_DW_APPLE_PROPERTY |
||
116 | #define HANDLE_DW_APPLE_PROPERTY(ID, NAME) |
||
117 | #endif |
||
118 | |||
119 | #ifndef HANDLE_DW_UT |
||
120 | #define HANDLE_DW_UT(ID, NAME) |
||
121 | #endif |
||
122 | |||
123 | #ifndef HANDLE_DWARF_SECTION |
||
124 | #define HANDLE_DWARF_SECTION(ENUM_NAME, ELF_NAME, CMDLINE_NAME, OPTION) |
||
125 | #endif |
||
126 | |||
127 | #ifndef HANDLE_DW_IDX |
||
128 | #define HANDLE_DW_IDX(ID, NAME) |
||
129 | #endif |
||
130 | |||
131 | #ifndef HANDLE_DW_END |
||
132 | #define HANDLE_DW_END(ID, NAME) |
||
133 | #endif |
||
134 | |||
135 | #ifndef HANDLE_DW_SECT |
||
136 | #define HANDLE_DW_SECT(ID, NAME) |
||
137 | #endif |
||
138 | |||
139 | HANDLE_DW_TAG(0x0000, null, 2, DWARF, DW_KIND_NONE) |
||
140 | HANDLE_DW_TAG(0x0001, array_type, 2, DWARF, DW_KIND_TYPE) |
||
141 | HANDLE_DW_TAG(0x0002, class_type, 2, DWARF, DW_KIND_TYPE) |
||
142 | HANDLE_DW_TAG(0x0003, entry_point, 2, DWARF, DW_KIND_NONE) |
||
143 | HANDLE_DW_TAG(0x0004, enumeration_type, 2, DWARF, DW_KIND_TYPE) |
||
144 | HANDLE_DW_TAG(0x0005, formal_parameter, 2, DWARF, DW_KIND_NONE) |
||
145 | HANDLE_DW_TAG(0x0008, imported_declaration, 2, DWARF, DW_KIND_NONE) |
||
146 | HANDLE_DW_TAG(0x000a, label, 2, DWARF, DW_KIND_NONE) |
||
147 | HANDLE_DW_TAG(0x000b, lexical_block, 2, DWARF, DW_KIND_NONE) |
||
148 | HANDLE_DW_TAG(0x000d, member, 2, DWARF, DW_KIND_NONE) |
||
149 | HANDLE_DW_TAG(0x000f, pointer_type, 2, DWARF, DW_KIND_TYPE) |
||
150 | HANDLE_DW_TAG(0x0010, reference_type, 2, DWARF, DW_KIND_TYPE) |
||
151 | HANDLE_DW_TAG(0x0011, compile_unit, 2, DWARF, DW_KIND_NONE) |
||
152 | HANDLE_DW_TAG(0x0012, string_type, 2, DWARF, DW_KIND_TYPE) |
||
153 | HANDLE_DW_TAG(0x0013, structure_type, 2, DWARF, DW_KIND_TYPE) |
||
154 | HANDLE_DW_TAG(0x0015, subroutine_type, 2, DWARF, DW_KIND_TYPE) |
||
155 | HANDLE_DW_TAG(0x0016, typedef, 2, DWARF, DW_KIND_TYPE) |
||
156 | HANDLE_DW_TAG(0x0017, union_type, 2, DWARF, DW_KIND_TYPE) |
||
157 | HANDLE_DW_TAG(0x0018, unspecified_parameters, 2, DWARF, DW_KIND_NONE) |
||
158 | HANDLE_DW_TAG(0x0019, variant, 2, DWARF, DW_KIND_NONE) |
||
159 | HANDLE_DW_TAG(0x001a, common_block, 2, DWARF, DW_KIND_NONE) |
||
160 | HANDLE_DW_TAG(0x001b, common_inclusion, 2, DWARF, DW_KIND_NONE) |
||
161 | HANDLE_DW_TAG(0x001c, inheritance, 2, DWARF, DW_KIND_NONE) |
||
162 | HANDLE_DW_TAG(0x001d, inlined_subroutine, 2, DWARF, DW_KIND_NONE) |
||
163 | HANDLE_DW_TAG(0x001e, module, 2, DWARF, DW_KIND_NONE) |
||
164 | HANDLE_DW_TAG(0x001f, ptr_to_member_type, 2, DWARF, DW_KIND_TYPE) |
||
165 | HANDLE_DW_TAG(0x0020, set_type, 2, DWARF, DW_KIND_TYPE) |
||
166 | HANDLE_DW_TAG(0x0021, subrange_type, 2, DWARF, DW_KIND_TYPE) |
||
167 | HANDLE_DW_TAG(0x0022, with_stmt, 2, DWARF, DW_KIND_NONE) |
||
168 | HANDLE_DW_TAG(0x0023, access_declaration, 2, DWARF, DW_KIND_NONE) |
||
169 | HANDLE_DW_TAG(0x0024, base_type, 2, DWARF, DW_KIND_TYPE) |
||
170 | HANDLE_DW_TAG(0x0025, catch_block, 2, DWARF, DW_KIND_NONE) |
||
171 | HANDLE_DW_TAG(0x0026, const_type, 2, DWARF, DW_KIND_TYPE) |
||
172 | HANDLE_DW_TAG(0x0027, constant, 2, DWARF, DW_KIND_NONE) |
||
173 | HANDLE_DW_TAG(0x0028, enumerator, 2, DWARF, DW_KIND_NONE) |
||
174 | HANDLE_DW_TAG(0x0029, file_type, 2, DWARF, DW_KIND_TYPE) |
||
175 | HANDLE_DW_TAG(0x002a, friend, 2, DWARF, DW_KIND_NONE) |
||
176 | HANDLE_DW_TAG(0x002b, namelist, 2, DWARF, DW_KIND_NONE) |
||
177 | HANDLE_DW_TAG(0x002c, namelist_item, 2, DWARF, DW_KIND_NONE) |
||
178 | HANDLE_DW_TAG(0x002d, packed_type, 2, DWARF, DW_KIND_TYPE) |
||
179 | HANDLE_DW_TAG(0x002e, subprogram, 2, DWARF, DW_KIND_NONE) |
||
180 | HANDLE_DW_TAG(0x002f, template_type_parameter, 2, DWARF, DW_KIND_NONE) |
||
181 | HANDLE_DW_TAG(0x0030, template_value_parameter, 2, DWARF, DW_KIND_NONE) |
||
182 | HANDLE_DW_TAG(0x0031, thrown_type, 2, DWARF, DW_KIND_TYPE) |
||
183 | HANDLE_DW_TAG(0x0032, try_block, 2, DWARF, DW_KIND_NONE) |
||
184 | HANDLE_DW_TAG(0x0033, variant_part, 2, DWARF, DW_KIND_NONE) |
||
185 | HANDLE_DW_TAG(0x0034, variable, 2, DWARF, DW_KIND_NONE) |
||
186 | HANDLE_DW_TAG(0x0035, volatile_type, 2, DWARF, DW_KIND_TYPE) |
||
187 | // New in DWARF v3: |
||
188 | HANDLE_DW_TAG(0x0036, dwarf_procedure, 3, DWARF, DW_KIND_NONE) |
||
189 | HANDLE_DW_TAG(0x0037, restrict_type, 3, DWARF, DW_KIND_TYPE) |
||
190 | HANDLE_DW_TAG(0x0038, interface_type, 3, DWARF, DW_KIND_TYPE) |
||
191 | HANDLE_DW_TAG(0x0039, namespace, 3, DWARF, DW_KIND_NONE) |
||
192 | HANDLE_DW_TAG(0x003a, imported_module, 3, DWARF, DW_KIND_NONE) |
||
193 | HANDLE_DW_TAG(0x003b, unspecified_type, 3, DWARF, DW_KIND_TYPE) |
||
194 | HANDLE_DW_TAG(0x003c, partial_unit, 3, DWARF, DW_KIND_NONE) |
||
195 | HANDLE_DW_TAG(0x003d, imported_unit, 3, DWARF, DW_KIND_NONE) |
||
196 | HANDLE_DW_TAG(0x003f, condition, 3, DWARF, DW_KIND_NONE) |
||
197 | HANDLE_DW_TAG(0x0040, shared_type, 3, DWARF, DW_KIND_TYPE) |
||
198 | // New in DWARF v4: |
||
199 | HANDLE_DW_TAG(0x0041, type_unit, 4, DWARF, DW_KIND_NONE) |
||
200 | HANDLE_DW_TAG(0x0042, rvalue_reference_type, 4, DWARF, DW_KIND_TYPE) |
||
201 | HANDLE_DW_TAG(0x0043, template_alias, 4, DWARF, DW_KIND_NONE) |
||
202 | // New in DWARF v5: |
||
203 | HANDLE_DW_TAG(0x0044, coarray_type, 5, DWARF, DW_KIND_TYPE) |
||
204 | HANDLE_DW_TAG(0x0045, generic_subrange, 5, DWARF, DW_KIND_NONE) |
||
205 | HANDLE_DW_TAG(0x0046, dynamic_type, 5, DWARF, DW_KIND_TYPE) |
||
206 | HANDLE_DW_TAG(0x0047, atomic_type, 5, DWARF, DW_KIND_TYPE) |
||
207 | HANDLE_DW_TAG(0x0048, call_site, 5, DWARF, DW_KIND_NONE) |
||
208 | HANDLE_DW_TAG(0x0049, call_site_parameter, 5, DWARF, DW_KIND_NONE) |
||
209 | HANDLE_DW_TAG(0x004a, skeleton_unit, 5, DWARF, DW_KIND_NONE) |
||
210 | HANDLE_DW_TAG(0x004b, immutable_type, 5, DWARF, DW_KIND_TYPE) |
||
211 | // Vendor extensions: |
||
212 | HANDLE_DW_TAG(0x4081, MIPS_loop, 0, MIPS, DW_KIND_NONE) |
||
213 | // Conflicting: |
||
214 | // HANDLE_DW_TAG(0x4081, HP_array_descriptor, 0, HP, DW_KIND_NONE) |
||
215 | HANDLE_DW_TAG(0x4101, format_label, 0, GNU, DW_KIND_NONE) |
||
216 | HANDLE_DW_TAG(0x4102, function_template, 0, GNU, DW_KIND_NONE) |
||
217 | HANDLE_DW_TAG(0x4103, class_template, 0, GNU, DW_KIND_NONE) |
||
218 | |||
219 | HANDLE_DW_TAG(0x4104, GNU_BINCL, 0, GNU, DW_KIND_NONE) |
||
220 | HANDLE_DW_TAG(0x4105, GNU_EINCL, 0, GNU, DW_KIND_NONE) |
||
221 | HANDLE_DW_TAG(0x4106, GNU_template_template_param, 0, GNU, DW_KIND_NONE) |
||
222 | HANDLE_DW_TAG(0x4107, GNU_template_parameter_pack, 0, GNU, DW_KIND_NONE) |
||
223 | HANDLE_DW_TAG(0x4108, GNU_formal_parameter_pack, 0, GNU, DW_KIND_NONE) |
||
224 | HANDLE_DW_TAG(0x4109, GNU_call_site, 0, GNU, DW_KIND_NONE) |
||
225 | HANDLE_DW_TAG(0x410a, GNU_call_site_parameter, 0, GNU, DW_KIND_NONE) |
||
226 | |||
227 | HANDLE_DW_TAG(0x4200, APPLE_property, 0, APPLE, DW_KIND_NONE) |
||
228 | |||
229 | HANDLE_DW_TAG(0x4201, SUN_function_template, 0, SUN, DW_KIND_NONE) |
||
230 | HANDLE_DW_TAG(0x4202, SUN_class_template, 0, SUN, DW_KIND_NONE) |
||
231 | HANDLE_DW_TAG(0x4203, SUN_struct_template, 0, SUN, DW_KIND_NONE) |
||
232 | HANDLE_DW_TAG(0x4204, SUN_union_template, 0, SUN, DW_KIND_NONE) |
||
233 | HANDLE_DW_TAG(0x4205, SUN_indirect_inheritance, 0, SUN, DW_KIND_NONE) |
||
234 | HANDLE_DW_TAG(0x4206, SUN_codeflags, 0, SUN, DW_KIND_NONE) |
||
235 | HANDLE_DW_TAG(0x4207, SUN_memop_info, 0, SUN, DW_KIND_NONE) |
||
236 | HANDLE_DW_TAG(0x4208, SUN_omp_child_func, 0, SUN, DW_KIND_NONE) |
||
237 | HANDLE_DW_TAG(0x4209, SUN_rtti_descriptor, 0, SUN, DW_KIND_NONE) |
||
238 | HANDLE_DW_TAG(0x420a, SUN_dtor_info, 0, SUN, DW_KIND_NONE) |
||
239 | HANDLE_DW_TAG(0x420b, SUN_dtor, 0, SUN, DW_KIND_NONE) |
||
240 | HANDLE_DW_TAG(0x420c, SUN_f90_interface, 0, SUN, DW_KIND_NONE) |
||
241 | HANDLE_DW_TAG(0x420d, SUN_fortran_vax_structure, 0, SUN, DW_KIND_NONE) |
||
242 | HANDLE_DW_TAG(0x42ff, SUN_hi, 0, SUN, DW_KIND_NONE) |
||
243 | |||
244 | // LLVM |
||
245 | HANDLE_DW_TAG(0x4300, LLVM_ptrauth_type, 0, LLVM, DW_KIND_TYPE) |
||
246 | |||
247 | // DSP-C/Starcore __circ, _rev |
||
248 | HANDLE_DW_TAG(0x5101, ALTIUM_circ_type, 0, ALTIUM, DW_KIND_NONE) |
||
249 | HANDLE_DW_TAG(0x5102, ALTIUM_mwa_circ_type, 0, ALTIUM, DW_KIND_NONE) |
||
250 | HANDLE_DW_TAG(0x5103, ALTIUM_rev_carry_type, 0, ALTIUM, DW_KIND_NONE) |
||
251 | // M16 __rom qualifier |
||
252 | HANDLE_DW_TAG(0x5111, ALTIUM_rom, 0, ALTIUM, DW_KIND_NONE) |
||
253 | |||
254 | // LLVM |
||
255 | HANDLE_DW_TAG(0x6000, LLVM_annotation, 0, LLVM, DW_KIND_NONE) |
||
256 | |||
257 | // Green Hills. |
||
258 | HANDLE_DW_TAG(0x8004, GHS_namespace, 0, GHS, DW_KIND_NONE) |
||
259 | HANDLE_DW_TAG(0x8005, GHS_using_namespace, 0, GHS, DW_KIND_NONE) |
||
260 | HANDLE_DW_TAG(0x8006, GHS_using_declaration, 0, GHS, DW_KIND_NONE) |
||
261 | HANDLE_DW_TAG(0x8007, GHS_template_templ_param, 0, GHS, DW_KIND_NONE) |
||
262 | |||
263 | // Unified Parallel C. |
||
264 | HANDLE_DW_TAG(0x8765, UPC_shared_type, 0, UPC, DW_KIND_NONE) |
||
265 | HANDLE_DW_TAG(0x8766, UPC_strict_type, 0, UPC, DW_KIND_NONE) |
||
266 | HANDLE_DW_TAG(0x8767, UPC_relaxed, 0, UPC, DW_KIND_NONE) |
||
267 | |||
268 | HANDLE_DW_TAG(0xa000, PGI_kanji_type, 0, PGI, DW_KIND_NONE) |
||
269 | HANDLE_DW_TAG(0xa020, PGI_interface_block, 0, PGI, DW_KIND_NONE) |
||
270 | |||
271 | HANDLE_DW_TAG(0xb000, BORLAND_property, 0, BORLAND, DW_KIND_NONE) |
||
272 | HANDLE_DW_TAG(0xb001, BORLAND_Delphi_string, 0, BORLAND, DW_KIND_TYPE) |
||
273 | HANDLE_DW_TAG(0xb002, BORLAND_Delphi_dynamic_array, 0, BORLAND, DW_KIND_TYPE) |
||
274 | HANDLE_DW_TAG(0xb003, BORLAND_Delphi_set, 0, BORLAND, DW_KIND_TYPE) |
||
275 | HANDLE_DW_TAG(0xb004, BORLAND_Delphi_variant, 0, BORLAND, DW_KIND_TYPE) |
||
276 | |||
277 | // Attributes. |
||
278 | HANDLE_DW_AT(0x01, sibling, 2, DWARF) |
||
279 | HANDLE_DW_AT(0x02, location, 2, DWARF) |
||
280 | HANDLE_DW_AT(0x03, name, 2, DWARF) |
||
281 | HANDLE_DW_AT(0x09, ordering, 2, DWARF) |
||
282 | HANDLE_DW_AT(0x0b, byte_size, 2, DWARF) |
||
283 | HANDLE_DW_AT(0x0c, bit_offset, 2, DWARF) |
||
284 | HANDLE_DW_AT(0x0d, bit_size, 2, DWARF) |
||
285 | HANDLE_DW_AT(0x10, stmt_list, 2, DWARF) |
||
286 | HANDLE_DW_AT(0x11, low_pc, 2, DWARF) |
||
287 | HANDLE_DW_AT(0x12, high_pc, 2, DWARF) |
||
288 | HANDLE_DW_AT(0x13, language, 2, DWARF) |
||
289 | HANDLE_DW_AT(0x15, discr, 2, DWARF) |
||
290 | HANDLE_DW_AT(0x16, discr_value, 2, DWARF) |
||
291 | HANDLE_DW_AT(0x17, visibility, 2, DWARF) |
||
292 | HANDLE_DW_AT(0x18, import, 2, DWARF) |
||
293 | HANDLE_DW_AT(0x19, string_length, 2, DWARF) |
||
294 | HANDLE_DW_AT(0x1a, common_reference, 2, DWARF) |
||
295 | HANDLE_DW_AT(0x1b, comp_dir, 2, DWARF) |
||
296 | HANDLE_DW_AT(0x1c, const_value, 2, DWARF) |
||
297 | HANDLE_DW_AT(0x1d, containing_type, 2, DWARF) |
||
298 | HANDLE_DW_AT(0x1e, default_value, 2, DWARF) |
||
299 | HANDLE_DW_AT(0x20, inline, 2, DWARF) |
||
300 | HANDLE_DW_AT(0x21, is_optional, 2, DWARF) |
||
301 | HANDLE_DW_AT(0x22, lower_bound, 2, DWARF) |
||
302 | HANDLE_DW_AT(0x25, producer, 2, DWARF) |
||
303 | HANDLE_DW_AT(0x27, prototyped, 2, DWARF) |
||
304 | HANDLE_DW_AT(0x2a, return_addr, 2, DWARF) |
||
305 | HANDLE_DW_AT(0x2c, start_scope, 2, DWARF) |
||
306 | HANDLE_DW_AT(0x2e, bit_stride, 2, DWARF) |
||
307 | HANDLE_DW_AT(0x2f, upper_bound, 2, DWARF) |
||
308 | HANDLE_DW_AT(0x31, abstract_origin, 2, DWARF) |
||
309 | HANDLE_DW_AT(0x32, accessibility, 2, DWARF) |
||
310 | HANDLE_DW_AT(0x33, address_class, 2, DWARF) |
||
311 | HANDLE_DW_AT(0x34, artificial, 2, DWARF) |
||
312 | HANDLE_DW_AT(0x35, base_types, 2, DWARF) |
||
313 | HANDLE_DW_AT(0x36, calling_convention, 2, DWARF) |
||
314 | HANDLE_DW_AT(0x37, count, 2, DWARF) |
||
315 | HANDLE_DW_AT(0x38, data_member_location, 2, DWARF) |
||
316 | HANDLE_DW_AT(0x39, decl_column, 2, DWARF) |
||
317 | HANDLE_DW_AT(0x3a, decl_file, 2, DWARF) |
||
318 | HANDLE_DW_AT(0x3b, decl_line, 2, DWARF) |
||
319 | HANDLE_DW_AT(0x3c, declaration, 2, DWARF) |
||
320 | HANDLE_DW_AT(0x3d, discr_list, 2, DWARF) |
||
321 | HANDLE_DW_AT(0x3e, encoding, 2, DWARF) |
||
322 | HANDLE_DW_AT(0x3f, external, 2, DWARF) |
||
323 | HANDLE_DW_AT(0x40, frame_base, 2, DWARF) |
||
324 | HANDLE_DW_AT(0x41, friend, 2, DWARF) |
||
325 | HANDLE_DW_AT(0x42, identifier_case, 2, DWARF) |
||
326 | HANDLE_DW_AT(0x43, macro_info, 2, DWARF) |
||
327 | HANDLE_DW_AT(0x44, namelist_item, 2, DWARF) |
||
328 | HANDLE_DW_AT(0x45, priority, 2, DWARF) |
||
329 | HANDLE_DW_AT(0x46, segment, 2, DWARF) |
||
330 | HANDLE_DW_AT(0x47, specification, 2, DWARF) |
||
331 | HANDLE_DW_AT(0x48, static_link, 2, DWARF) |
||
332 | HANDLE_DW_AT(0x49, type, 2, DWARF) |
||
333 | HANDLE_DW_AT(0x4a, use_location, 2, DWARF) |
||
334 | HANDLE_DW_AT(0x4b, variable_parameter, 2, DWARF) |
||
335 | HANDLE_DW_AT(0x4c, virtuality, 2, DWARF) |
||
336 | HANDLE_DW_AT(0x4d, vtable_elem_location, 2, DWARF) |
||
337 | // New in DWARF v3: |
||
338 | HANDLE_DW_AT(0x4e, allocated, 3, DWARF) |
||
339 | HANDLE_DW_AT(0x4f, associated, 3, DWARF) |
||
340 | HANDLE_DW_AT(0x50, data_location, 3, DWARF) |
||
341 | HANDLE_DW_AT(0x51, byte_stride, 3, DWARF) |
||
342 | HANDLE_DW_AT(0x52, entry_pc, 3, DWARF) |
||
343 | HANDLE_DW_AT(0x53, use_UTF8, 3, DWARF) |
||
344 | HANDLE_DW_AT(0x54, extension, 3, DWARF) |
||
345 | HANDLE_DW_AT(0x55, ranges, 3, DWARF) |
||
346 | HANDLE_DW_AT(0x56, trampoline, 3, DWARF) |
||
347 | HANDLE_DW_AT(0x57, call_column, 3, DWARF) |
||
348 | HANDLE_DW_AT(0x58, call_file, 3, DWARF) |
||
349 | HANDLE_DW_AT(0x59, call_line, 3, DWARF) |
||
350 | HANDLE_DW_AT(0x5a, description, 3, DWARF) |
||
351 | HANDLE_DW_AT(0x5b, binary_scale, 3, DWARF) |
||
352 | HANDLE_DW_AT(0x5c, decimal_scale, 3, DWARF) |
||
353 | HANDLE_DW_AT(0x5d, small, 3, DWARF) |
||
354 | HANDLE_DW_AT(0x5e, decimal_sign, 3, DWARF) |
||
355 | HANDLE_DW_AT(0x5f, digit_count, 3, DWARF) |
||
356 | HANDLE_DW_AT(0x60, picture_string, 3, DWARF) |
||
357 | HANDLE_DW_AT(0x61, mutable, 3, DWARF) |
||
358 | HANDLE_DW_AT(0x62, threads_scaled, 3, DWARF) |
||
359 | HANDLE_DW_AT(0x63, explicit, 3, DWARF) |
||
360 | HANDLE_DW_AT(0x64, object_pointer, 3, DWARF) |
||
361 | HANDLE_DW_AT(0x65, endianity, 3, DWARF) |
||
362 | HANDLE_DW_AT(0x66, elemental, 3, DWARF) |
||
363 | HANDLE_DW_AT(0x67, pure, 3, DWARF) |
||
364 | HANDLE_DW_AT(0x68, recursive, 3, DWARF) |
||
365 | // New in DWARF v4: |
||
366 | HANDLE_DW_AT(0x69, signature, 4, DWARF) |
||
367 | HANDLE_DW_AT(0x6a, main_subprogram, 4, DWARF) |
||
368 | HANDLE_DW_AT(0x6b, data_bit_offset, 4, DWARF) |
||
369 | HANDLE_DW_AT(0x6c, const_expr, 4, DWARF) |
||
370 | HANDLE_DW_AT(0x6d, enum_class, 4, DWARF) |
||
371 | HANDLE_DW_AT(0x6e, linkage_name, 4, DWARF) |
||
372 | // New in DWARF v5: |
||
373 | HANDLE_DW_AT(0x6f, string_length_bit_size, 5, DWARF) |
||
374 | HANDLE_DW_AT(0x70, string_length_byte_size, 5, DWARF) |
||
375 | HANDLE_DW_AT(0x71, rank, 5, DWARF) |
||
376 | HANDLE_DW_AT(0x72, str_offsets_base, 5, DWARF) |
||
377 | HANDLE_DW_AT(0x73, addr_base, 5, DWARF) |
||
378 | HANDLE_DW_AT(0x74, rnglists_base, 5, DWARF) |
||
379 | HANDLE_DW_AT(0x75, dwo_id, 0, DWARF) ///< Retracted from DWARF v5. |
||
380 | HANDLE_DW_AT(0x76, dwo_name, 5, DWARF) |
||
381 | HANDLE_DW_AT(0x77, reference, 5, DWARF) |
||
382 | HANDLE_DW_AT(0x78, rvalue_reference, 5, DWARF) |
||
383 | HANDLE_DW_AT(0x79, macros, 5, DWARF) |
||
384 | HANDLE_DW_AT(0x7a, call_all_calls, 5, DWARF) |
||
385 | HANDLE_DW_AT(0x7b, call_all_source_calls, 5, DWARF) |
||
386 | HANDLE_DW_AT(0x7c, call_all_tail_calls, 5, DWARF) |
||
387 | HANDLE_DW_AT(0x7d, call_return_pc, 5, DWARF) |
||
388 | HANDLE_DW_AT(0x7e, call_value, 5, DWARF) |
||
389 | HANDLE_DW_AT(0x7f, call_origin, 5, DWARF) |
||
390 | HANDLE_DW_AT(0x80, call_parameter, 5, DWARF) |
||
391 | HANDLE_DW_AT(0x81, call_pc, 5, DWARF) |
||
392 | HANDLE_DW_AT(0x82, call_tail_call, 5, DWARF) |
||
393 | HANDLE_DW_AT(0x83, call_target, 5, DWARF) |
||
394 | HANDLE_DW_AT(0x84, call_target_clobbered, 5, DWARF) |
||
395 | HANDLE_DW_AT(0x85, call_data_location, 5, DWARF) |
||
396 | HANDLE_DW_AT(0x86, call_data_value, 5, DWARF) |
||
397 | HANDLE_DW_AT(0x87, noreturn, 5, DWARF) |
||
398 | HANDLE_DW_AT(0x88, alignment, 5, DWARF) |
||
399 | HANDLE_DW_AT(0x89, export_symbols, 5, DWARF) |
||
400 | HANDLE_DW_AT(0x8a, deleted, 5, DWARF) |
||
401 | HANDLE_DW_AT(0x8b, defaulted, 5, DWARF) |
||
402 | HANDLE_DW_AT(0x8c, loclists_base, 5, DWARF) |
||
403 | |||
404 | // Vendor extensions: |
||
405 | HANDLE_DW_AT(0x806, GHS_namespace_alias, 0, GHS) |
||
406 | HANDLE_DW_AT(0x807, GHS_using_namespace, 0, GHS) |
||
407 | HANDLE_DW_AT(0x808, GHS_using_declaration, 0, GHS) |
||
408 | |||
409 | HANDLE_DW_AT(0x2001, MIPS_fde, 0, MIPS) |
||
410 | HANDLE_DW_AT(0x2002, MIPS_loop_begin, 0, MIPS) |
||
411 | HANDLE_DW_AT(0x2003, MIPS_tail_loop_begin, 0, MIPS) |
||
412 | HANDLE_DW_AT(0x2004, MIPS_epilog_begin, 0, MIPS) |
||
413 | HANDLE_DW_AT(0x2005, MIPS_loop_unroll_factor, 0, MIPS) |
||
414 | HANDLE_DW_AT(0x2006, MIPS_software_pipeline_depth, 0, MIPS) |
||
415 | HANDLE_DW_AT(0x2007, MIPS_linkage_name, 0, MIPS) |
||
416 | // Conflicting: |
||
417 | // HANDLE_DW_AT(0x2007, GHS_mangled, 0, GHS) |
||
418 | HANDLE_DW_AT(0x2008, MIPS_stride, 0, MIPS) |
||
419 | HANDLE_DW_AT(0x2009, MIPS_abstract_name, 0, MIPS) |
||
420 | HANDLE_DW_AT(0x200a, MIPS_clone_origin, 0, MIPS) |
||
421 | HANDLE_DW_AT(0x200b, MIPS_has_inlines, 0, MIPS) |
||
422 | HANDLE_DW_AT(0x200c, MIPS_stride_byte, 0, MIPS) |
||
423 | HANDLE_DW_AT(0x200d, MIPS_stride_elem, 0, MIPS) |
||
424 | HANDLE_DW_AT(0x200e, MIPS_ptr_dopetype, 0, MIPS) |
||
425 | HANDLE_DW_AT(0x200f, MIPS_allocatable_dopetype, 0, MIPS) |
||
426 | HANDLE_DW_AT(0x2010, MIPS_assumed_shape_dopetype, 0, MIPS) |
||
427 | |||
428 | // This one appears to have only been implemented by Open64 for |
||
429 | // fortran and may conflict with other extensions. |
||
430 | HANDLE_DW_AT(0x2011, MIPS_assumed_size, 0, MIPS) |
||
431 | |||
432 | // HP 0x2001-0x2011 conflict with MIPS |
||
433 | // HANDLE_DW_AT(0x2001, HP_unmodifiable, 0, HP) |
||
434 | // HANDLE_DW_AT(0x2005, HP_prologue, 0, HP) |
||
435 | // HANDLE_DW_AT(0x2008, HP_epilogue, 0, HP) |
||
436 | // HANDLE_DW_AT(0x2010, HP_actuals_stmt_list, 0, HP) |
||
437 | // HANDLE_DW_AT(0x2011, HP_proc_per_section, 0, HP) |
||
438 | |||
439 | HANDLE_DW_AT(0x2012, HP_raw_data_ptr, 0, HP) |
||
440 | HANDLE_DW_AT(0x2013, HP_pass_by_reference, 0, HP) |
||
441 | HANDLE_DW_AT(0x2014, HP_opt_level, 0, HP) |
||
442 | HANDLE_DW_AT(0x2015, HP_prof_version_id, 0, HP) |
||
443 | HANDLE_DW_AT(0x2016, HP_opt_flags, 0, HP) |
||
444 | HANDLE_DW_AT(0x2017, HP_cold_region_low_pc, 0, HP) |
||
445 | HANDLE_DW_AT(0x2018, HP_cold_region_high_pc, 0, HP) |
||
446 | HANDLE_DW_AT(0x2019, HP_all_variables_modifiable, 0, HP) |
||
447 | HANDLE_DW_AT(0x201a, HP_linkage_name, 0, HP) |
||
448 | HANDLE_DW_AT(0x201b, HP_prof_flags, 0, HP) |
||
449 | HANDLE_DW_AT(0x201f, HP_unit_name, 0, HP) |
||
450 | HANDLE_DW_AT(0x2020, HP_unit_size, 0, HP) |
||
451 | HANDLE_DW_AT(0x2021, HP_widened_byte_size, 0, HP) |
||
452 | HANDLE_DW_AT(0x2022, HP_definition_points, 0, HP) |
||
453 | HANDLE_DW_AT(0x2023, HP_default_location, 0, HP) |
||
454 | HANDLE_DW_AT(0x2029, HP_is_result_param, 0, HP) |
||
455 | |||
456 | // COMPAQ/HP Conflicts with MIPS/HP 0x2001 - 0x2005 |
||
457 | // HANDLE_DW_AT(0x2001, CPQ_discontig_ranges, 0, COMPAQ) |
||
458 | // HANDLE_DW_AT(0x2002, CPQ_semantic_events, 0, COMPAQ) |
||
459 | // HANDLE_DW_AT(0x2003, CPQ_split_lifetimes_var, 0, COMPAQ) |
||
460 | // HANDLE_DW_AT(0x2004, CPQ_split_lifetimes_rtn, 0, COMPAQ) |
||
461 | // HANDLE_DW_AT(0x2005, CPQ_prologue_length, 0, COMPAQ) |
||
462 | |||
463 | HANDLE_DW_AT(0x2026, DW_AT_INTEL_other_endian, 0, INTEL) |
||
464 | |||
465 | // Green Hills. |
||
466 | HANDLE_DW_AT(0x2083, GHS_rsm, 0, GHS) |
||
467 | HANDLE_DW_AT(0x2085, GHS_frsm, 0, GHS) |
||
468 | HANDLE_DW_AT(0x2086, GHS_frames, 0, GHS) |
||
469 | HANDLE_DW_AT(0x2087, GHS_rso, 0, GHS) |
||
470 | HANDLE_DW_AT(0x2092, GHS_subcpu, 0, GHS) |
||
471 | HANDLE_DW_AT(0x2093, GHS_lbrace_line, 0, GHS) |
||
472 | |||
473 | // GNU extensions |
||
474 | HANDLE_DW_AT(0x2101, sf_names, 0, GNU) |
||
475 | HANDLE_DW_AT(0x2102, src_info, 0, GNU) |
||
476 | HANDLE_DW_AT(0x2103, mac_info, 0, GNU) |
||
477 | HANDLE_DW_AT(0x2104, src_coords, 0, GNU) |
||
478 | HANDLE_DW_AT(0x2105, body_begin, 0, GNU) |
||
479 | HANDLE_DW_AT(0x2106, body_end, 0, GNU) |
||
480 | HANDLE_DW_AT(0x2107, GNU_vector, 0, GNU) |
||
481 | HANDLE_DW_AT(0x210f, GNU_odr_signature, 0, GNU) |
||
482 | HANDLE_DW_AT(0x2110, GNU_template_name, 0, GNU) |
||
483 | HANDLE_DW_AT(0x2111, GNU_call_site_value, 0, GNU) |
||
484 | HANDLE_DW_AT(0x2112, GNU_call_site_data_value, 0, GNU) |
||
485 | HANDLE_DW_AT(0x2113, GNU_call_site_target, 0, GNU) |
||
486 | HANDLE_DW_AT(0x2114, GNU_call_site_target_clobbered, 0, GNU) |
||
487 | HANDLE_DW_AT(0x2115, GNU_tail_call, 0, GNU) |
||
488 | HANDLE_DW_AT(0x2116, GNU_all_tail_call_sites, 0, GNU) |
||
489 | HANDLE_DW_AT(0x2117, GNU_all_call_sites, 0, GNU) |
||
490 | HANDLE_DW_AT(0x2118, GNU_all_source_call_sites, 0, GNU) |
||
491 | HANDLE_DW_AT(0x2119, GNU_macros, 0, GNU) |
||
492 | HANDLE_DW_AT(0x211a, GNU_deleted, 0, GNU) |
||
493 | // Extensions for Fission proposal. |
||
494 | HANDLE_DW_AT(0x2130, GNU_dwo_name, 0, GNU) |
||
495 | HANDLE_DW_AT(0x2131, GNU_dwo_id, 0, GNU) |
||
496 | HANDLE_DW_AT(0x2132, GNU_ranges_base, 0, GNU) |
||
497 | HANDLE_DW_AT(0x2133, GNU_addr_base, 0, GNU) |
||
498 | HANDLE_DW_AT(0x2134, GNU_pubnames, 0, GNU) |
||
499 | HANDLE_DW_AT(0x2135, GNU_pubtypes, 0, GNU) |
||
500 | HANDLE_DW_AT(0x2136, GNU_discriminator, 0, GNU) |
||
501 | HANDLE_DW_AT(0x2137, GNU_locviews, 0, GNU) |
||
502 | HANDLE_DW_AT(0x2138, GNU_entry_view, 0, GNU) |
||
503 | |||
504 | HANDLE_DW_AT(0x2201, SUN_template, 0, SUN) |
||
505 | // Conflicting: |
||
506 | // HANDLE_DW_AT(0x2201, VMS_rtnbeg_pd_address); |
||
507 | |||
508 | HANDLE_DW_AT(0x2202, SUN_alignment, 0, SUN) |
||
509 | HANDLE_DW_AT(0x2203, SUN_vtable, 0, SUN) |
||
510 | HANDLE_DW_AT(0x2204, SUN_count_guarantee, 0, SUN) |
||
511 | HANDLE_DW_AT(0x2205, SUN_command_line, 0, SUN) |
||
512 | HANDLE_DW_AT(0x2206, SUN_vbase, 0, SUN) |
||
513 | HANDLE_DW_AT(0x2207, SUN_compile_options, 0, SUN) |
||
514 | HANDLE_DW_AT(0x2208, SUN_language, 0, SUN) |
||
515 | HANDLE_DW_AT(0x2209, SUN_browser_file, 0, SUN) |
||
516 | HANDLE_DW_AT(0x2210, SUN_vtable_abi, 0, SUN) |
||
517 | HANDLE_DW_AT(0x2211, SUN_func_offsets, 0, SUN) |
||
518 | HANDLE_DW_AT(0x2212, SUN_cf_kind, 0, SUN) |
||
519 | HANDLE_DW_AT(0x2213, SUN_vtable_index, 0, SUN) |
||
520 | HANDLE_DW_AT(0x2214, SUN_omp_tpriv_addr, 0, SUN) |
||
521 | HANDLE_DW_AT(0x2215, SUN_omp_child_func, 0, SUN) |
||
522 | HANDLE_DW_AT(0x2216, SUN_func_offset, 0, SUN) |
||
523 | HANDLE_DW_AT(0x2217, SUN_memop_type_ref, 0, SUN) |
||
524 | HANDLE_DW_AT(0x2218, SUN_profile_id, 0, SUN) |
||
525 | HANDLE_DW_AT(0x2219, SUN_memop_signature, 0, SUN) |
||
526 | |||
527 | HANDLE_DW_AT(0x2220, SUN_obj_dir, 0, SUN) |
||
528 | HANDLE_DW_AT(0x2221, SUN_obj_file, 0, SUN) |
||
529 | HANDLE_DW_AT(0x2222, SUN_original_name, 0, SUN) |
||
530 | HANDLE_DW_AT(0x2223, SUN_hwcprof_signature, 0, SUN) |
||
531 | HANDLE_DW_AT(0x2224, SUN_amd64_parmdump, 0, SUN) |
||
532 | HANDLE_DW_AT(0x2225, SUN_part_link_name, 0, SUN) |
||
533 | HANDLE_DW_AT(0x2226, SUN_link_name, 0, SUN) |
||
534 | HANDLE_DW_AT(0x2227, SUN_pass_with_const, 0, SUN) |
||
535 | HANDLE_DW_AT(0x2228, SUN_return_with_const, 0, SUN) |
||
536 | HANDLE_DW_AT(0x2229, SUN_import_by_name, 0, SUN) |
||
537 | HANDLE_DW_AT(0x222a, SUN_90_pointer, 0, SUN) |
||
538 | HANDLE_DW_AT(0x222b, SUN_pass_by_ref, 0, SUN) |
||
539 | HANDLE_DW_AT(0x222c, SUN_f90_allocatable, 0, SUN) |
||
540 | HANDLE_DW_AT(0x222d, SUN_f90_assumed_shape_array, 0, SUN) |
||
541 | HANDLE_DW_AT(0x222e, SUN_c_vla, 0, SUN) |
||
542 | HANDLE_DW_AT(0x2230, SUN_return_value_ptr, 0, SUN) |
||
543 | HANDLE_DW_AT(0x2231, SUN_dtor_start, 0, SUN) |
||
544 | HANDLE_DW_AT(0x2232, SUN_dtor_length, 0, SUN) |
||
545 | HANDLE_DW_AT(0x2233, SUN_dtor_state_initial, 0, SUN) |
||
546 | HANDLE_DW_AT(0x2234, SUN_dtor_state_final, 0, SUN) |
||
547 | HANDLE_DW_AT(0x2235, SUN_dtor_state_deltas, 0, SUN) |
||
548 | HANDLE_DW_AT(0x2236, SUN_import_by_lname, 0, SUN) |
||
549 | HANDLE_DW_AT(0x2237, SUN_f90_use_only, 0, SUN) |
||
550 | HANDLE_DW_AT(0x2238, SUN_namelist_spec, 0, SUN) |
||
551 | HANDLE_DW_AT(0x2239, SUN_is_omp_child_func, 0, SUN) |
||
552 | HANDLE_DW_AT(0x223a, SUN_fortran_main_alias, 0, SUN) |
||
553 | HANDLE_DW_AT(0x223b, SUN_fortran_based, 0, SUN) |
||
554 | |||
555 | HANDLE_DW_AT(0x2300, ALTIUM_loclist, 0, ALTIUM) |
||
556 | |||
557 | HANDLE_DW_AT(0x2301, use_GNAT_descriptive_type, 0, GNU) |
||
558 | HANDLE_DW_AT(0x2302, GNAT_descriptive_type, 0, GNU) |
||
559 | HANDLE_DW_AT(0x2303, GNU_numerator, 0, GNU) |
||
560 | HANDLE_DW_AT(0x2304, GNU_denominator, 0, GNU) |
||
561 | HANDLE_DW_AT(0x2305, GNU_bias, 0, GNU) |
||
562 | |||
563 | HANDLE_DW_AT(0x2900, GO_kind, 0, GO) |
||
564 | HANDLE_DW_AT(0x2901, GO_key, 0, GO) |
||
565 | HANDLE_DW_AT(0x2902, GO_elem, 0, GO) |
||
566 | HANDLE_DW_AT(0x2903, GO_embedded_field, 0, GO) |
||
567 | HANDLE_DW_AT(0x2904, GO_runtime_type, 0, GO) |
||
568 | |||
569 | HANDLE_DW_AT(0x3210, UPC_threads_scaled, 0, UPC) |
||
570 | |||
571 | HANDLE_DW_AT(0x393e, IBM_wsa_addr, 0, IBM) |
||
572 | HANDLE_DW_AT(0x393f, IBM_home_location, 0, IBM) |
||
573 | HANDLE_DW_AT(0x3940, IBM_alt_srcview, 0, IBM) |
||
574 | |||
575 | // PGI extensions (STMicroelectronics) |
||
576 | HANDLE_DW_AT(0x3a00, PGI_lbase, 0, PGI) |
||
577 | HANDLE_DW_AT(0x3a01, PGI_soffset, 0, PGI) |
||
578 | HANDLE_DW_AT(0x3a02, PGI_lstride, 0, PGI) |
||
579 | |||
580 | // Borland extensions. |
||
581 | HANDLE_DW_AT(0x3b11, BORLAND_property_read, 0, BORLAND) |
||
582 | HANDLE_DW_AT(0x3b12, BORLAND_property_write, 0, BORLAND) |
||
583 | HANDLE_DW_AT(0x3b13, BORLAND_property_implements, 0, BORLAND) |
||
584 | HANDLE_DW_AT(0x3b14, BORLAND_property_index, 0, BORLAND) |
||
585 | HANDLE_DW_AT(0x3b15, BORLAND_property_default, 0, BORLAND) |
||
586 | HANDLE_DW_AT(0x3b20, BORLAND_Delphi_unit, 0, BORLAND) |
||
587 | HANDLE_DW_AT(0x3b21, BORLAND_Delphi_class, 0, BORLAND) |
||
588 | HANDLE_DW_AT(0x3b22, BORLAND_Delphi_record, 0, BORLAND) |
||
589 | HANDLE_DW_AT(0x3b23, BORLAND_Delphi_metaclass, 0, BORLAND) |
||
590 | HANDLE_DW_AT(0x3b24, BORLAND_Delphi_constructor, 0, BORLAND) |
||
591 | HANDLE_DW_AT(0x3b25, BORLAND_Delphi_destructor, 0, BORLAND) |
||
592 | HANDLE_DW_AT(0x3b26, BORLAND_Delphi_anonymous_method, 0, BORLAND) |
||
593 | HANDLE_DW_AT(0x3b27, BORLAND_Delphi_interface, 0, BORLAND) |
||
594 | HANDLE_DW_AT(0x3b28, BORLAND_Delphi_ABI, 0, BORLAND) |
||
595 | HANDLE_DW_AT(0x3b29, BORLAND_Delphi_return, 0, BORLAND) |
||
596 | HANDLE_DW_AT(0x3b30, BORLAND_Delphi_frameptr, 0, BORLAND) |
||
597 | HANDLE_DW_AT(0x3b31, BORLAND_closure, 0, BORLAND) |
||
598 | // LLVM project extensions. |
||
599 | HANDLE_DW_AT(0x3e00, LLVM_include_path, 0, LLVM) |
||
600 | HANDLE_DW_AT(0x3e01, LLVM_config_macros, 0, LLVM) |
||
601 | HANDLE_DW_AT(0x3e02, LLVM_sysroot, 0, LLVM) |
||
602 | HANDLE_DW_AT(0x3e03, LLVM_tag_offset, 0, LLVM) |
||
603 | HANDLE_DW_AT(0x3e04, LLVM_ptrauth_key, 0, LLVM) |
||
604 | HANDLE_DW_AT(0x3e05, LLVM_ptrauth_address_discriminated, 0, LLVM) |
||
605 | HANDLE_DW_AT(0x3e06, LLVM_ptrauth_extra_discriminator, 0, LLVM) |
||
606 | HANDLE_DW_AT(0x3e07, LLVM_apinotes, 0, APPLE) |
||
607 | HANDLE_DW_AT(0x3e08, LLVM_ptrauth_isa_pointer, 0, LLVM) |
||
608 | HANDLE_DW_AT(0x3e09, LLVM_ptrauth_authenticates_null_values, 0, LLVM) |
||
609 | |||
610 | // Apple extensions. |
||
611 | |||
612 | HANDLE_DW_AT(0x3fe1, APPLE_optimized, 0, APPLE) |
||
613 | HANDLE_DW_AT(0x3fe2, APPLE_flags, 0, APPLE) |
||
614 | HANDLE_DW_AT(0x3fe3, APPLE_isa, 0, APPLE) |
||
615 | HANDLE_DW_AT(0x3fe4, APPLE_block, 0, APPLE) |
||
616 | HANDLE_DW_AT(0x3fe5, APPLE_major_runtime_vers, 0, APPLE) |
||
617 | HANDLE_DW_AT(0x3fe6, APPLE_runtime_class, 0, APPLE) |
||
618 | HANDLE_DW_AT(0x3fe7, APPLE_omit_frame_ptr, 0, APPLE) |
||
619 | HANDLE_DW_AT(0x3fe8, APPLE_property_name, 0, APPLE) |
||
620 | HANDLE_DW_AT(0x3fe9, APPLE_property_getter, 0, APPLE) |
||
621 | HANDLE_DW_AT(0x3fea, APPLE_property_setter, 0, APPLE) |
||
622 | HANDLE_DW_AT(0x3feb, APPLE_property_attribute, 0, APPLE) |
||
623 | HANDLE_DW_AT(0x3fec, APPLE_objc_complete_type, 0, APPLE) |
||
624 | HANDLE_DW_AT(0x3fed, APPLE_property, 0, APPLE) |
||
625 | HANDLE_DW_AT(0x3fee, APPLE_objc_direct, 0, APPLE) |
||
626 | HANDLE_DW_AT(0x3fef, APPLE_sdk, 0, APPLE) |
||
627 | |||
628 | // Attribute form encodings. |
||
629 | HANDLE_DW_FORM(0x01, addr, 2, DWARF) |
||
630 | HANDLE_DW_FORM(0x03, block2, 2, DWARF) |
||
631 | HANDLE_DW_FORM(0x04, block4, 2, DWARF) |
||
632 | HANDLE_DW_FORM(0x05, data2, 2, DWARF) |
||
633 | HANDLE_DW_FORM(0x06, data4, 2, DWARF) |
||
634 | HANDLE_DW_FORM(0x07, data8, 2, DWARF) |
||
635 | HANDLE_DW_FORM(0x08, string, 2, DWARF) |
||
636 | HANDLE_DW_FORM(0x09, block, 2, DWARF) |
||
637 | HANDLE_DW_FORM(0x0a, block1, 2, DWARF) |
||
638 | HANDLE_DW_FORM(0x0b, data1, 2, DWARF) |
||
639 | HANDLE_DW_FORM(0x0c, flag, 2, DWARF) |
||
640 | HANDLE_DW_FORM(0x0d, sdata, 2, DWARF) |
||
641 | HANDLE_DW_FORM(0x0e, strp, 2, DWARF) |
||
642 | HANDLE_DW_FORM(0x0f, udata, 2, DWARF) |
||
643 | HANDLE_DW_FORM(0x10, ref_addr, 2, DWARF) |
||
644 | HANDLE_DW_FORM(0x11, ref1, 2, DWARF) |
||
645 | HANDLE_DW_FORM(0x12, ref2, 2, DWARF) |
||
646 | HANDLE_DW_FORM(0x13, ref4, 2, DWARF) |
||
647 | HANDLE_DW_FORM(0x14, ref8, 2, DWARF) |
||
648 | HANDLE_DW_FORM(0x15, ref_udata, 2, DWARF) |
||
649 | HANDLE_DW_FORM(0x16, indirect, 2, DWARF) |
||
650 | // New in DWARF v4: |
||
651 | HANDLE_DW_FORM(0x17, sec_offset, 4, DWARF) |
||
652 | HANDLE_DW_FORM(0x18, exprloc, 4, DWARF) |
||
653 | HANDLE_DW_FORM(0x19, flag_present, 4, DWARF) |
||
654 | // This was defined out of sequence. |
||
655 | HANDLE_DW_FORM(0x20, ref_sig8, 4, DWARF) |
||
656 | // New in DWARF v5: |
||
657 | HANDLE_DW_FORM(0x1a, strx, 5, DWARF) |
||
658 | HANDLE_DW_FORM(0x1b, addrx, 5, DWARF) |
||
659 | HANDLE_DW_FORM(0x1c, ref_sup4, 5, DWARF) |
||
660 | HANDLE_DW_FORM(0x1d, strp_sup, 5, DWARF) |
||
661 | HANDLE_DW_FORM(0x1e, data16, 5, DWARF) |
||
662 | HANDLE_DW_FORM(0x1f, line_strp, 5, DWARF) |
||
663 | HANDLE_DW_FORM(0x21, implicit_const, 5, DWARF) |
||
664 | HANDLE_DW_FORM(0x22, loclistx, 5, DWARF) |
||
665 | HANDLE_DW_FORM(0x23, rnglistx, 5, DWARF) |
||
666 | HANDLE_DW_FORM(0x24, ref_sup8, 5, DWARF) |
||
667 | HANDLE_DW_FORM(0x25, strx1, 5, DWARF) |
||
668 | HANDLE_DW_FORM(0x26, strx2, 5, DWARF) |
||
669 | HANDLE_DW_FORM(0x27, strx3, 5, DWARF) |
||
670 | HANDLE_DW_FORM(0x28, strx4, 5, DWARF) |
||
671 | HANDLE_DW_FORM(0x29, addrx1, 5, DWARF) |
||
672 | HANDLE_DW_FORM(0x2a, addrx2, 5, DWARF) |
||
673 | HANDLE_DW_FORM(0x2b, addrx3, 5, DWARF) |
||
674 | HANDLE_DW_FORM(0x2c, addrx4, 5, DWARF) |
||
675 | // Extensions for Fission proposal |
||
676 | HANDLE_DW_FORM(0x1f01, GNU_addr_index, 0, GNU) |
||
677 | HANDLE_DW_FORM(0x1f02, GNU_str_index, 0, GNU) |
||
678 | // Alternate debug sections proposal (output of "dwz" tool). |
||
679 | HANDLE_DW_FORM(0x1f20, GNU_ref_alt, 0, GNU) |
||
680 | HANDLE_DW_FORM(0x1f21, GNU_strp_alt, 0, GNU) |
||
681 | // LLVM addr+offset extension |
||
682 | HANDLE_DW_FORM(0x2001, LLVM_addrx_offset, 0, LLVM) |
||
683 | |||
684 | // DWARF Expression operators. |
||
685 | HANDLE_DW_OP(0x03, addr, 2, DWARF) |
||
686 | HANDLE_DW_OP(0x06, deref, 2, DWARF) |
||
687 | HANDLE_DW_OP(0x08, const1u, 2, DWARF) |
||
688 | HANDLE_DW_OP(0x09, const1s, 2, DWARF) |
||
689 | HANDLE_DW_OP(0x0a, const2u, 2, DWARF) |
||
690 | HANDLE_DW_OP(0x0b, const2s, 2, DWARF) |
||
691 | HANDLE_DW_OP(0x0c, const4u, 2, DWARF) |
||
692 | HANDLE_DW_OP(0x0d, const4s, 2, DWARF) |
||
693 | HANDLE_DW_OP(0x0e, const8u, 2, DWARF) |
||
694 | HANDLE_DW_OP(0x0f, const8s, 2, DWARF) |
||
695 | HANDLE_DW_OP(0x10, constu, 2, DWARF) |
||
696 | HANDLE_DW_OP(0x11, consts, 2, DWARF) |
||
697 | HANDLE_DW_OP(0x12, dup, 2, DWARF) |
||
698 | HANDLE_DW_OP(0x13, drop, 2, DWARF) |
||
699 | HANDLE_DW_OP(0x14, over, 2, DWARF) |
||
700 | HANDLE_DW_OP(0x15, pick, 2, DWARF) |
||
701 | HANDLE_DW_OP(0x16, swap, 2, DWARF) |
||
702 | HANDLE_DW_OP(0x17, rot, 2, DWARF) |
||
703 | HANDLE_DW_OP(0x18, xderef, 2, DWARF) |
||
704 | HANDLE_DW_OP(0x19, abs, 2, DWARF) |
||
705 | HANDLE_DW_OP(0x1a, and, 2, DWARF) |
||
706 | HANDLE_DW_OP(0x1b, div, 2, DWARF) |
||
707 | HANDLE_DW_OP(0x1c, minus, 2, DWARF) |
||
708 | HANDLE_DW_OP(0x1d, mod, 2, DWARF) |
||
709 | HANDLE_DW_OP(0x1e, mul, 2, DWARF) |
||
710 | HANDLE_DW_OP(0x1f, neg, 2, DWARF) |
||
711 | HANDLE_DW_OP(0x20, not, 2, DWARF) |
||
712 | HANDLE_DW_OP(0x21, or, 2, DWARF) |
||
713 | HANDLE_DW_OP(0x22, plus, 2, DWARF) |
||
714 | HANDLE_DW_OP(0x23, plus_uconst, 2, DWARF) |
||
715 | HANDLE_DW_OP(0x24, shl, 2, DWARF) |
||
716 | HANDLE_DW_OP(0x25, shr, 2, DWARF) |
||
717 | HANDLE_DW_OP(0x26, shra, 2, DWARF) |
||
718 | HANDLE_DW_OP(0x27, xor, 2, DWARF) |
||
719 | HANDLE_DW_OP(0x28, bra, 2, DWARF) |
||
720 | HANDLE_DW_OP(0x29, eq, 2, DWARF) |
||
721 | HANDLE_DW_OP(0x2a, ge, 2, DWARF) |
||
722 | HANDLE_DW_OP(0x2b, gt, 2, DWARF) |
||
723 | HANDLE_DW_OP(0x2c, le, 2, DWARF) |
||
724 | HANDLE_DW_OP(0x2d, lt, 2, DWARF) |
||
725 | HANDLE_DW_OP(0x2e, ne, 2, DWARF) |
||
726 | HANDLE_DW_OP(0x2f, skip, 2, DWARF) |
||
727 | HANDLE_DW_OP(0x30, lit0, 2, DWARF) |
||
728 | HANDLE_DW_OP(0x31, lit1, 2, DWARF) |
||
729 | HANDLE_DW_OP(0x32, lit2, 2, DWARF) |
||
730 | HANDLE_DW_OP(0x33, lit3, 2, DWARF) |
||
731 | HANDLE_DW_OP(0x34, lit4, 2, DWARF) |
||
732 | HANDLE_DW_OP(0x35, lit5, 2, DWARF) |
||
733 | HANDLE_DW_OP(0x36, lit6, 2, DWARF) |
||
734 | HANDLE_DW_OP(0x37, lit7, 2, DWARF) |
||
735 | HANDLE_DW_OP(0x38, lit8, 2, DWARF) |
||
736 | HANDLE_DW_OP(0x39, lit9, 2, DWARF) |
||
737 | HANDLE_DW_OP(0x3a, lit10, 2, DWARF) |
||
738 | HANDLE_DW_OP(0x3b, lit11, 2, DWARF) |
||
739 | HANDLE_DW_OP(0x3c, lit12, 2, DWARF) |
||
740 | HANDLE_DW_OP(0x3d, lit13, 2, DWARF) |
||
741 | HANDLE_DW_OP(0x3e, lit14, 2, DWARF) |
||
742 | HANDLE_DW_OP(0x3f, lit15, 2, DWARF) |
||
743 | HANDLE_DW_OP(0x40, lit16, 2, DWARF) |
||
744 | HANDLE_DW_OP(0x41, lit17, 2, DWARF) |
||
745 | HANDLE_DW_OP(0x42, lit18, 2, DWARF) |
||
746 | HANDLE_DW_OP(0x43, lit19, 2, DWARF) |
||
747 | HANDLE_DW_OP(0x44, lit20, 2, DWARF) |
||
748 | HANDLE_DW_OP(0x45, lit21, 2, DWARF) |
||
749 | HANDLE_DW_OP(0x46, lit22, 2, DWARF) |
||
750 | HANDLE_DW_OP(0x47, lit23, 2, DWARF) |
||
751 | HANDLE_DW_OP(0x48, lit24, 2, DWARF) |
||
752 | HANDLE_DW_OP(0x49, lit25, 2, DWARF) |
||
753 | HANDLE_DW_OP(0x4a, lit26, 2, DWARF) |
||
754 | HANDLE_DW_OP(0x4b, lit27, 2, DWARF) |
||
755 | HANDLE_DW_OP(0x4c, lit28, 2, DWARF) |
||
756 | HANDLE_DW_OP(0x4d, lit29, 2, DWARF) |
||
757 | HANDLE_DW_OP(0x4e, lit30, 2, DWARF) |
||
758 | HANDLE_DW_OP(0x4f, lit31, 2, DWARF) |
||
759 | HANDLE_DW_OP(0x50, reg0, 2, DWARF) |
||
760 | HANDLE_DW_OP(0x51, reg1, 2, DWARF) |
||
761 | HANDLE_DW_OP(0x52, reg2, 2, DWARF) |
||
762 | HANDLE_DW_OP(0x53, reg3, 2, DWARF) |
||
763 | HANDLE_DW_OP(0x54, reg4, 2, DWARF) |
||
764 | HANDLE_DW_OP(0x55, reg5, 2, DWARF) |
||
765 | HANDLE_DW_OP(0x56, reg6, 2, DWARF) |
||
766 | HANDLE_DW_OP(0x57, reg7, 2, DWARF) |
||
767 | HANDLE_DW_OP(0x58, reg8, 2, DWARF) |
||
768 | HANDLE_DW_OP(0x59, reg9, 2, DWARF) |
||
769 | HANDLE_DW_OP(0x5a, reg10, 2, DWARF) |
||
770 | HANDLE_DW_OP(0x5b, reg11, 2, DWARF) |
||
771 | HANDLE_DW_OP(0x5c, reg12, 2, DWARF) |
||
772 | HANDLE_DW_OP(0x5d, reg13, 2, DWARF) |
||
773 | HANDLE_DW_OP(0x5e, reg14, 2, DWARF) |
||
774 | HANDLE_DW_OP(0x5f, reg15, 2, DWARF) |
||
775 | HANDLE_DW_OP(0x60, reg16, 2, DWARF) |
||
776 | HANDLE_DW_OP(0x61, reg17, 2, DWARF) |
||
777 | HANDLE_DW_OP(0x62, reg18, 2, DWARF) |
||
778 | HANDLE_DW_OP(0x63, reg19, 2, DWARF) |
||
779 | HANDLE_DW_OP(0x64, reg20, 2, DWARF) |
||
780 | HANDLE_DW_OP(0x65, reg21, 2, DWARF) |
||
781 | HANDLE_DW_OP(0x66, reg22, 2, DWARF) |
||
782 | HANDLE_DW_OP(0x67, reg23, 2, DWARF) |
||
783 | HANDLE_DW_OP(0x68, reg24, 2, DWARF) |
||
784 | HANDLE_DW_OP(0x69, reg25, 2, DWARF) |
||
785 | HANDLE_DW_OP(0x6a, reg26, 2, DWARF) |
||
786 | HANDLE_DW_OP(0x6b, reg27, 2, DWARF) |
||
787 | HANDLE_DW_OP(0x6c, reg28, 2, DWARF) |
||
788 | HANDLE_DW_OP(0x6d, reg29, 2, DWARF) |
||
789 | HANDLE_DW_OP(0x6e, reg30, 2, DWARF) |
||
790 | HANDLE_DW_OP(0x6f, reg31, 2, DWARF) |
||
791 | HANDLE_DW_OP(0x70, breg0, 2, DWARF) |
||
792 | HANDLE_DW_OP(0x71, breg1, 2, DWARF) |
||
793 | HANDLE_DW_OP(0x72, breg2, 2, DWARF) |
||
794 | HANDLE_DW_OP(0x73, breg3, 2, DWARF) |
||
795 | HANDLE_DW_OP(0x74, breg4, 2, DWARF) |
||
796 | HANDLE_DW_OP(0x75, breg5, 2, DWARF) |
||
797 | HANDLE_DW_OP(0x76, breg6, 2, DWARF) |
||
798 | HANDLE_DW_OP(0x77, breg7, 2, DWARF) |
||
799 | HANDLE_DW_OP(0x78, breg8, 2, DWARF) |
||
800 | HANDLE_DW_OP(0x79, breg9, 2, DWARF) |
||
801 | HANDLE_DW_OP(0x7a, breg10, 2, DWARF) |
||
802 | HANDLE_DW_OP(0x7b, breg11, 2, DWARF) |
||
803 | HANDLE_DW_OP(0x7c, breg12, 2, DWARF) |
||
804 | HANDLE_DW_OP(0x7d, breg13, 2, DWARF) |
||
805 | HANDLE_DW_OP(0x7e, breg14, 2, DWARF) |
||
806 | HANDLE_DW_OP(0x7f, breg15, 2, DWARF) |
||
807 | HANDLE_DW_OP(0x80, breg16, 2, DWARF) |
||
808 | HANDLE_DW_OP(0x81, breg17, 2, DWARF) |
||
809 | HANDLE_DW_OP(0x82, breg18, 2, DWARF) |
||
810 | HANDLE_DW_OP(0x83, breg19, 2, DWARF) |
||
811 | HANDLE_DW_OP(0x84, breg20, 2, DWARF) |
||
812 | HANDLE_DW_OP(0x85, breg21, 2, DWARF) |
||
813 | HANDLE_DW_OP(0x86, breg22, 2, DWARF) |
||
814 | HANDLE_DW_OP(0x87, breg23, 2, DWARF) |
||
815 | HANDLE_DW_OP(0x88, breg24, 2, DWARF) |
||
816 | HANDLE_DW_OP(0x89, breg25, 2, DWARF) |
||
817 | HANDLE_DW_OP(0x8a, breg26, 2, DWARF) |
||
818 | HANDLE_DW_OP(0x8b, breg27, 2, DWARF) |
||
819 | HANDLE_DW_OP(0x8c, breg28, 2, DWARF) |
||
820 | HANDLE_DW_OP(0x8d, breg29, 2, DWARF) |
||
821 | HANDLE_DW_OP(0x8e, breg30, 2, DWARF) |
||
822 | HANDLE_DW_OP(0x8f, breg31, 2, DWARF) |
||
823 | HANDLE_DW_OP(0x90, regx, 2, DWARF) |
||
824 | HANDLE_DW_OP(0x91, fbreg, 2, DWARF) |
||
825 | HANDLE_DW_OP(0x92, bregx, 2, DWARF) |
||
826 | HANDLE_DW_OP(0x93, piece, 2, DWARF) |
||
827 | HANDLE_DW_OP(0x94, deref_size, 2, DWARF) |
||
828 | HANDLE_DW_OP(0x95, xderef_size, 2, DWARF) |
||
829 | HANDLE_DW_OP(0x96, nop, 2, DWARF) |
||
830 | // New in DWARF v3: |
||
831 | HANDLE_DW_OP(0x97, push_object_address, 3, DWARF) |
||
832 | HANDLE_DW_OP(0x98, call2, 3, DWARF) |
||
833 | HANDLE_DW_OP(0x99, call4, 3, DWARF) |
||
834 | HANDLE_DW_OP(0x9a, call_ref, 3, DWARF) |
||
835 | HANDLE_DW_OP(0x9b, form_tls_address, 3, DWARF) |
||
836 | HANDLE_DW_OP(0x9c, call_frame_cfa, 3, DWARF) |
||
837 | HANDLE_DW_OP(0x9d, bit_piece, 3, DWARF) |
||
838 | // New in DWARF v4: |
||
839 | HANDLE_DW_OP(0x9e, implicit_value, 4, DWARF) |
||
840 | HANDLE_DW_OP(0x9f, stack_value, 4, DWARF) |
||
841 | // New in DWARF v5: |
||
842 | HANDLE_DW_OP(0xa0, implicit_pointer, 5, DWARF) |
||
843 | HANDLE_DW_OP(0xa1, addrx, 5, DWARF) |
||
844 | HANDLE_DW_OP(0xa2, constx, 5, DWARF) |
||
845 | HANDLE_DW_OP(0xa3, entry_value, 5, DWARF) |
||
846 | HANDLE_DW_OP(0xa4, const_type, 5, DWARF) |
||
847 | HANDLE_DW_OP(0xa5, regval_type, 5, DWARF) |
||
848 | HANDLE_DW_OP(0xa6, deref_type, 5, DWARF) |
||
849 | HANDLE_DW_OP(0xa7, xderef_type, 5, DWARF) |
||
850 | HANDLE_DW_OP(0xa8, convert, 5, DWARF) |
||
851 | HANDLE_DW_OP(0xa9, reinterpret, 5, DWARF) |
||
852 | // Vendor extensions: |
||
853 | // Extensions for GNU-style thread-local storage. |
||
854 | HANDLE_DW_OP(0xe0, GNU_push_tls_address, 0, GNU) |
||
855 | // Conflicting: |
||
856 | // HANDLE_DW_OP(0xe0, HP_unknown, 0, HP) |
||
857 | HANDLE_DW_OP(0xe1, HP_is_value, 0, HP) |
||
858 | HANDLE_DW_OP(0xe2, HP_fltconst4, 0, HP) |
||
859 | HANDLE_DW_OP(0xe3, HP_fltconst8, 0, HP) |
||
860 | HANDLE_DW_OP(0xe4, HP_mod_range, 0, HP) |
||
861 | HANDLE_DW_OP(0xe5, HP_unmod_range, 0, HP) |
||
862 | HANDLE_DW_OP(0xe6, HP_tls, 0, HP) |
||
863 | HANDLE_DW_OP(0xe8, INTEL_bit_piece, 0, INTEL) |
||
864 | |||
865 | // Extensions for WebAssembly. |
||
866 | HANDLE_DW_OP(0xed, WASM_location, 0, WASM) |
||
867 | HANDLE_DW_OP(0xee, WASM_location_int, 0, WASM) |
||
868 | // Historic and not implemented in LLVM. |
||
869 | HANDLE_DW_OP(0xf0, APPLE_uninit, 0, APPLE) |
||
870 | // The GNU entry value extension. |
||
871 | HANDLE_DW_OP(0xf3, GNU_entry_value, 0, GNU) |
||
872 | HANDLE_DW_OP(0xf8, PGI_omp_thread_num, 0, PGI) |
||
873 | // Extensions for Fission proposal. |
||
874 | HANDLE_DW_OP(0xfb, GNU_addr_index, 0, GNU) |
||
875 | HANDLE_DW_OP(0xfc, GNU_const_index, 0, GNU) |
||
876 | |||
877 | // DWARF languages. |
||
878 | HANDLE_DW_LANG(0x0001, C89, 0, 2, DWARF) |
||
879 | HANDLE_DW_LANG(0x0002, C, 0, 2, DWARF) |
||
880 | HANDLE_DW_LANG(0x0003, Ada83, 1, 2, DWARF) |
||
881 | HANDLE_DW_LANG(0x0004, C_plus_plus, 0, 2, DWARF) |
||
882 | HANDLE_DW_LANG(0x0005, Cobol74, 1, 2, DWARF) |
||
883 | HANDLE_DW_LANG(0x0006, Cobol85, 1, 2, DWARF) |
||
884 | HANDLE_DW_LANG(0x0007, Fortran77, 1, 2, DWARF) |
||
885 | HANDLE_DW_LANG(0x0008, Fortran90, 1, 2, DWARF) |
||
886 | HANDLE_DW_LANG(0x0009, Pascal83, 1, 2, DWARF) |
||
887 | HANDLE_DW_LANG(0x000a, Modula2, 1, 2, DWARF) |
||
888 | // New in DWARF v3: |
||
889 | HANDLE_DW_LANG(0x000b, Java, 0, 3, DWARF) |
||
890 | HANDLE_DW_LANG(0x000c, C99, 0, 3, DWARF) |
||
891 | HANDLE_DW_LANG(0x000d, Ada95, 1, 3, DWARF) |
||
892 | HANDLE_DW_LANG(0x000e, Fortran95, 1, 3, DWARF) |
||
893 | HANDLE_DW_LANG(0x000f, PLI, 1, 3, DWARF) |
||
894 | HANDLE_DW_LANG(0x0010, ObjC, 0, 3, DWARF) |
||
895 | HANDLE_DW_LANG(0x0011, ObjC_plus_plus, 0, 3, DWARF) |
||
896 | HANDLE_DW_LANG(0x0012, UPC, 0, 3, DWARF) |
||
897 | HANDLE_DW_LANG(0x0013, D, 0, 3, DWARF) |
||
898 | // New in DWARF v4: |
||
899 | HANDLE_DW_LANG(0x0014, Python, 0, 4, DWARF) |
||
900 | // New in DWARF v5: |
||
901 | HANDLE_DW_LANG(0x0015, OpenCL, 0, 5, DWARF) |
||
902 | HANDLE_DW_LANG(0x0016, Go, 0, 5, DWARF) |
||
903 | HANDLE_DW_LANG(0x0017, Modula3, 1, 5, DWARF) |
||
904 | HANDLE_DW_LANG(0x0018, Haskell, 0, 5, DWARF) |
||
905 | HANDLE_DW_LANG(0x0019, C_plus_plus_03, 0, 5, DWARF) |
||
906 | HANDLE_DW_LANG(0x001a, C_plus_plus_11, 0, 5, DWARF) |
||
907 | HANDLE_DW_LANG(0x001b, OCaml, 0, 5, DWARF) |
||
908 | HANDLE_DW_LANG(0x001c, Rust, 0, 5, DWARF) |
||
909 | HANDLE_DW_LANG(0x001d, C11, 0, 5, DWARF) |
||
910 | HANDLE_DW_LANG(0x001e, Swift, 0, 5, DWARF) |
||
911 | HANDLE_DW_LANG(0x001f, Julia, 1, 5, DWARF) |
||
912 | HANDLE_DW_LANG(0x0020, Dylan, 0, 5, DWARF) |
||
913 | HANDLE_DW_LANG(0x0021, C_plus_plus_14, 0, 5, DWARF) |
||
914 | HANDLE_DW_LANG(0x0022, Fortran03, 1, 5, DWARF) |
||
915 | HANDLE_DW_LANG(0x0023, Fortran08, 1, 5, DWARF) |
||
916 | HANDLE_DW_LANG(0x0024, RenderScript, 0, 5, DWARF) |
||
917 | HANDLE_DW_LANG(0x0025, BLISS, 0, 5, DWARF) |
||
918 | // New since DWARF v5: |
||
919 | HANDLE_DW_LANG(0x0026, Kotlin, 0, 0, DWARF) |
||
920 | HANDLE_DW_LANG(0x0027, Zig, 0, 0, DWARF) |
||
921 | HANDLE_DW_LANG(0x0028, Crystal, 0, 0, DWARF) |
||
922 | HANDLE_DW_LANG(0x002a, C_plus_plus_17, 0, 0, DWARF) |
||
923 | HANDLE_DW_LANG(0x002b, C_plus_plus_20, 0, 0, DWARF) |
||
924 | HANDLE_DW_LANG(0x002c, C17, 0, 0, DWARF) |
||
925 | HANDLE_DW_LANG(0x002d, Fortran18, 0, 0, DWARF) |
||
926 | HANDLE_DW_LANG(0x002e, Ada2005, 0, 0, DWARF) |
||
927 | HANDLE_DW_LANG(0x002f, Ada2012, 0, 0, DWARF) |
||
928 | // Vendor extensions: |
||
929 | HANDLE_DW_LANG(0x8001, Mips_Assembler, std::nullopt, 0, MIPS) |
||
930 | HANDLE_DW_LANG(0x8e57, GOOGLE_RenderScript, 0, 0, GOOGLE) |
||
931 | HANDLE_DW_LANG(0xb000, BORLAND_Delphi, 0, 0, BORLAND) |
||
932 | |||
933 | |||
934 | // DWARF attribute type encodings. |
||
935 | HANDLE_DW_ATE(0x01, address, 2, DWARF) |
||
936 | HANDLE_DW_ATE(0x02, boolean, 2, DWARF) |
||
937 | HANDLE_DW_ATE(0x03, complex_float, 2, DWARF) |
||
938 | HANDLE_DW_ATE(0x04, float, 2, DWARF) |
||
939 | HANDLE_DW_ATE(0x05, signed, 2, DWARF) |
||
940 | HANDLE_DW_ATE(0x06, signed_char, 2, DWARF) |
||
941 | HANDLE_DW_ATE(0x07, unsigned, 2, DWARF) |
||
942 | HANDLE_DW_ATE(0x08, unsigned_char, 2, DWARF) |
||
943 | // New in DWARF v3: |
||
944 | HANDLE_DW_ATE(0x09, imaginary_float, 3, DWARF) |
||
945 | HANDLE_DW_ATE(0x0a, packed_decimal, 3, DWARF) |
||
946 | HANDLE_DW_ATE(0x0b, numeric_string, 3, DWARF) |
||
947 | HANDLE_DW_ATE(0x0c, edited, 3, DWARF) |
||
948 | HANDLE_DW_ATE(0x0d, signed_fixed, 3, DWARF) |
||
949 | HANDLE_DW_ATE(0x0e, unsigned_fixed, 3, DWARF) |
||
950 | HANDLE_DW_ATE(0x0f, decimal_float, 3, DWARF) |
||
951 | // New in DWARF v4: |
||
952 | HANDLE_DW_ATE(0x10, UTF, 4, DWARF) |
||
953 | // New in DWARF v5: |
||
954 | HANDLE_DW_ATE(0x11, UCS, 5, DWARF) |
||
955 | HANDLE_DW_ATE(0x12, ASCII, 5, DWARF) |
||
956 | |||
957 | // The version numbers of all vendor extensions >0x80 were guessed. |
||
958 | // Conflicting: |
||
959 | // HANDLE_DW_ATE(0x80, ALTIUM_fract, 2, ALTIUM) = DW_ATE_low_user |
||
960 | // HANDLE_DW_ATE(0x81, ALTIUM_accum, 2, ALTIUM) |
||
961 | |||
962 | HANDLE_DW_ATE(0x81, HP_complex_float, 2, HP) |
||
963 | HANDLE_DW_ATE(0x82, HP_float128, 2, HP) |
||
964 | HANDLE_DW_ATE(0x83, HP_complex_float128, 2, HP) |
||
965 | HANDLE_DW_ATE(0x84, HP_floathpintel, 2, HP) |
||
966 | HANDLE_DW_ATE(0x85, HP_imaginary_float90, 2, HP) |
||
967 | HANDLE_DW_ATE(0x86, HP_imaginary_float128, 2, HP) |
||
968 | // Conflicting: |
||
969 | // HANDLE_DW_ATE(0x86, SUN_imaginary_float, 2, SUN) |
||
970 | |||
971 | // DWARF attribute endianity |
||
972 | HANDLE_DW_END(0x00, default) |
||
973 | HANDLE_DW_END(0x01, big) |
||
974 | HANDLE_DW_END(0x02, little) |
||
975 | |||
976 | // DWARF virtuality codes. |
||
977 | HANDLE_DW_VIRTUALITY(0x00, none) |
||
978 | HANDLE_DW_VIRTUALITY(0x01, virtual) |
||
979 | HANDLE_DW_VIRTUALITY(0x02, pure_virtual) |
||
980 | |||
981 | // DWARF v5 Defaulted Member Encodings. |
||
982 | HANDLE_DW_DEFAULTED(0x00, no) |
||
983 | HANDLE_DW_DEFAULTED(0x01, in_class) |
||
984 | HANDLE_DW_DEFAULTED(0x02, out_of_class) |
||
985 | |||
986 | // DWARF calling convention codes. |
||
987 | HANDLE_DW_CC(0x01, normal) |
||
988 | HANDLE_DW_CC(0x02, program) |
||
989 | HANDLE_DW_CC(0x03, nocall) |
||
990 | // New in DWARF v5: |
||
991 | HANDLE_DW_CC(0x04, pass_by_reference) |
||
992 | HANDLE_DW_CC(0x05, pass_by_value) |
||
993 | // Vendor extensions: |
||
994 | HANDLE_DW_CC(0x40, GNU_renesas_sh) |
||
995 | HANDLE_DW_CC(0x41, GNU_borland_fastcall_i386) |
||
996 | HANDLE_DW_CC(0xb0, BORLAND_safecall) |
||
997 | HANDLE_DW_CC(0xb1, BORLAND_stdcall) |
||
998 | HANDLE_DW_CC(0xb2, BORLAND_pascal) |
||
999 | HANDLE_DW_CC(0xb3, BORLAND_msfastcall) |
||
1000 | HANDLE_DW_CC(0xb4, BORLAND_msreturn) |
||
1001 | HANDLE_DW_CC(0xb5, BORLAND_thiscall) |
||
1002 | HANDLE_DW_CC(0xb6, BORLAND_fastcall) |
||
1003 | HANDLE_DW_CC(0xc0, LLVM_vectorcall) |
||
1004 | HANDLE_DW_CC(0xc1, LLVM_Win64) |
||
1005 | HANDLE_DW_CC(0xc2, LLVM_X86_64SysV) |
||
1006 | HANDLE_DW_CC(0xc3, LLVM_AAPCS) |
||
1007 | HANDLE_DW_CC(0xc4, LLVM_AAPCS_VFP) |
||
1008 | HANDLE_DW_CC(0xc5, LLVM_IntelOclBicc) |
||
1009 | HANDLE_DW_CC(0xc6, LLVM_SpirFunction) |
||
1010 | HANDLE_DW_CC(0xc7, LLVM_OpenCLKernel) |
||
1011 | HANDLE_DW_CC(0xc8, LLVM_Swift) |
||
1012 | HANDLE_DW_CC(0xc9, LLVM_PreserveMost) |
||
1013 | HANDLE_DW_CC(0xca, LLVM_PreserveAll) |
||
1014 | HANDLE_DW_CC(0xcb, LLVM_X86RegCall) |
||
1015 | // From GCC source code (include/dwarf2.h): This DW_CC_ value is not currently |
||
1016 | // generated by any toolchain. It is used internally to GDB to indicate OpenCL |
||
1017 | // C functions that have been compiled with the IBM XL C for OpenCL compiler and |
||
1018 | // use a non-platform calling convention for passing OpenCL C vector types. |
||
1019 | HANDLE_DW_CC(0xff, GDB_IBM_OpenCL) |
||
1020 | |||
1021 | // Line Number Extended Opcode Encodings |
||
1022 | HANDLE_DW_LNE(0x01, end_sequence) |
||
1023 | HANDLE_DW_LNE(0x02, set_address) |
||
1024 | HANDLE_DW_LNE(0x03, define_file) |
||
1025 | // New in DWARF v4: |
||
1026 | HANDLE_DW_LNE(0x04, set_discriminator) |
||
1027 | |||
1028 | // Line Number Standard Opcode Encodings. |
||
1029 | HANDLE_DW_LNS(0x00, extended_op) |
||
1030 | HANDLE_DW_LNS(0x01, copy) |
||
1031 | HANDLE_DW_LNS(0x02, advance_pc) |
||
1032 | HANDLE_DW_LNS(0x03, advance_line) |
||
1033 | HANDLE_DW_LNS(0x04, set_file) |
||
1034 | HANDLE_DW_LNS(0x05, set_column) |
||
1035 | HANDLE_DW_LNS(0x06, negate_stmt) |
||
1036 | HANDLE_DW_LNS(0x07, set_basic_block) |
||
1037 | HANDLE_DW_LNS(0x08, const_add_pc) |
||
1038 | HANDLE_DW_LNS(0x09, fixed_advance_pc) |
||
1039 | // New in DWARF v3: |
||
1040 | HANDLE_DW_LNS(0x0a, set_prologue_end) |
||
1041 | HANDLE_DW_LNS(0x0b, set_epilogue_begin) |
||
1042 | HANDLE_DW_LNS(0x0c, set_isa) |
||
1043 | |||
1044 | // DWARF v5 Line number header entry format. |
||
1045 | HANDLE_DW_LNCT(0x01, path) |
||
1046 | HANDLE_DW_LNCT(0x02, directory_index) |
||
1047 | HANDLE_DW_LNCT(0x03, timestamp) |
||
1048 | HANDLE_DW_LNCT(0x04, size) |
||
1049 | HANDLE_DW_LNCT(0x05, MD5) |
||
1050 | // A vendor extension until http://dwarfstd.org/ShowIssue.php?issue=180201.1 is |
||
1051 | // accepted and incorporated into the next DWARF standard. |
||
1052 | HANDLE_DW_LNCT(0x2001, LLVM_source) |
||
1053 | |||
1054 | // DWARF v5 Macro information. |
||
1055 | HANDLE_DW_MACRO(0x01, define) |
||
1056 | HANDLE_DW_MACRO(0x02, undef) |
||
1057 | HANDLE_DW_MACRO(0x03, start_file) |
||
1058 | HANDLE_DW_MACRO(0x04, end_file) |
||
1059 | HANDLE_DW_MACRO(0x05, define_strp) |
||
1060 | HANDLE_DW_MACRO(0x06, undef_strp) |
||
1061 | HANDLE_DW_MACRO(0x07, import) |
||
1062 | HANDLE_DW_MACRO(0x08, define_sup) |
||
1063 | HANDLE_DW_MACRO(0x09, undef_sup) |
||
1064 | HANDLE_DW_MACRO(0x0a, import_sup) |
||
1065 | HANDLE_DW_MACRO(0x0b, define_strx) |
||
1066 | HANDLE_DW_MACRO(0x0c, undef_strx) |
||
1067 | |||
1068 | // GNU .debug_macro extension. |
||
1069 | HANDLE_DW_MACRO_GNU(0x01, define) |
||
1070 | HANDLE_DW_MACRO_GNU(0x02, undef) |
||
1071 | HANDLE_DW_MACRO_GNU(0x03, start_file) |
||
1072 | HANDLE_DW_MACRO_GNU(0x04, end_file) |
||
1073 | HANDLE_DW_MACRO_GNU(0x05, define_indirect) |
||
1074 | HANDLE_DW_MACRO_GNU(0x06, undef_indirect) |
||
1075 | HANDLE_DW_MACRO_GNU(0x07, transparent_include) |
||
1076 | HANDLE_DW_MACRO_GNU(0x08, define_indirect_alt) |
||
1077 | HANDLE_DW_MACRO_GNU(0x09, undef_indirect_alt) |
||
1078 | HANDLE_DW_MACRO_GNU(0x0a, transparent_include_alt) |
||
1079 | |||
1080 | // DWARF v5 Macro header flags. |
||
1081 | HANDLE_MACRO_FLAG(0x01, OFFSET_SIZE) |
||
1082 | HANDLE_MACRO_FLAG(0x02, DEBUG_LINE_OFFSET) |
||
1083 | HANDLE_MACRO_FLAG(0x04, OPCODE_OPERANDS_TABLE) |
||
1084 | |||
1085 | // DWARF v5 Range List Entry encoding values. |
||
1086 | HANDLE_DW_RLE(0x00, end_of_list) |
||
1087 | HANDLE_DW_RLE(0x01, base_addressx) |
||
1088 | HANDLE_DW_RLE(0x02, startx_endx) |
||
1089 | HANDLE_DW_RLE(0x03, startx_length) |
||
1090 | HANDLE_DW_RLE(0x04, offset_pair) |
||
1091 | HANDLE_DW_RLE(0x05, base_address) |
||
1092 | HANDLE_DW_RLE(0x06, start_end) |
||
1093 | HANDLE_DW_RLE(0x07, start_length) |
||
1094 | |||
1095 | // DWARF v5 Loc List Entry encoding values. |
||
1096 | HANDLE_DW_LLE(0x00, end_of_list) |
||
1097 | HANDLE_DW_LLE(0x01, base_addressx) |
||
1098 | HANDLE_DW_LLE(0x02, startx_endx) |
||
1099 | HANDLE_DW_LLE(0x03, startx_length) |
||
1100 | HANDLE_DW_LLE(0x04, offset_pair) |
||
1101 | HANDLE_DW_LLE(0x05, default_location) |
||
1102 | HANDLE_DW_LLE(0x06, base_address) |
||
1103 | HANDLE_DW_LLE(0x07, start_end) |
||
1104 | HANDLE_DW_LLE(0x08, start_length) |
||
1105 | |||
1106 | // Call frame instruction encodings. |
||
1107 | HANDLE_DW_CFA(0x00, nop) |
||
1108 | HANDLE_DW_CFA(0x40, advance_loc) |
||
1109 | HANDLE_DW_CFA(0x80, offset) |
||
1110 | HANDLE_DW_CFA(0xc0, restore) |
||
1111 | HANDLE_DW_CFA(0x01, set_loc) |
||
1112 | HANDLE_DW_CFA(0x02, advance_loc1) |
||
1113 | HANDLE_DW_CFA(0x03, advance_loc2) |
||
1114 | HANDLE_DW_CFA(0x04, advance_loc4) |
||
1115 | HANDLE_DW_CFA(0x05, offset_extended) |
||
1116 | HANDLE_DW_CFA(0x06, restore_extended) |
||
1117 | HANDLE_DW_CFA(0x07, undefined) |
||
1118 | HANDLE_DW_CFA(0x08, same_value) |
||
1119 | HANDLE_DW_CFA(0x09, register) |
||
1120 | HANDLE_DW_CFA(0x0a, remember_state) |
||
1121 | HANDLE_DW_CFA(0x0b, restore_state) |
||
1122 | HANDLE_DW_CFA(0x0c, def_cfa) |
||
1123 | HANDLE_DW_CFA(0x0d, def_cfa_register) |
||
1124 | HANDLE_DW_CFA(0x0e, def_cfa_offset) |
||
1125 | // New in DWARF v3: |
||
1126 | HANDLE_DW_CFA(0x0f, def_cfa_expression) |
||
1127 | HANDLE_DW_CFA(0x10, expression) |
||
1128 | HANDLE_DW_CFA(0x11, offset_extended_sf) |
||
1129 | HANDLE_DW_CFA(0x12, def_cfa_sf) |
||
1130 | HANDLE_DW_CFA(0x13, def_cfa_offset_sf) |
||
1131 | HANDLE_DW_CFA(0x14, val_offset) |
||
1132 | HANDLE_DW_CFA(0x15, val_offset_sf) |
||
1133 | HANDLE_DW_CFA(0x16, val_expression) |
||
1134 | // Vendor extensions: |
||
1135 | HANDLE_DW_CFA_PRED(0x1d, MIPS_advance_loc8, SELECT_MIPS64) |
||
1136 | HANDLE_DW_CFA_PRED(0x2d, GNU_window_save, SELECT_SPARC) |
||
1137 | HANDLE_DW_CFA_PRED(0x2d, AARCH64_negate_ra_state, SELECT_AARCH64) |
||
1138 | HANDLE_DW_CFA_PRED(0x2e, GNU_args_size, SELECT_X86) |
||
1139 | // Heterogeneous Debugging Extension defined at |
||
1140 | // https://llvm.org/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.html#cfa-definition-instructions |
||
1141 | HANDLE_DW_CFA(0x30, LLVM_def_aspace_cfa) |
||
1142 | HANDLE_DW_CFA(0x31, LLVM_def_aspace_cfa_sf) |
||
1143 | |||
1144 | // Apple Objective-C Property Attributes. |
||
1145 | // Keep this list in sync with clang's DeclObjCCommon.h |
||
1146 | // ObjCPropertyAttribute::Kind! |
||
1147 | HANDLE_DW_APPLE_PROPERTY(0x01, readonly) |
||
1148 | HANDLE_DW_APPLE_PROPERTY(0x02, getter) |
||
1149 | HANDLE_DW_APPLE_PROPERTY(0x04, assign) |
||
1150 | HANDLE_DW_APPLE_PROPERTY(0x08, readwrite) |
||
1151 | HANDLE_DW_APPLE_PROPERTY(0x10, retain) |
||
1152 | HANDLE_DW_APPLE_PROPERTY(0x20, copy) |
||
1153 | HANDLE_DW_APPLE_PROPERTY(0x40, nonatomic) |
||
1154 | HANDLE_DW_APPLE_PROPERTY(0x80, setter) |
||
1155 | HANDLE_DW_APPLE_PROPERTY(0x100, atomic) |
||
1156 | HANDLE_DW_APPLE_PROPERTY(0x200, weak) |
||
1157 | HANDLE_DW_APPLE_PROPERTY(0x400, strong) |
||
1158 | HANDLE_DW_APPLE_PROPERTY(0x800, unsafe_unretained) |
||
1159 | HANDLE_DW_APPLE_PROPERTY(0x1000, nullability) |
||
1160 | HANDLE_DW_APPLE_PROPERTY(0x2000, null_resettable) |
||
1161 | HANDLE_DW_APPLE_PROPERTY(0x4000, class) |
||
1162 | |||
1163 | // DWARF v5 Unit Types. |
||
1164 | HANDLE_DW_UT(0x01, compile) |
||
1165 | HANDLE_DW_UT(0x02, type) |
||
1166 | HANDLE_DW_UT(0x03, partial) |
||
1167 | HANDLE_DW_UT(0x04, skeleton) |
||
1168 | HANDLE_DW_UT(0x05, split_compile) |
||
1169 | HANDLE_DW_UT(0x06, split_type) |
||
1170 | |||
1171 | // DWARF section types. (enum name, ELF name, ELF DWO name, cmdline name, |
||
1172 | // option) Note that these IDs don't mean anything. |
||
1173 | // TODO: Add Mach-O and COFF names. |
||
1174 | // Official DWARF sections. |
||
1175 | HANDLE_DWARF_SECTION(DebugAbbrev, ".debug_abbrev", "debug-abbrev", BoolOption) |
||
1176 | HANDLE_DWARF_SECTION(DebugAddr, ".debug_addr", "debug-addr", BoolOption) |
||
1177 | HANDLE_DWARF_SECTION(DebugAranges, ".debug_aranges", "debug-aranges", |
||
1178 | BoolOption) |
||
1179 | HANDLE_DWARF_SECTION(DebugInfo, ".debug_info", "debug-info", OffsetOption) |
||
1180 | HANDLE_DWARF_SECTION(DebugTypes, ".debug_types", "debug-types", OffsetOption) |
||
1181 | HANDLE_DWARF_SECTION(DebugLine, ".debug_line", "debug-line", OffsetOption) |
||
1182 | HANDLE_DWARF_SECTION(DebugLineStr, ".debug_line_str", "debug-line-str", |
||
1183 | BoolOption) |
||
1184 | HANDLE_DWARF_SECTION(DebugLoc, ".debug_loc", "debug-loc", OffsetOption) |
||
1185 | HANDLE_DWARF_SECTION(DebugLoclists, ".debug_loclists", "debug-loclists", |
||
1186 | OffsetOption) |
||
1187 | HANDLE_DWARF_SECTION(DebugFrame, ".debug_frame", "debug-frame", OffsetOption) |
||
1188 | HANDLE_DWARF_SECTION(DebugMacro, ".debug_macro", "debug-macro", BoolOption) |
||
1189 | HANDLE_DWARF_SECTION(DebugNames, ".debug_names", "debug-names", BoolOption) |
||
1190 | HANDLE_DWARF_SECTION(DebugPubnames, ".debug_pubnames", "debug-pubnames", |
||
1191 | BoolOption) |
||
1192 | HANDLE_DWARF_SECTION(DebugPubtypes, ".debug_pubtypes", "debug-pubtypes", |
||
1193 | BoolOption) |
||
1194 | HANDLE_DWARF_SECTION(DebugGnuPubnames, ".debug_gnu_pubnames", |
||
1195 | "debug-gnu-pubnames", BoolOption) |
||
1196 | HANDLE_DWARF_SECTION(DebugGnuPubtypes, ".debug_gnu_pubtypes", |
||
1197 | "debug-gnu-pubtypes", BoolOption) |
||
1198 | HANDLE_DWARF_SECTION(DebugRanges, ".debug_ranges", "debug-ranges", BoolOption) |
||
1199 | HANDLE_DWARF_SECTION(DebugRnglists, ".debug_rnglists", "debug-rnglists", |
||
1200 | BoolOption) |
||
1201 | HANDLE_DWARF_SECTION(DebugStr, ".debug_str", "debug-str", BoolOption) |
||
1202 | HANDLE_DWARF_SECTION(DebugStrOffsets, ".debug_str_offsets", "debug-str-offsets", |
||
1203 | BoolOption) |
||
1204 | HANDLE_DWARF_SECTION(DebugCUIndex, ".debug_cu_index", "debug-cu-index", |
||
1205 | BoolOption) |
||
1206 | HANDLE_DWARF_SECTION(DebugTUIndex, ".debug_tu_index", "debug-tu-index", |
||
1207 | BoolOption) |
||
1208 | // Vendor extensions. |
||
1209 | HANDLE_DWARF_SECTION(AppleNames, ".apple_names", "apple-names", BoolOption) |
||
1210 | HANDLE_DWARF_SECTION(AppleTypes, ".apple_types", "apple-types", BoolOption) |
||
1211 | HANDLE_DWARF_SECTION(AppleNamespaces, ".apple_namespaces", "apple-namespaces", |
||
1212 | BoolOption) |
||
1213 | HANDLE_DWARF_SECTION(AppleObjC, ".apple_objc", "apple-objc", BoolOption) |
||
1214 | HANDLE_DWARF_SECTION(GdbIndex, ".gdb_index", "gdb-index", BoolOption) |
||
1215 | |||
1216 | HANDLE_DW_IDX(0x01, compile_unit) |
||
1217 | HANDLE_DW_IDX(0x02, type_unit) |
||
1218 | HANDLE_DW_IDX(0x03, die_offset) |
||
1219 | HANDLE_DW_IDX(0x04, parent) |
||
1220 | HANDLE_DW_IDX(0x05, type_hash) |
||
1221 | HANDLE_DW_IDX(0x2000, GNU_internal) |
||
1222 | HANDLE_DW_IDX(0x2001, GNU_external) |
||
1223 | |||
1224 | // DWARF package file section identifiers. |
||
1225 | // DWARFv5, section 7.3.5.3, table 7.1. |
||
1226 | HANDLE_DW_SECT(1, INFO) |
||
1227 | HANDLE_DW_SECT(3, ABBREV) |
||
1228 | HANDLE_DW_SECT(4, LINE) |
||
1229 | HANDLE_DW_SECT(5, LOCLISTS) |
||
1230 | HANDLE_DW_SECT(6, STR_OFFSETS) |
||
1231 | HANDLE_DW_SECT(7, MACRO) |
||
1232 | HANDLE_DW_SECT(8, RNGLISTS) |
||
1233 | |||
1234 | #undef HANDLE_DW_TAG |
||
1235 | #undef HANDLE_DW_AT |
||
1236 | #undef HANDLE_DW_FORM |
||
1237 | #undef HANDLE_DW_OP |
||
1238 | #undef HANDLE_DW_LANG |
||
1239 | #undef HANDLE_DW_ATE |
||
1240 | #undef HANDLE_DW_VIRTUALITY |
||
1241 | #undef HANDLE_DW_DEFAULTED |
||
1242 | #undef HANDLE_DW_CC |
||
1243 | #undef HANDLE_DW_LNS |
||
1244 | #undef HANDLE_DW_LNE |
||
1245 | #undef HANDLE_DW_LNCT |
||
1246 | #undef HANDLE_DW_MACRO |
||
1247 | #undef HANDLE_DW_MACRO_GNU |
||
1248 | #undef HANDLE_MACRO_FLAG |
||
1249 | #undef HANDLE_DW_RLE |
||
1250 | #undef HANDLE_DW_LLE |
||
1251 | #undef HANDLE_DW_CFA |
||
1252 | #undef HANDLE_DW_CFA_PRED |
||
1253 | #undef HANDLE_DW_APPLE_PROPERTY |
||
1254 | #undef HANDLE_DW_UT |
||
1255 | #undef HANDLE_DWARF_SECTION |
||
1256 | #undef HANDLE_DW_IDX |
||
1257 | #undef HANDLE_DW_END |
||
1258 | #undef HANDLE_DW_SECT |