Messages in this thread | | | Date | Thu, 11 Aug 2016 11:49:00 -0300 | From | Arnaldo Carvalho de Melo <> | Subject | Re: [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
| |