aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2021-11-12 15:16:51 -0300
committerArnaldo Carvalho de Melo <acme@redhat.com>2021-11-12 15:16:51 -0300
commit433dc780ca48944b6905bdbb82c0ca01d24080d5 (patch)
treeec4b5d0b98a17ecb68cd332cff07ca0233762c8b
parent7af9ed4aed182869a554b3e6bfbe1fe4853a0f84 (diff)
downloadpahole-433dc780ca48944b6905bdbb82c0ca01d24080d5.tar.gz
fprintf: Add DWARF5 tags added in elfutils 0.170
Now we know what that 0x4a thing is: $ pahole ~/c/split/foo.o die__process: DW_TAG_compile_unit, DW_TAG_type_unit or DW_TAG_partial_unit expected got skeleton_unit (0x4a)! $ Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r--dwarves_fprintf.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/dwarves_fprintf.c b/dwarves_fprintf.c
index 64a8c931..c5921d77 100644
--- a/dwarves_fprintf.c
+++ b/dwarves_fprintf.c
@@ -84,6 +84,15 @@ static const char *dwarf_tag_names[] = {
[DW_TAG_type_unit] = "type_unit",
[DW_TAG_rvalue_reference_type] = "rvalue_reference_type",
#endif
+#if _ELFUTILS_PREREQ(0, 170)
+ [DW_TAG_coarray_type] = "coarray_type",
+ [DW_TAG_generic_subrange] = "generic_subrange",
+ [DW_TAG_dynamic_type] = "dynamic_type",
+ [DW_TAG_call_site] = "call_site",
+ [DW_TAG_call_site_parameter] = "call_site_parameter",
+ [DW_TAG_skeleton_unit] = "skeleton_unit",
+ [DW_TAG_immutable_type] = "immutable_type",
+#endif
};
static const char *dwarf_gnu_tag_names[] = {
@@ -107,11 +116,15 @@ static const char *dwarf_gnu_tag_names[] = {
const char *dwarf_tag_name(const uint32_t tag)
{
if (tag >= DW_TAG_array_type && tag <=
+#if _ELFUTILS_PREREQ(0, 170)
+ DW_TAG_immutable_type
+#else
#ifdef STB_GNU_UNIQUE
DW_TAG_rvalue_reference_type
#else
DW_TAG_shared_type
#endif
+#endif
)
return dwarf_tag_names[tag];
else if (tag >= DW_TAG_MIPS_loop && tag <=