]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
perf dwarf-aux: Add die_get_pointer_type to get pointer types
authorZecheng Li <zli94@ncsu.edu>
Mon, 9 Mar 2026 17:55:14 +0000 (13:55 -0400)
committerNamhyung Kim <namhyung@kernel.org>
Thu, 19 Mar 2026 21:42:29 +0000 (14:42 -0700)
commit30b2e6fa58f3b9eff86fb851a8926bf814d82dcd
tree226b0952470517f7b4e12059e6425fb39e23320f
parent616cd6047cbf736d93808f652086dd10a836005f
perf dwarf-aux: Add die_get_pointer_type to get pointer types

When a variable type is wrapped in typedef/qualifiers, callers may need
to first resolve it to the underlying DW_TAG_pointer_type or
DW_TAG_array_type. A simple tag check is not enough and directly calling
__die_get_real_type() can stop at the pointer type (e.g. typedef ->
pointer) instead of the pointee type.

Add die_get_pointer_type() helper that follows typedef/qualifier chains
and returns the underlying pointer DIE. Use it in annotate-data.c so
pointer checks and dereference work correctly for typedef'd pointers.

Signed-off-by: Zecheng Li <zli94@ncsu.edu>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
tools/perf/util/annotate-data.c
tools/perf/util/dwarf-aux.c
tools/perf/util/dwarf-aux.h