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

Reply via email to