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

From: Ian Rogers
Date: Wed May 03 2023 - 11:28:41 EST


On Wed, May 3, 2023 at 8:04 AM Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> wrote:
>
> 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

The zip.c and zip.h in libbpf are new, perhaps it is a fixdeps issue?
Perhaps doing a clean build and retrying will address the problem.

Thanks,
Ian