Re: [PATCH 0/3] perf tools: Random fixes for DWARF unwind

From: Arnaldo Carvalho de Melo
Date: Thu Dec 14 2023 - 17:08:08 EST


Em Mon, Dec 11, 2023 at 11:05:43PM -0800, Namhyung Kim escreveu:
> 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, applied to perf-tools-next.

- Arnaldo


>
> 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
>

--

- Arnaldo