Skip to content

Commit 0c8fa1b

Browse files
committed
Update TAG and AT names
Add recent (DWARF5) entries. Signed-off-by: Namhyung Kim <[email protected]>
1 parent 3019f3b commit 0c8fa1b

File tree

1 file changed

+90
-7
lines changed

1 file changed

+90
-7
lines changed

dwarview.c

+90-7
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,15 @@ static const struct tag_name tag_names[] = {
8989
DWARF_TAG(type_unit),
9090
DWARF_TAG(rvalue_reference_type),
9191
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" },
95101

96102
DWARF_TAG(lo_user),
97103

@@ -230,9 +236,37 @@ static const struct attr_name attr_names[] = {
230236
DWARF_ATTR(const_expr),
231237
DWARF_ATTR(enum_class),
232238
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" },
236270

237271
DWARF_ATTR(lo_user),
238272

@@ -281,6 +315,22 @@ static const struct attr_name attr_names[] = {
281315
DWARF_ATTR(GNU_all_source_call_sites),
282316
DWARF_ATTR(GNU_macros),
283317
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" },
284334

285335
DWARF_ATTR(hi_user),
286336
};
@@ -331,7 +381,30 @@ static const struct form_name form_names[] = {
331381
DWARF_FORM(sec_offset),
332382
DWARF_FORM(exprloc),
333383
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" },
335408

336409
DWARF_FORM(GNU_ref_alt),
337410
DWARF_FORM(GNU_strp_alt),
@@ -412,8 +485,18 @@ static const struct lang_name language_names[] = {
412485
DWARF_LANGUAGE(Go),
413486
DWARF_LANGUAGE(Haskell),
414487
DWARF_LANG_Cpp( , _11, "C++11"),
488+
DWARF_LANGUAGE(OCaml),
489+
DWARF_LANGUAGE(Rust),
415490
DWARF_LANGUAGE(C11),
416491
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" },
417500
};
418501

419502
char *dwarview_language_name(unsigned int code)

0 commit comments

Comments
 (0)