[PATCH v2 0/4] perf annotate-data: Support flexible array types
From: Namhyung Kim
Date: Mon Sep 14 2026 - 02:46:02 EST
Hello,
The flexible arrays are dynamically allocated with different size. So checking
with the original type size won't match and cannot match the sample. This patch
series detects those flex-arrays and allows accesses beyond the original size.
I'm not sure what's the best way to add test codes for data type profiling as it
seems we need to add a lot more workloads for different cases. Probably we may
want to split the workloads as separate binaries.
v2 changes)
* fix missing index increment in the histogram
* support flex array in union types
* add recursion check in die_has_flex_array()
* check negative index arrays properly
* avoid divide-by-zero when the size is unknown
v1: https://lore.kernel.org/r/20260912054706.1475583-1-namhyung@xxxxxxxxxx
Thanks,
Namhyung
Cc: Zecheng Li <zli94@xxxxxxxx>
Cc: Yanbo Zhao <yzhao62@xxxxxxxx>
Cc: Tengda Wu <wutengda@xxxxxxxxxxxxxxx>
Cc: Shuai Xue <xueshuai@xxxxxxxxxxxxxxxxx>
Namhyung Kim (4):
perf annotate-data: Convert type histogram to hashmap
perf dwarf-aux: Add die_has_flex_array() helper
perf annotate-date: Allow out-of-size access for flex-array types
perf annotate-data: Adjust type offset for flex-array
tools/perf/ui/browsers/annotate-data.c | 10 +-
tools/perf/util/annotate-data.c | 209 +++++++++++++++++--------
tools/perf/util/annotate-data.h | 10 +-
tools/perf/util/dwarf-aux.c | 77 +++++++++
tools/perf/util/dwarf-aux.h | 3 +
5 files changed, 241 insertions(+), 68 deletions(-)
--
2.55.0.1032.g73a4cd73de-goog