* Re: [PATCH v2] perf: Avoid implicit function declarations in lexer/parse interface
[not found] <87sfcn7uot.fsf@oldenburg.str.redhat.com>
@ 2023-04-25 17:40 ` Ian Rogers
2023-04-29 1:34 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 8+ messages in thread
From: Ian Rogers @ 2023-04-25 17:40 UTC (permalink / raw)
To: Florian Weimer
Cc: linux-perf-users, linux-kernel, Peter Zijlstra, Ingo Molnar,
Arnaldo Carvalho de Melo, Mark Rutland, Alexander Shishkin,
Jiri Olsa, Namhyung Kim, Adrian Hunter, Justin M. Forbes
On Tue, Apr 25, 2023 at 10:12 AM Florian Weimer <fweimer@redhat.com> wrote:
>
> In future compilers, -Wno-implicit-function-declaration may not bring
> back support for implicit function declarations, a feature that was
> removed from the C language in C99. Instead of relying on implicit
> declarations, include the flex-generated header from the
> bison-generated C code.
>
> he expr-flex.h header needs to be included later than the others
nit: s/he/The/
> because at the early point, the definition of YYSTYPE is not yet
> available.
>
> Signed-off-by: Florian Weimer <fweimer@redhat.com>
Acked-by: Ian Rogers <irogers@google.com>
Thanks for fighting the build wrt parallel dependencies!
Ian
> ---
> v2: Include the flex-generated files instead of manually-written prototypes.
>
> tools/perf/util/Build | 10 +++++++++-
> tools/perf/util/expr.y | 2 ++
> tools/perf/util/parse-events.y | 1 +
> tools/perf/util/pmu.y | 1 +
> 4 files changed, 13 insertions(+), 1 deletion(-)
>
> diff --git a/tools/perf/util/Build b/tools/perf/util/Build
> index 918b501f9bd8..92897068c362 100644
> --- a/tools/perf/util/Build
> +++ b/tools/perf/util/Build
> @@ -283,7 +283,7 @@ CFLAGS_expr-flex.o += $(flex_flags)
> bison_flags := -DYYENABLE_NLS=0
> BISON_GE_35 := $(shell expr $(shell $(BISON) --version | grep bison | sed -e 's/.\+ \([0-9]\+\).\([0-9]\+\)/\1\2/g') \>\= 35)
> ifeq ($(BISON_GE_35),1)
> - bison_flags += -Wno-unused-parameter -Wno-nested-externs -Wno-implicit-function-declaration -Wno-switch-enum -Wno-unused-but-set-variable -Wno-unknown-warning-option
> + bison_flags += -Wno-unused-parameter -Wno-nested-externs -Wno-switch-enum -Wno-unused-but-set-variable -Wno-unknown-warning-option
> else
> bison_flags += -w
> endif
> @@ -340,3 +340,11 @@ $(OUTPUT)util/vsprintf.o: ../lib/vsprintf.c FORCE
> $(OUTPUT)util/list_sort.o: ../lib/list_sort.c FORCE
> $(call rule_mkdir)
> $(call if_changed_dep,cc_o_c)
> +
> +# These dependencies ensure that the flex-generated .h file is
> +# available at the time the bison-generated .c sources are compiled.
> +# Do not depend on the generated .h file to prevent triggering
> +# parallel flex invocations for the same two output files.
> +$(OUTPUT)util/expr-bison.o : $(OUTPUT)util/expr-flex.c
> +$(OUTPUT)util/parse-events-bison.o : $(OUTPUT)util/parse-events-flex.c
> +$(OUTPUT)util/pmu-bison.o : $(OUTPUT)util/pmu-flex.c
> diff --git a/tools/perf/util/expr.y b/tools/perf/util/expr.y
> index 635e562350c5..99581193ca4c 100644
> --- a/tools/perf/util/expr.y
> +++ b/tools/perf/util/expr.y
> @@ -53,6 +53,8 @@
> %destructor { ids__free($$.ids); } <ids>
>
> %{
> +#include "expr-flex.h"
> +
> static void expr_error(double *final_val __maybe_unused,
> struct expr_parse_ctx *ctx __maybe_unused,
> bool compute_ids __maybe_unused,
> diff --git a/tools/perf/util/parse-events.y b/tools/perf/util/parse-events.y
> index be8c51770051..67a7f70c4767 100644
> --- a/tools/perf/util/parse-events.y
> +++ b/tools/perf/util/parse-events.y
> @@ -17,6 +17,7 @@
> #include "evsel.h"
> #include "parse-events.h"
> #include "parse-events-bison.h"
> +#include "parse-events-flex.h"
>
> void parse_events_error(YYLTYPE *loc, void *parse_state, void *scanner, char const *msg);
>
> diff --git a/tools/perf/util/pmu.y b/tools/perf/util/pmu.y
> index e675d79a0274..2170f1ac7b74 100644
> --- a/tools/perf/util/pmu.y
> +++ b/tools/perf/util/pmu.y
> @@ -9,6 +9,7 @@
> #include <linux/bitmap.h>
> #include <string.h>
> #include "pmu.h"
> +#include "pmu-flex.h"
>
> #define ABORT_ON(val) \
> do { \
>
> base-commit: 173ea743bf7a9eef04460e03b00ba267cc52aee2
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2] perf: Avoid implicit function declarations in lexer/parse interface
2023-04-25 17:40 ` [PATCH v2] perf: Avoid implicit function declarations in lexer/parse interface Ian Rogers
@ 2023-04-29 1:34 ` Arnaldo Carvalho de Melo
2023-04-29 1:37 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 8+ messages in thread
From: Arnaldo Carvalho de Melo @ 2023-04-29 1:34 UTC (permalink / raw)
To: Ian Rogers
Cc: Florian Weimer, linux-perf-users, linux-kernel, Peter Zijlstra,
Ingo Molnar, Mark Rutland, Alexander Shishkin, Jiri Olsa,
Namhyung Kim, Adrian Hunter, Justin M. Forbes
Em Tue, Apr 25, 2023 at 10:40:14AM -0700, Ian Rogers escreveu:
> On Tue, Apr 25, 2023 at 10:12 AM Florian Weimer <fweimer@redhat.com> wrote:
> >
> > In future compilers, -Wno-implicit-function-declaration may not bring
> > back support for implicit function declarations, a feature that was
> > removed from the C language in C99. Instead of relying on implicit
> > declarations, include the flex-generated header from the
> > bison-generated C code.
> >
> > he expr-flex.h header needs to be included later than the others
>
> nit: s/he/The/
>
> > because at the early point, the definition of YYSTYPE is not yet
> > available.
> >
> > Signed-off-by: Florian Weimer <fweimer@redhat.com>
>
> Acked-by: Ian Rogers <irogers@google.com>
>
> Thanks for fighting the build wrt parallel dependencies!
> Ian
Thanks, applied. BTW b4 coulnd't find this message (nor the original):
⬢[acme@toolbox perf-tools-next]$ b4 am -ctsl --cc-trailers 87sfcn7uot.fsf@oldenburg.str.redhat.com
Grabbing thread from lore.kernel.org/all/87sfcn7uot.fsf%40oldenburg.str.redhat.com/t.mbox.gz
That message-id is not known.
⬢[acme@toolbox perf-tools-next]$ b4 am -ctsl --cc-trailers CAP-5=fXZv+KCdCN05wVUcAwDCZAgXjWunoaviGBQEiUPqNwOmg@mail.gmail.com
Grabbing thread from lore.kernel.org/all/CAP-5%3DfXZv%2BKCdCN05wVUcAwDCZAgXjWunoaviGBQEiUPqNwOmg%40mail.gmail.com/t.mbox.gz
Analyzing 1 messages in the thread
No patches found.
⬢[acme@toolbox perf-tools-next]$
I applied it in the old fashion.
- Arnaldo
> > ---
> > v2: Include the flex-generated files instead of manually-written prototypes.
> >
> > tools/perf/util/Build | 10 +++++++++-
> > tools/perf/util/expr.y | 2 ++
> > tools/perf/util/parse-events.y | 1 +
> > tools/perf/util/pmu.y | 1 +
> > 4 files changed, 13 insertions(+), 1 deletion(-)
> >
> > diff --git a/tools/perf/util/Build b/tools/perf/util/Build
> > index 918b501f9bd8..92897068c362 100644
> > --- a/tools/perf/util/Build
> > +++ b/tools/perf/util/Build
> > @@ -283,7 +283,7 @@ CFLAGS_expr-flex.o += $(flex_flags)
> > bison_flags := -DYYENABLE_NLS=0
> > BISON_GE_35 := $(shell expr $(shell $(BISON) --version | grep bison | sed -e 's/.\+ \([0-9]\+\).\([0-9]\+\)/\1\2/g') \>\= 35)
> > ifeq ($(BISON_GE_35),1)
> > - bison_flags += -Wno-unused-parameter -Wno-nested-externs -Wno-implicit-function-declaration -Wno-switch-enum -Wno-unused-but-set-variable -Wno-unknown-warning-option
> > + bison_flags += -Wno-unused-parameter -Wno-nested-externs -Wno-switch-enum -Wno-unused-but-set-variable -Wno-unknown-warning-option
> > else
> > bison_flags += -w
> > endif
> > @@ -340,3 +340,11 @@ $(OUTPUT)util/vsprintf.o: ../lib/vsprintf.c FORCE
> > $(OUTPUT)util/list_sort.o: ../lib/list_sort.c FORCE
> > $(call rule_mkdir)
> > $(call if_changed_dep,cc_o_c)
> > +
> > +# These dependencies ensure that the flex-generated .h file is
> > +# available at the time the bison-generated .c sources are compiled.
> > +# Do not depend on the generated .h file to prevent triggering
> > +# parallel flex invocations for the same two output files.
> > +$(OUTPUT)util/expr-bison.o : $(OUTPUT)util/expr-flex.c
> > +$(OUTPUT)util/parse-events-bison.o : $(OUTPUT)util/parse-events-flex.c
> > +$(OUTPUT)util/pmu-bison.o : $(OUTPUT)util/pmu-flex.c
> > diff --git a/tools/perf/util/expr.y b/tools/perf/util/expr.y
> > index 635e562350c5..99581193ca4c 100644
> > --- a/tools/perf/util/expr.y
> > +++ b/tools/perf/util/expr.y
> > @@ -53,6 +53,8 @@
> > %destructor { ids__free($$.ids); } <ids>
> >
> > %{
> > +#include "expr-flex.h"
> > +
> > static void expr_error(double *final_val __maybe_unused,
> > struct expr_parse_ctx *ctx __maybe_unused,
> > bool compute_ids __maybe_unused,
> > diff --git a/tools/perf/util/parse-events.y b/tools/perf/util/parse-events.y
> > index be8c51770051..67a7f70c4767 100644
> > --- a/tools/perf/util/parse-events.y
> > +++ b/tools/perf/util/parse-events.y
> > @@ -17,6 +17,7 @@
> > #include "evsel.h"
> > #include "parse-events.h"
> > #include "parse-events-bison.h"
> > +#include "parse-events-flex.h"
> >
> > void parse_events_error(YYLTYPE *loc, void *parse_state, void *scanner, char const *msg);
> >
> > diff --git a/tools/perf/util/pmu.y b/tools/perf/util/pmu.y
> > index e675d79a0274..2170f1ac7b74 100644
> > --- a/tools/perf/util/pmu.y
> > +++ b/tools/perf/util/pmu.y
> > @@ -9,6 +9,7 @@
> > #include <linux/bitmap.h>
> > #include <string.h>
> > #include "pmu.h"
> > +#include "pmu-flex.h"
> >
> > #define ABORT_ON(val) \
> > do { \
> >
> > base-commit: 173ea743bf7a9eef04460e03b00ba267cc52aee2
> >
--
- Arnaldo
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2] perf: Avoid implicit function declarations in lexer/parse interface
2023-04-29 1:34 ` Arnaldo Carvalho de Melo
@ 2023-04-29 1:37 ` Arnaldo Carvalho de Melo
2023-05-03 9:36 ` Florian Weimer
0 siblings, 1 reply; 8+ messages in thread
From: Arnaldo Carvalho de Melo @ 2023-04-29 1:37 UTC (permalink / raw)
To: Ian Rogers
Cc: Florian Weimer, linux-perf-users, linux-kernel, Peter Zijlstra,
Ingo Molnar, Mark Rutland, Alexander Shishkin, Jiri Olsa,
Namhyung Kim, Adrian Hunter, Justin M. Forbes
Em Fri, Apr 28, 2023 at 10:34:25PM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Tue, Apr 25, 2023 at 10:40:14AM -0700, Ian Rogers escreveu:
> > On Tue, Apr 25, 2023 at 10:12 AM Florian Weimer <fweimer@redhat.com> wrote:
> > >
> > > In future compilers, -Wno-implicit-function-declaration may not bring
> > > back support for implicit function declarations, a feature that was
> > > removed from the C language in C99. Instead of relying on implicit
> > > declarations, include the flex-generated header from the
> > > bison-generated C code.
> > >
> > > he expr-flex.h header needs to be included later than the others
> >
> > nit: s/he/The/
> >
> > > because at the early point, the definition of YYSTYPE is not yet
> > > available.
> > >
> > > Signed-off-by: Florian Weimer <fweimer@redhat.com>
> >
> > Acked-by: Ian Rogers <irogers@google.com>
> >
> > Thanks for fighting the build wrt parallel dependencies!
> > Ian
>
>
> Thanks, applied. BTW b4 coulnd't find this message (nor the original):
>
> ⬢[acme@toolbox perf-tools-next]$ b4 am -ctsl --cc-trailers 87sfcn7uot.fsf@oldenburg.str.redhat.com
> Grabbing thread from lore.kernel.org/all/87sfcn7uot.fsf%40oldenburg.str.redhat.com/t.mbox.gz
> That message-id is not known.
> ⬢[acme@toolbox perf-tools-next]$ b4 am -ctsl --cc-trailers CAP-5=fXZv+KCdCN05wVUcAwDCZAgXjWunoaviGBQEiUPqNwOmg@mail.gmail.com
> Grabbing thread from lore.kernel.org/all/CAP-5%3DfXZv%2BKCdCN05wVUcAwDCZAgXjWunoaviGBQEiUPqNwOmg%40mail.gmail.com/t.mbox.gz
> Analyzing 1 messages in the thread
> No patches found.
> ⬢[acme@toolbox perf-tools-next]$
>
> I applied it in the old fashion.
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’
At top level:
cc1: note: unrecognized command-line option ‘-Wno-unknown-warning-option’ may have been intended to silence earlier diagnostics
cc1: all warnings being treated as errors
make[4]: *** [/var/home/acme/git/perf-tools-next/tools/build/Makefile.build:97: /tmp/build/perf-tools-next/util/pmu-bison.o] Error 1
make[4]: *** Waiting for unfinished jobs....
util/bpf-filter-bison.c: In function ‘perf_bpf_filter_parse’:
/tmp/build/perf-tools-next/util/bpf-filter-bison.c:69:25: error: implicit declaration of function ‘perf_bpf_filter_lex’; did you mean ‘perf_bpf_filter_parse’? [-Werror=implicit-function-declaration]
69 | #define yylex perf_bpf_filter_lex
| ^~~~~~~~~~~~~~~~~~~
util/bpf-filter-bison.c:1283:16: note: in expansion of macro ‘yylex’
At top level:
cc1: note: unrecognized command-line option ‘-Wno-unknown-warning-option’ may have been intended to silence earlier diagnostics
cc1: all warnings being treated as errors
make[4]: *** [/var/home/acme/git/perf-tools-next/tools/build/Makefile.build:97: /tmp/build/perf-tools-next/util/bpf-filter-bison.o] Error 1
make[3]: *** [/var/home/acme/git/perf-tools-next/tools/build/Makefile.build:140: util] Error 2
make[2]: *** [Makefile.perf:676: /tmp/build/perf-tools-next/perf-in.o] Error 2
make[2]: *** Waiting for unfinished jobs....
CC /tmp/build/perf-tools-next/pmu-events/pmu-events.o
LD /tmp/build/perf-tools-next/pmu-events/pmu-events-in.o
make[1]: *** [Makefile.perf:236: sub-make] Error 2
make: *** [Makefile:113: install-bin] Error 2
make: Leaving directory '/var/home/acme/git/perf-tools-next/tools/perf'
Performance counter stats for 'make -k CORESIGHT=1 O=/tmp/build/perf-tools-next -C tools/perf install-bin':
40330976311 cycles:u
73953066660 instructions:u # 1.83 insn per cycle
9.268030835 seconds time elapsed
9.546339000 seconds user
7.391844000 seconds sys
⬢[acme@toolbox perf-tools-next]$ cat /etc/redhat-release
Fedora release 37 (Thirty Seven)
⬢[acme@toolbox perf-tools-next]$ rpm -q bison flex
bison-3.8.2-3.fc37.x86_64
flex-2.6.4-11.fc37.x86_64
⬢[acme@toolbox perf-tools-next]$ gcc --version
gcc (GCC) 12.2.1 20221121 (Red Hat 12.2.1-4)
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
⬢[acme@toolbox perf-tools-next]$
I tried rm -rf the O= build dir, etc.
- Arnaldo
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2] perf: Avoid implicit function declarations in lexer/parse interface
2023-04-29 1:37 ` Arnaldo Carvalho de Melo
@ 2023-05-03 9:36 ` Florian Weimer
2023-05-03 9:40 ` Florian Weimer
0 siblings, 1 reply; 8+ messages in thread
From: Florian Weimer @ 2023-05-03 9:36 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: Ian Rogers, linux-perf-users, linux-kernel, Peter Zijlstra,
Ingo Molnar, Mark Rutland, Alexander Shishkin, Jiri Olsa,
Namhyung Kim, Adrian Hunter, Justin M. Forbes
* 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?
Thanks,
Florian
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2] perf: Avoid implicit function declarations in lexer/parse interface
2023-05-03 9:36 ` Florian Weimer
@ 2023-05-03 9:40 ` Florian Weimer
2023-05-03 15:04 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 8+ messages in thread
From: Florian Weimer @ 2023-05-03 9:40 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: Ian Rogers, linux-perf-users, linux-kernel, Peter Zijlstra,
Ingo Molnar, Mark Rutland, Alexander Shishkin, Jiri Olsa,
Namhyung Kim, Adrian Hunter, Justin M. Forbes
* 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.
Thanks,
Florian
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2] perf: Avoid implicit function declarations in lexer/parse interface
2023-05-03 9:40 ` Florian Weimer
@ 2023-05-03 15:04 ` Arnaldo Carvalho de Melo
2023-05-03 15:28 ` Ian Rogers
0 siblings, 1 reply; 8+ messages in thread
From: Arnaldo Carvalho de Melo @ 2023-05-03 15:04 UTC (permalink / raw)
To: Florian Weimer
Cc: Ian Rogers, linux-perf-users, linux-kernel, Peter Zijlstra,
Ingo Molnar, Mark Rutland, Alexander Shishkin, Jiri Olsa,
Namhyung Kim, Adrian Hunter, Justin M. Forbes
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
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2] perf: Avoid implicit function declarations in lexer/parse interface
2023-05-03 15:04 ` Arnaldo Carvalho de Melo
@ 2023-05-03 15:28 ` Ian Rogers
2023-05-03 16:45 ` Florian Weimer
0 siblings, 1 reply; 8+ messages in thread
From: Ian Rogers @ 2023-05-03 15:28 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: Florian Weimer, linux-perf-users, linux-kernel, Peter Zijlstra,
Ingo Molnar, Mark Rutland, Alexander Shishkin, Jiri Olsa,
Namhyung Kim, Adrian Hunter, Justin M. Forbes
On Wed, May 3, 2023 at 8:04 AM Arnaldo Carvalho de Melo <acme@kernel.org> 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
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2] perf: Avoid implicit function declarations in lexer/parse interface
2023-05-03 15:28 ` Ian Rogers
@ 2023-05-03 16:45 ` Florian Weimer
0 siblings, 0 replies; 8+ messages in thread
From: Florian Weimer @ 2023-05-03 16:45 UTC (permalink / raw)
To: Ian Rogers
Cc: Arnaldo Carvalho de Melo, linux-perf-users, linux-kernel,
Peter Zijlstra, Ingo Molnar, Mark Rutland, Alexander Shishkin,
Jiri Olsa, Namhyung Kim, Adrian Hunter, Justin M. Forbes
* Ian Rogers:
> On Wed, May 3, 2023 at 8:04 AM Arnaldo Carvalho de Melo <acme@kernel.org> 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.
Yeah, it's that. I tried to reproduce the issue with a make command
similar to Arnaldo's, and forgot that *of course* O= overrides “git
clean”.
I'm now on 5d27a645f60940fdf589e4ff5351506a7f0fdbaa, can built it
cleanly, and will try to rebase my patch onto that.
Thanks,
Florian
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2023-05-03 16:46 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <87sfcn7uot.fsf@oldenburg.str.redhat.com>
2023-04-25 17:40 ` [PATCH v2] perf: Avoid implicit function declarations in lexer/parse interface Ian Rogers
2023-04-29 1:34 ` Arnaldo Carvalho de Melo
2023-04-29 1:37 ` Arnaldo Carvalho de Melo
2023-05-03 9:36 ` Florian Weimer
2023-05-03 9:40 ` Florian Weimer
2023-05-03 15:04 ` Arnaldo Carvalho de Melo
2023-05-03 15:28 ` Ian Rogers
2023-05-03 16:45 ` Florian Weimer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).