2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-22 20:23:57 +08:00
linux-next/tools/perf/arch
Naveen N. Rao 0b3c2264ae 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>
2016-05-05 21:04:03 -03:00
..
alpha perf tools: Add empty Build files for architectures lacking them 2015-08-06 16:24:15 -03:00
arm perf jitdump: Build only on supported archs 2016-03-10 16:33:19 -03:00
arm64 perf jitdump: Build only on supported archs 2016-03-10 16:33:19 -03:00
mips perf tools: Add empty Build files for architectures lacking them 2015-08-06 16:24:15 -03:00
parisc perf tools: Add empty Build files for architectures lacking them 2015-08-06 16:24:15 -03:00
powerpc perf symbols: Fix kallsyms perf test on ppc64le 2016-05-05 21:04:03 -03:00
s390 perf kvm/{x86,s390}: Remove const from kvm_events_tp 2016-01-29 17:49:53 -03:00
sh perf dwarf: Fix potential array out of bounds access 2015-09-01 11:33:48 -03:00
sparc perf dwarf: Fix potential array out of bounds access 2015-09-01 11:33:48 -03:00
x86 perf tools: Update x86's syscall_64.tbl, adding preadv2 & pwritev2 2016-04-26 13:15:02 -03:00
xtensa perf tools xtensa: Add DWARF register names 2015-08-06 16:45:05 -03:00
Build perf build: Add arch x86 objects building 2015-02-12 13:12:01 -03:00
common.c perf env: Rename some leftovers from rename to perf_env 2015-09-14 12:50:20 -03:00
common.h perf env: Rename some leftovers from rename to perf_env 2015-09-14 12:50:20 -03:00