]> git.baikalelectronics.ru Git - kernel.git/commit
perf symbols: Fix kallsyms perf test on ppc64le
authorNaveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Tue, 12 Apr 2016 09:10:50 +0000 (14:40 +0530)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 6 May 2016 00:04:03 +0000 (21:04 -0300)
commitf46570d6ee9cb241a7144752e21af422fd6bebe0
treef26cae86be020c92c2a78880da9af369427f3456
parent248b6ab3919859f39a517873c444fa3b46450538
perf symbols: Fix kallsyms perf test on ppc64le

ppc64le functions have a Global Entry Point (GEP) and a Local Entry
Point (LEP). While placing a probe, we always prefer the LEP since it
catches function calls through both the GEP and the LEP. In order to do
this, we fixup the function entry points during elf symbol table lookup
to point to the LEPs. This works, but breaks 'perf test kallsyms' since
the symbols loaded from the symbol table (pointing to the LEP) do not
match the symbols in kallsyms.

To fix this, we do not adjust all the symbols during symbol table load.
Instead, we note down st_other in a newly introduced arch-specific
member of perf symbol structure, and later use this to adjust the probe
trace point.

Reported-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Acked-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Acked-by: Balbir Singh <bsingharora@gmail.com>
Cc: Mark Wielaard <mjw@redhat.com>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com>
Cc: linuxppc-dev@lists.ozlabs.org
Link: http://lkml.kernel.org/r/6be7c2b17e370100c2f79dd444509df7929bdd3e.1460451721.git.naveen.n.rao@linux.vnet.ibm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/arch/powerpc/util/sym-handling.c
tools/perf/util/probe-event.c
tools/perf/util/probe-event.h
tools/perf/util/symbol-elf.c
tools/perf/util/symbol.h