@@ -89,9 +89,15 @@ static const struct tag_name tag_names[] = {
89
89
DWARF_TAG (type_unit ),
90
90
DWARF_TAG (rvalue_reference_type ),
91
91
DWARF_TAG (template_alias ),
92
-
93
- /* DWARF 5. */
94
- DWARF_TAG (atomic_type ),
92
+ /* use raw numbers for compatibility */
93
+ { 0x44 , "coarray_type" },
94
+ { 0x45 , "generic_subrange" },
95
+ { 0x46 , "dynamic_type" },
96
+ { 0x47 , "atomic_type" },
97
+ { 0x48 , "call_site" },
98
+ { 0x49 , "call_site_parameter" },
99
+ { 0x4a , "skeleton_unit" },
100
+ { 0x4b , "immutable_type" },
95
101
96
102
DWARF_TAG (lo_user ),
97
103
@@ -230,9 +236,37 @@ static const struct attr_name attr_names[] = {
230
236
DWARF_ATTR (const_expr ),
231
237
DWARF_ATTR (enum_class ),
232
238
DWARF_ATTR (linkage_name ),
233
-
234
- /* DWARF5 attribute values. */
235
- DWARF_ATTR (noreturn ),
239
+ /* use raw numbers for compatibility */
240
+ { 0x6f , "string_length_bit_size" },
241
+ { 0x70 , "string_length_byte_size" },
242
+ { 0x71 , "rank" },
243
+ { 0x72 , "str_offsets_base" },
244
+ { 0x73 , "addr_base" },
245
+ { 0x74 , "rnglists_base" },
246
+ /* 0x75 reserved. */
247
+ { 0x76 , "dwo_name" },
248
+ { 0x77 , "reference" },
249
+ { 0x78 , "rvalue_reference" },
250
+ { 0x79 , "macros" },
251
+ { 0x7a , "call_all_calls" },
252
+ { 0x7b , "call_all_source_calls" },
253
+ { 0x7c , "call_all_tail_calls" },
254
+ { 0x7d , "call_return_pc" },
255
+ { 0x7e , "call_value" },
256
+ { 0x7f , "call_origin" },
257
+ { 0x80 , "call_parameter" },
258
+ { 0x81 , "call_pc" },
259
+ { 0x82 , "call_tail_call" },
260
+ { 0x83 , "call_target" },
261
+ { 0x84 , "call_target_clobbered" },
262
+ { 0x85 , "call_data_location" },
263
+ { 0x86 , "call_data_value" },
264
+ { 0x87 , "noreturn" },
265
+ { 0x88 , "alignment" },
266
+ { 0x89 , "export_symbols" },
267
+ { 0x8a , "deleted" },
268
+ { 0x8b , "defaulted" },
269
+ { 0x8c , "loclists_base" },
236
270
237
271
DWARF_ATTR (lo_user ),
238
272
@@ -281,6 +315,22 @@ static const struct attr_name attr_names[] = {
281
315
DWARF_ATTR (GNU_all_source_call_sites ),
282
316
DWARF_ATTR (GNU_macros ),
283
317
DWARF_ATTR (GNU_deleted ),
318
+ { 0x2137 , "GNU_locviews" },
319
+ { 0x2138 , "GNU_entry_view" },
320
+
321
+ /* GNU Debug Fission extensions. */
322
+ { 0x2130 , "GNU_dwo_name" },
323
+ { 0x2131 , "GNU_dwo_id" },
324
+ { 0x2132 , "GNU_ranges_base" },
325
+ { 0x2133 , "GNU_addr_base" },
326
+ { 0x2134 , "GNU_pubnames" },
327
+ { 0x2135 , "GNU_pubtypes" },
328
+
329
+ /* https://gcc.gnu.org/wiki/DW_AT_GNU_numerator_denominator */
330
+ { 0x2303 , "GNU_numerator" },
331
+ { 0x2304 , "GNU_denominator" },
332
+ /* https://gcc.gnu.org/wiki/DW_AT_GNU_bias */
333
+ { 0x2305 , "GNU_bias" },
284
334
285
335
DWARF_ATTR (hi_user ),
286
336
};
@@ -331,7 +381,30 @@ static const struct form_name form_names[] = {
331
381
DWARF_FORM (sec_offset ),
332
382
DWARF_FORM (exprloc ),
333
383
DWARF_FORM (flag_present ),
334
- DWARF_FORM (ref_sig8 ),
384
+
385
+ { 0x1a , "strx" },
386
+ { 0x1b , "addrx" },
387
+ { 0x1c , "ref_sup4" },
388
+ { 0x1d , "strp_sup" },
389
+ { 0x1e , "data16" },
390
+ { 0x1f , "line_strp" },
391
+ { 0x20 , "ref_sig8" },
392
+ { 0x21 , "implicit_const" },
393
+ { 0x22 , "loclistx" },
394
+ { 0x23 , "rnglistx" },
395
+ { 0x24 , "ref_sup8" },
396
+ { 0x25 , "strx1" },
397
+ { 0x26 , "strx2" },
398
+ { 0x27 , "strx3" },
399
+ { 0x28 , "strx4" },
400
+ { 0x29 , "addrx1" },
401
+ { 0x2a , "addrx2" },
402
+ { 0x2b , "addrx3" },
403
+ { 0x2c , "addrx4" },
404
+
405
+ /* GNU Debug Fission extensions. */
406
+ { 0x1f01 , "GNU_addr_index" },
407
+ { 0x1f02 , "GNU_str_index" },
335
408
336
409
DWARF_FORM (GNU_ref_alt ),
337
410
DWARF_FORM (GNU_strp_alt ),
@@ -412,8 +485,18 @@ static const struct lang_name language_names[] = {
412
485
DWARF_LANGUAGE (Go ),
413
486
DWARF_LANGUAGE (Haskell ),
414
487
DWARF_LANG_Cpp ( , _11 , "C++11" ),
488
+ DWARF_LANGUAGE (OCaml ),
489
+ DWARF_LANGUAGE (Rust ),
415
490
DWARF_LANGUAGE (C11 ),
416
491
DWARF_LANG_Cpp ( , _14 , "C++14" ),
492
+ { 0x1e , "Swift" },
493
+ { 0x1f , "Julia" },
494
+ { 0x20 , "Dylan" },
495
+ /* 0x21 is C++14 */
496
+ { 0x22 , "Fortran03" },
497
+ { 0x23 , "Fortran08" },
498
+ { 0x24 , "RenderScript" },
499
+ { 0x25 , "BLISS" },
417
500
};
418
501
419
502
char * dwarview_language_name (unsigned int code )
0 commit comments