lkml.org 
[lkml]   [2016]   [Aug]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 2/2] perf ppc64le: Fix probe location when using DWARF
Em Thu, Aug 11, 2016 at 06:51:39PM +0530, Ravi Bangoria escreveu:
>
>
> On Thursday 11 August 2016 05:20 PM, Arnaldo Carvalho de Melo wrote:
> > 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.bangoria@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.
>
> Yes. Explanation could have been better. Apologies for that.
>
> arch__post_process_probe_trace_events() calls get_target_map() to prepare
> symbol table. get_target_map() is defined inside util/probe-event.c.
>
> probe-event.c will only get included in perf binary if CONFIG_LIBELF is set.
> Hence arch__post_process_probe_trace_events() needs to be defined inside
> #ifdef HAVE_LIBELF_SUPPORT to solve compilation error.
>
> Please let me know if any doubts.

Thanks, that is better, will add this there.

- Arnaldo

\
 
 \ /
  Last update: 2016-08-11 17:21    [W:0.209 / U:0.308 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site