Messages in this thread | ![/](/images/icornerl.gif) | | From | Namhyung Kim <> | Subject | [PATCH 0/3] perf tools: Random fixes for DWARF unwind | Date | Mon, 11 Dec 2023 23:05:43 -0800 |
| |
Hello,
I've found a couple of issues on the unwind code while I'm playing with the JIT-dump code for the CPython. The code assumes normal DSOs mapped from the beginning of the file and aligned to the page size. But it's not true for the JIT-dumped DSOs which are generated for each function.
Depending on the JIT implementation, the code address and accompanied ELF info (like ELF file headers and unwind info) can be overlapped to adjacent (JIT-dumped) DSOs. So it should take more care when it calculates the mapping address for the DSO.
It seems these changes need to go to the stable trees but they are changed a lot since then so I'm not sure.
Thanks, Namhyung
Namhyung Kim (3): perf genelf: Set ELF program header addresses properly perf unwind-libdw: Handle JIT-generated DSOs properly perf unwind-libunwind: Fix base address for .eh_frame
tools/perf/util/genelf.c | 6 +++--- tools/perf/util/unwind-libdw.c | 21 +++++++++++++++++---- tools/perf/util/unwind-libunwind-local.c | 2 +- 3 files changed, 21 insertions(+), 8 deletions(-)
-- 2.43.0.472.g3155946c3a-goog
| ![\](/images/icornerr.gif) |