Re: [RFC V3 1/3] perf, tools: Support wildcards on pmu name in dynamic pmu events

From: Agustin Vega-Frias
Date: Wed Mar 07 2018 - 12:39:39 EST


On 2018-03-07 11:02, Arnaldo Carvalho de Melo wrote:
Em Tue, Mar 06, 2018 at 09:04:42AM -0500, Agustin Vega-Frias escreveu:

[snip]

This breaks the build in at least Alpine Linux 3.4, 3.5 and 3.6 and
android-ndk:r15c-arm

Alpine 3.6 build failure:

CC /tmp/build/perf/util/parse-events-bison.o
util/parse-events.y: In function 'parse_events_parse':
util/parse-events.y:244:37: error: 'FNM_EXTMATCH' undeclared (first
use in this function)
if (!fnmatch(pattern, pmu->name, FNM_EXTMATCH)) {
^~~~~~~~~~~~
util/parse-events.y:244:37: note: each undeclared identifier is
reported only once for each function it appears in
CC /tmp/build/perf/bench/mem-functions.o
mv: can't rename '/tmp/build/perf/util/.parse-events-bison.o.tmp': No
such file or directory
make[4]: *** [/git/linux/tools/build/Makefile.build:96:
/tmp/build/perf/util/parse-events-bison.o] Error 1
make[3]: *** [/git/linux/tools/build/Makefile.build:139: util] Error 2
make[2]: *** [Makefile.perf:623: /tmp/build/perf/libperf-in.o] Error 2
make[2]: *** Waiting for unfinished jobs....

Android NDK r15c ARM, cross built from, IIRC, Fedora 24:

CC /tmp/build/perf/util/parse-events-bison.o
util/parse-events.y: In function 'parse_events_parse':
util/parse-events.y:244:37: error: 'FNM_EXTMATCH' undeclared (first
use in this function)
if (!fnmatch(pattern, pmu->name, FNM_EXTMATCH)) {
^
util/parse-events.y:244:37: note: each undeclared identifier is
reported only once for each function it appears in
mv: cannot stat '/tmp/build/perf/util/.parse-events-bison.o.tmp': No
such file or directory
make[4]: *** [/git/linux/tools/build/Makefile.build:96:
/tmp/build/perf/util/parse-events-bison.o] Error 1
make[4]: *** Waiting for unfinished jobs....
CC /tmp/build/perf/builtin-kmem.o
make[3]: *** [/git/linux/tools/build/Makefile.build:139: util] Error 2
make[2]: *** [Makefile.perf:623: /tmp/build/perf/libperf-in.o] Error 2


Probably others, I'll investigate later, feel free to do it if you have
the time now :-)


Sorry about that. That's probably because FNM_EXTMATCH is a GNU extension,
not POSIX, and the Alpine and Android runtimes likely don't implement that...
I'll send a fix reverting back to the strncmp to ignore the uncore_ prefix,
and dropping that extension.

AgustÃn

Extra info:


1 46.29 alpine:3.4 : FAIL gcc (Alpine 5.3.0) 5.3.0
2 53.37 alpine:3.5 : FAIL gcc (Alpine 6.2.1)
6.2.1 20160822
3 48.42 alpine:3.6 : FAIL gcc (Alpine 6.3.0) 6.3.0
4 35.88 alpine:edge : FAIL gcc (Alpine 6.4.0) 6.4.0
5 96.79 amazonlinux:1 : Ok gcc (GCC) 4.8.5
20150623 (Red Hat 4.8.5-11)
6 116.40 amazonlinux:2 : Ok gcc (GCC) 7.2.1
20170915 (Red Hat 7.2.1-2)
7 34.30 android-ndk:r12b-arm : FAIL
arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
8 33.69 android-ndk:r15c-arm : FAIL
arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
9 60.50 centos:5 : Ok gcc (GCC) 4.1.2
20080704 (Red Hat 4.1.2-55)
10 88.54 centos:6 : Ok gcc (GCC) 4.4.7
20120313 (Red Hat 4.4.7-18)
11 108.89 centos:7 : Ok gcc (GCC) 4.8.5
20150623 (Red Hat 4.8.5-16)


The builds are still ongoing.

- Arnaldo

--
Qualcomm Datacenter Technologies, Inc. on behalf of the Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.