diff options
| author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2026-09-24 16:27:56 -0300 |
|---|---|---|
| committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2026-09-25 18:13:45 +0200 |
| commit | 14ca0a28de37849afdda6ffd4c9047f58d8906c2 (patch) | |
| tree | fa651dc615ec6836004b77eff4083370c1ea75f6 /tools/perf/python/stackcollapse.py | |
| parent | 3dfdd195c7e45f5a6b85dd2b6e3722610dbd5bf5 (diff) | |
| download | linux-next-14ca0a28de37849afdda6ffd4c9047f58d8906c2.tar.gz linux-next-14ca0a28de37849afdda6ffd4c9047f58d8906c2.zip | |
perf annotate-data: Resolve type DIEs in the debug file they came from
'perf report -s type' hangs burning CPU on the dwz compressed debug
info of libz.so.1 (zlib-ng): die_collect_vars() saves the
dwarf_dieoffset() of the type DIE, which is relative to the file it
lives in - the dwz alt file for the types shared by more than one CU -
and update_var_state() resolves that offset in the main debug file,
parsing whatever is at it, here a typedef whose DW_AT_type refers to
itself.
Record whether the type DIE came from the alt file and resolve the
offset with die_get_type_die() in that file, with no fallback.
Fixes: 06b2ce75386df04b ("perf annotate-data: Maintain variable type info")
Fixes: 55ee3d005d62279d ("perf annotate-data: Add a cache for global variable types")
Reviewed-by: Ian Rogers <irogers@google.com>
Reviewed-by: Namhyung Kim <namhyung@kernel.org>
Assisted-by: LLM
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions
