linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] perf: parse the dwarf backtrace info from .debug_frame section
@ 2013-09-09 10:00 Jean Pihet
  2013-09-09 10:00 ` [PATCH 1/3] ARM: perf: add support for perf registers API Jean Pihet
                   ` (4 more replies)
  0 siblings, 5 replies; 12+ messages in thread
From: Jean Pihet @ 2013-09-09 10:00 UTC (permalink / raw)
  To: linux-arm-kernel

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

^ permalink raw reply	[flat|nested] 12+ messages in thread
* [PATCH 0/3] perf: parse the dwarf backtrace info from .debug_frame section
@ 2013-09-04 18:04 Jean Pihet
  2013-09-04 18:04 ` [PATCH 2/3] ARM: perf: wire up perf_regs and unwind support for ARM Jean Pihet
  0 siblings, 1 reply; 12+ messages in thread
From: Jean Pihet @ 2013-09-04 18:04 UTC (permalink / raw)
  To: linux-arm-kernel

On ARM the debug info is not present in the .eh_frame sections but
in .debug_frame instead.

This patch 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 ARM.

The generated perf has been tested on ARM/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 regs 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              |  7 +++-
 tools/perf/util/unwind.c                | 70 +++++++++++++++++++++++++--------
 10 files changed, 221 insertions(+), 18 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

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

end of thread, other threads:[~2013-09-12 12:38 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-09 10:00 [PATCH 0/3] perf: parse the dwarf backtrace info from .debug_frame section Jean Pihet
2013-09-09 10:00 ` [PATCH 1/3] ARM: perf: add support for perf registers API Jean Pihet
2013-09-09 10:00 ` [PATCH 2/3] ARM: perf: wire up perf_regs and unwind support for ARM Jean Pihet
2013-09-09 10:00 ` [PATCH 3/3] perf: parse the .debug_frame section in case .eh_frame is not present Jean Pihet
2013-09-10 19:14   ` David Ahern
2013-09-10 19:38     ` Jean Pihet
2013-09-12 12:38   ` Jiri Olsa
2013-09-10  7:29 ` [PATCH 0/3] perf: parse the dwarf backtrace info from .debug_frame section Jean Pihet
2013-09-12 12:07 ` Jean Pihet
2013-09-12 12:19   ` Peter Zijlstra
2013-09-12 12:28     ` Will Deacon
  -- strict thread matches above, loose matches on Subject: below --
2013-09-04 18:04 Jean Pihet
2013-09-04 18:04 ` [PATCH 2/3] ARM: perf: wire up perf_regs and unwind support for ARM Jean Pihet

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