lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 11 Aug 2016 12:49:42 -0300
From:	Arnaldo Carvalho de Melo <acme@...nel.org>
To:	Anton Blanchard <anton@...ba.org>
Cc:	Ravi Bangoria <ravi.bangoria@...ux.vnet.ibm.com>,
	linux-kernel@...r.kernel.org, peterz@...radead.org,
	mingo@...hat.com, alexander.shishkin@...ux.intel.com,
	bsingharora@...il.com, naveen.n.rao@...ux.vnet.ibm.com,
	ananth@...ibm.com, mhiramat@...nel.org, wangnan0@...wei.com,
	namhyung@...nel.org
Subject: Re: [PATCH 2/2] perf ppc64le: Fix probe location when using DWARF

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@...ca30d5b61:/$ 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@...ca30d5b61:/$

Ok, reproduced, will add the NO_LIBELF=1 to the regular set of tests for ppc64le.

- Arnaldo

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ