Em Thu, Aug 11, 2016 at 09:54:57AM +1000, Anton Blanchard escreveu: > 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'
Humm, he sent a patch, I'm applying it, but I'm trying to figure out why this wasn't catched by my cross compiling container :-\ Complete log and: CC /tmp/build/perf/util/probe-event.o Because: ... libelf: [ on ] So I would have to build with NO_LIBELF=1? /me tries... further proof I need to build with 'make -C tools/perf build-test' for all the arches, that will test, among other combos, with NO_LIBELF=1 and without :-\ # docker run --entrypoint=/bin/bash -v /home/acme/git:/git:Z --rm -ti docker.io/acmel/linux-perf-tools-build-ubuntu:16.04-x-powerpc64el perfbuilder@74bca30d5b61:/$ make NO_LIBELF=1 ARCH=powerpc CROSS_COMPILE=powerpc64le-linux-gnu- -C /git/linux/tools/perf O=/tmp/build/perf <SNIP> LINK /tmp/build/perf/perf /tmp/build/perf/libperf.a(libperf-in.o): In function `arch__post_process_probe_trace_events': /git/linux/tools/perf/arch/powerpc/util/sym-handling.c:109: undefined reference to `get_target_map' collect2: error: ld returned 1 exit status Makefile.perf:435: recipe for target '/tmp/build/perf/perf' failed make[1]: *** [/tmp/build/perf/perf] Error 1 Makefile:68: recipe for target 'all' failed make: *** [all] Error 2 make: Leaving directory '/git/linux/tools/perf' perfbuilder@74bca30d5b61:/$ Ok, reproduced, will add the NO_LIBELF=1 to the regular set of tests for ppc64le. - Arnaldo

