From: Ian Munsie on
Here's the 4th version of the perf probe PowerPC support and perf arch specific
infrastructure patches rebased on top of tip/perf/core.


Changelog V4:
* Rebased on top of tip/perf/core (with powerpc/next merged) and resolved merge
conflicts.
* Move the check for DWARF support prior to the inclusion of the arch
specific Makefile so that the arch specific Makefile can include the relevant
files in the build only if DWARF support is available.
* Fix NO_DWARF build on x86 and PowerPC

Changelog V3:
From Masami Hiramatsu's feedback DWARF support is disabled altogether if the
architecture specific Makefile does not define PERF_HAVE_DWARF_REGS - ie,
DWARF register mappings are missing for the architecture. A message
indicating this is printed out during compilation.

Changelog V2:
From Masami Hiramatsu's suggestion, I added a check in the Makefile for if
the arch specific Makefile defines PERF_HAVE_DWARF_REGS, printing a message
during build if it has not. This simplifies the code removing the odd macro
from the previous version and the need for an arch specific
arch_dwarf-regs.h. I have not entirely disabled DWARF support for
architectures that don't implement the register mappings, so that they can
still add a probe based on a line number (they will be missing the ability to
capture the value of a variable from a register).

These patches add the required mappings to use perf probe on PowerPC.

Part 1 of the patch series moves the arch dependent x86 32 and 64 bit DWARF
register number mappings out into a separate arch directory and adds the
necessary Makefile foo to use it.

Part 2 of the patch series adds the PowerPC mappings -
Functionality wise it requires the patch titled "powerpc: Add kprobe-based
event tracer" from the powerpc-next tree to provide the
HAVE_REGS_AND_STACK_ACCESS_API required for CONFIG_KPROBE_EVENT. The code will
still compile cleanly without it and will fail gracefully at runtime on the
missing CONFIG_KPROBE_EVENT support as before as well as printing a warning
message during compilation.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/