[PATCH 0/2] perf: we can now read separate debug-info files based on a build ID

From: Dima Kogan
Date: Mon Sep 07 2015 - 22:47:51 EST


Date: Mon, 7 Sep 2015 19:27:01 -0700
(Please Cc me when replying; I'm not subscribed)

Hi. Perf currently has trouble reading separate debug-info files when trying to
look up symbols in a 'perf report'. According to the gdb documentation:

https://sourceware.org/gdb/onlinedocs/gdb/Separate-Debug-Files.html

separate debug-info files can live in any of

/usr/lib/debug/.build-id/ab/cdef1234.debug
/usr/bin/debuglink
/usr/bin/.debug/debuglink
/usr/lib/debug/usr/bin/debuglink

Prior to this patch series, perf reads the value of the debuglink from the
.gnu_debuglink section, and tries to read a file of that name in the same
directory as the stripped ELF file. For an executable, this would be
"/usr/bin/debuglink" above. And that's it; the other paths are not checked.

The "normal" thing to do on Debian boxes these days is

/usr/lib/debug/.build-id/ab/cdef1234.debug

This patch series makes this work. The remaining two paths are still unchecked,
but I don't know if they're "standard" anywhere


Dima Kogan (2):
perf: fixed type error when reading a build-id
perf: we can now read separate debug-info files based on a build ID

tools/perf/util/symbol-minimal.c | 2 +-
tools/perf/util/symbol.c | 9 +++++++++
2 files changed, 10 insertions(+), 1 deletion(-)

--
2.1.4