Re: [PATCH v2] perf: Avoid implicit function declarations in lexer/parse interface

From: Arnaldo Carvalho de Melo
Date: Wed May 03 2023 - 11:04:28 EST


Em Wed, May 03, 2023 at 11:40:06AM +0200, Florian Weimer escreveu:
> * Florian Weimer:
> > * Arnaldo Carvalho de Melo:

> >>> Thanks, applied. BTW b4 coulnd't find this message (nor the original):

> > Yes, vger drops the message after accepting it for some reason, probably
> > something in the patch contents. I tried to resubmit from a completely
> > separate account, no luck.
> >
> >> Not so fast, removed it for now:
> >>
> >> CC /tmp/build/perf-tools-next/util/parse-events-bison.o
> >> In file included from util/pmu.y:14:
> >> /tmp/build/perf-tools-next/util/pmu-flex.h:496:1: error: unknown type name ‘YYSTYPE’
> >> 496 |
> >> | ^
> >> /tmp/build/perf-tools-next/util/pmu-flex.h:498:19: error: unknown type name ‘YYSTYPE’
> >> 498 |
> >> | ^
> >> /tmp/build/perf-tools-next/util/pmu-flex.h:546:17: error: unknown type name ‘YYSTYPE’
> >> 546 | extern int yylex \
> >> | ^~
> >> util/pmu-bison.c: In function ‘perf_pmu_parse’:
> >> /tmp/build/perf-tools-next/util/pmu-bison.c:69:25: error: implicit declaration of function ‘perf_pmu_lex’; did you mean ‘perf_pmu_free’? [-Werror=implicit-function-declaration]
> >> 69 | #define yylex perf_pmu_lex
> >> | ^~~~~~~~~~~~
> >> util/pmu-bison.c:1007:16: note: in expansion of macro ‘yylex’
> >
> > This appears to be related to some BPF filter stuff that is only in
> > perf-next, not mainline.
> >
> > Is this the right tree on which to base the patch?
> >
> > <https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git/>
> >
> > Branch perf-tools-next?
>
> Sorry, it doesn't build even without my patch:
>
> make[4]: *** No rule to make target 'zip.h', needed by '/tmp/build/libbpf/staticobjs/libbpf.o'. Stop.

I'm noticing this, but then I haven't merged with upstream yet, I bet
this is something upstream after merging the bpf branch... Nope, I just
did a test merge of what is in
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git perf-tools
with upstream and it builds without problems on:

[acme@quaco perf-tools]$ head -2 /etc/os-release
NAME="Fedora Linux"
VERSION="37 (Workstation Edition)"
[acme@quaco perf-tools]$

I'll check on f38 and rawhide.

- Arnaldo