linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] perf tools: Random fixes for DWARF unwind
@ 2023-12-12  7:05 Namhyung Kim
  2023-12-12  7:05 ` [PATCH 1/3] perf genelf: Set ELF program header addresses properly Namhyung Kim
                   ` (4 more replies)
  0 siblings, 5 replies; 12+ messages in thread
From: Namhyung Kim @ 2023-12-12  7:05 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo, Jiri Olsa
  Cc: Ian Rogers, Adrian Hunter, Peter Zijlstra, Ingo Molnar, LKML,
	linux-perf-users, Milian Wolff, Pablo Galindo, Fangrui Song

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


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2023-12-14 22:07 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-12  7:05 [PATCH 0/3] perf tools: Random fixes for DWARF unwind Namhyung Kim
2023-12-12  7:05 ` [PATCH 1/3] perf genelf: Set ELF program header addresses properly Namhyung Kim
2023-12-12 18:07   ` Ian Rogers
2023-12-12  7:05 ` [PATCH 2/3] perf unwind-libdw: Handle JIT-generated DSOs properly Namhyung Kim
2023-12-12 18:07   ` Ian Rogers
2023-12-13 22:13     ` Namhyung Kim
2023-12-12  7:05 ` [PATCH 3/3] perf unwind-libunwind: Fix base address for .eh_frame Namhyung Kim
2023-12-12 18:08   ` Ian Rogers
2023-12-12 18:10 ` [PATCH 0/3] perf tools: Random fixes for DWARF unwind Ian Rogers
2023-12-13  0:54   ` Pablo Galindo Salgado
2023-12-13 22:07     ` Namhyung Kim
2023-12-14 22:07 ` Arnaldo Carvalho de Melo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).