[PATCH 0/3] perf: parse the dwarf backtrace info from .debug_frame section
Jean Pihet
jean.pihet at linaro.org
Tue Sep 10 03:29:48 EDT 2013
Hi!
FYI a wiki page has been added for perf-libunwind, at
https://wiki.linaro.org/LEG/Engineering/TOOLS/perf-libunwind
Any feedback is welcome!
Cheers,
Jean
On 9 September 2013 12:00, Jean Pihet <jean.pihet at linaro.org> wrote:
> On ARM the debug info is not present in the .eh_frame sections but
> in .debug_frame instead, in dwarf format.
>
> This patch set uses libunwind to load and parse the dwarf debug info from
> the .debug_frame section if no .eh_frame_hdr section is found; also it
> sets the hooks in the perf_regs and libunwind code for ARMv7.
>
> Dependencies:
> . if present, libunwind >= 1.1 is needed to prevent a segfault when
> parsing the dwarf info,
> . libunwind needs to be configured with --enable-debug-frame
> to prevent a linkage error. Note: --enable-debug-frame is automatically
> selected on ARM).
>
> The generated perf has been tested on ARMv7/OMAP4 and x86_64, using the
> following commands:
> perf record -g [dwarf] -- <binary>
> perf report --sort symbol --call-graph --stdio
>
>
> Jean Pihet (1):
> perf: parse the .debug_frame section in case .eh_frame is not present
>
> Will Deacon (2):
> ARM: perf: add support for perf registers API
> ARM: perf: wire up perf_regs and unwind support for ARM
>
> arch/arm/Kconfig | 2 +
> arch/arm/include/uapi/asm/Kbuild | 1 +
> arch/arm/include/uapi/asm/perf_regs.h | 23 +++++++++++
> arch/arm/kernel/Makefile | 1 +
> arch/arm/kernel/perf_regs.c | 30 ++++++++++++++
> tools/perf/arch/arm/Makefile | 3 ++
> tools/perf/arch/arm/include/perf_regs.h | 54 +++++++++++++++++++++++++
> tools/perf/arch/arm/util/unwind.c | 48 ++++++++++++++++++++++
> tools/perf/config/Makefile | 9 +++--
> tools/perf/util/unwind.c | 71 +++++++++++++++++++++++++--------
> 10 files changed, 223 insertions(+), 19 deletions(-)
> create mode 100644 arch/arm/include/uapi/asm/perf_regs.h
> create mode 100644 arch/arm/kernel/perf_regs.c
> create mode 100644 tools/perf/arch/arm/include/perf_regs.h
> create mode 100644 tools/perf/arch/arm/util/unwind.c
>
> --
> 1.7.11.7
>
More information about the linux-arm-kernel
mailing list