Em Thu, Aug 11, 2016 at 10:01:04AM +0530, Ravi Bangoria escreveu: > > > On Thursday 11 August 2016 05:24 AM, Anton Blanchard wrote: > > Hi, > > > > > Powerpc has Global Entry Point and Local Entry Point for functions. > > > LEP catches call from both the GEP and the LEP. Symbol table of ELF > > > contains GEP and Offset from which we can calculate LEP, but debuginfo > > > does not have LEP info. > > > > > > Currently, perf prioritize symbol table over dwarf to probe on LEP > > > for ppc64le. But when user tries to probe with function parameter, > > > we fall back to using dwarf(i.e. GEP) and when function called via > > > LEP, probe will never hit. > > This patch causes a build failure for me on ppc64le: > > > > libperf.a(libperf-in.o): In function > > `arch__post_process_probe_trace_events': > > > > tools/perf/arch/powerpc/util/sym-handling.c:109: undefined reference to > > `get_target_map' > > Thanks Anton. Sorry, I should have caught that. > > @Arnaldo, Can you please pick this up. I've prepared this on top of > acme/perf/core. > > > From 89c977ae9c3ae35c78b16cddabcf2b01d3cf5cc8 Mon Sep 17 00:00:00 2001 > From: Ravi Bangoria <ravi.bango...@linux.vnet.ibm.com> > Date: Wed, 10 Aug 2016 23:13:45 -0500 > Subject: [PATCH] perf ppc64le: Fix build failure when no dwarf support > > Fix perf build failure on ppc64le because of Commit 99e608b5954c ("perf > probe ppc64le: Fix probe location when using DWARF")
Can you please provide a better explanation? I had to look at the patch to understand what it was fixing, and then the patch adds LIBELF_SUPPORT ifdefs while the patch description, talks about DWARF. Anyway, Anton, does this fix the problem for you? - Arnaldo > Signed-off-by: Ravi Bangoria <ravi.bango...@linux.vnet.ibm.com> > --- > tools/perf/arch/powerpc/util/sym-handling.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/tools/perf/arch/powerpc/util/sym-handling.c > b/tools/perf/arch/powerpc/util/sym-handling.c > index 8d4dc97..c27a51a 100644 > --- a/tools/perf/arch/powerpc/util/sym-handling.c > +++ b/tools/perf/arch/powerpc/util/sym-handling.c > @@ -97,6 +97,7 @@ void arch__fix_tev_from_maps(struct perf_probe_event *pev, > } > } > > +#ifdef HAVE_LIBELF_SUPPORT > void arch__post_process_probe_trace_events(struct perf_probe_event *pev, > int ntevs) > { > @@ -118,5 +119,6 @@ void arch__post_process_probe_trace_events(struct > perf_probe_event *pev, > } > } > } > +#endif > > #endif > -- > 2.7.4