linux/tools/perf/arch
Naveen N. Rao d5c2e2c17a perf probe ppc64le: Prefer symbol table lookup over DWARF
Use symbol table lookups by default if DWARF is not necessary, since
powerpc ABIv2 encodes local entry points in the symbol table and the
function entry address in DWARF may not be appropriate for kprobes, as
described here:

https://sourceware.org/bugzilla/show_bug.cgi?id=17638

"The DWARF address ranges deliberately include the *whole* function,
both global and local entry points."
...
"If you want to set probes on a local entry point, you should look up
the symbol in the main symbol table (not DWARF), and check the st_other
bits; they will indicate whether the function has a local entry point,
and what its offset from the global entry point is.  Note that GDB does
the same when setting a breakpoint on a function entry."

Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Reviewed-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Cc: linuxppc-dev@lists.ozlabs.org
Link: http://lkml.kernel.org/r/88a10e22f4aaba2aef812824ca4b10d7beeea012.1430217967.git.naveen.n.rao@linux.vnet.ibm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2015-05-04 12:43:46 -03:00
..
arm perf build: Add arch arm objects building 2015-02-12 13:13:01 -03:00
arm64 perf build: Add arch arm64 objects building 2015-02-12 13:13:22 -03:00
powerpc perf probe ppc64le: Prefer symbol table lookup over DWARF 2015-05-04 12:43:46 -03:00
s390 perf build: Add arch s390 objects building 2015-02-12 13:20:59 -03:00
sh perf build: Add arch sh objects building 2015-02-12 13:21:31 -03:00
sparc perf build: Add arch sparc objects building 2015-02-12 13:22:01 -03:00
x86 perf build: Add arch x86 objects building 2015-02-12 13:12:01 -03:00
Build perf build: Add arch x86 objects building 2015-02-12 13:12:01 -03:00
common.c perf tools: Add arm64 triplets 2014-08-15 10:40:11 -03:00
common.h perf tools: Try to find cross-built objdump path 2012-10-24 14:20:11 -02:00