All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/3] Support .gnu_debugdata for symbols in perf
@ 2025-02-20 18:55 Stephen Brennan
  2025-02-20 18:55 ` [PATCH v2 1/3] tools: perf: add dummy functions for !HAVE_LZMA_SUPPORT Stephen Brennan
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Stephen Brennan @ 2025-02-20 18:55 UTC (permalink / raw)
  To: Ingo Molnar, Peter Zijlstra, Arnaldo Carvalho de Melo,
	Namhyung Kim
  Cc: Stephen Brennan, Liang, Kan, Mark Rutland, Athira Rajeev,
	Jiri Olsa, linux-kernel, Alexander Shishkin, James Clark,
	Chaitanya S Prakash, Ian Rogers, linux-perf-users, Adrian Hunter,
	Andi Kleen

Hello all,

This series adds the ability to read symbols from the ".gnu_debugdata" section,
an LZMA-compressed embedded ELF file which is supposed to contain additional ELF
symbols. This is something that Fedora implemented (as "MiniDebuginfo" [1]).
There are more details in v1. I've tested it with binaries that have
.gnu_debugdata, and I've also ensured that the build & runtime work when LZMA is
disabled.

[1]: https://fedoraproject.org/wiki/Features/MiniDebugInfo

Changes since v1:
* Reuses the existing LZMA decompression helpers, rather than implementing a
  new LZMA decompression loop. This does involve creating a temporary file, but
  I think that actually makes things cleaner, since now the symsrc has a file
  descriptor to close, rather than adding a new pointer that needs freeing.
* I did also remove the pr_debug() for the case where there is no
  ".gnu_debugdata" section. That's not really an error worth logging, that's
  just normal operation.
* I added a pr_debug() for the case where we successfully load .gnu_debugdata
  so that it's easier to determine whether it gets used in tests.

v1: https://lore.kernel.org/linux-perf-users/20250213190542.3249050-1-stephen.s.brennan@oracle.com/

Stephen Brennan (3):
  tools: perf: add dummy functions for !HAVE_LZMA_SUPPORT
  tools: perf: add LZMA decompression from FILE
  tools: perf: support .gnu_debugdata for symbols

 tools/perf/util/compress.h   |  20 +++++++
 tools/perf/util/dso.c        |   2 +
 tools/perf/util/dso.h        |   1 +
 tools/perf/util/lzma.c       |  29 ++++++----
 tools/perf/util/symbol-elf.c | 106 ++++++++++++++++++++++++++++++++++-
 tools/perf/util/symbol.c     |   2 +
 6 files changed, 147 insertions(+), 13 deletions(-)

-- 
2.43.5


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

end of thread, other threads:[~2025-03-10 15:21 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-20 18:55 [PATCH v2 0/3] Support .gnu_debugdata for symbols in perf Stephen Brennan
2025-02-20 18:55 ` [PATCH v2 1/3] tools: perf: add dummy functions for !HAVE_LZMA_SUPPORT Stephen Brennan
2025-02-20 18:55 ` [PATCH v2 2/3] tools: perf: add LZMA decompression from FILE Stephen Brennan
2025-02-20 18:55 ` [PATCH v2 3/3] tools: perf: support .gnu_debugdata for symbols Stephen Brennan
2025-02-26 22:06 ` [PATCH v2 0/3] Support .gnu_debugdata for symbols in perf Namhyung Kim
2025-03-07 20:10   ` Arnaldo Carvalho de Melo
2025-03-07 20:18     ` Arnaldo Carvalho de Melo
2025-03-07 20:46       ` Arnaldo Carvalho de Melo
2025-03-07 22:33         ` Stephen Brennan
2025-03-10 15:21           ` Arnaldo Carvalho de Melo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.