Linus's tree right now (3.4.rc5.67.gac001.dirty) gives me the following
build error when I try to build perf:
CC util/parse-events-flex.o
<stdout>: In function ‘yy_get_next_buffer’:
<stdout>:1510:3: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
util/parse-events.l: In function ‘parse_events_lex’:
util/parse-events.l:122:1: error: ignoring return value of ‘fwrite’, declared with attribute warn_unused_result [-Werror=unused-result]
cc1: all warnings being treated as errors
Do you really want to ensure that flex's build warnings fail the build?
thanks,
greg k-h
Hi,
On Thu, 3 May 2012 14:57:48 -0700, Greg KH wrote:
> Linus's tree right now (3.4.rc5.67.gac001.dirty) gives me the following
> build error when I try to build perf:
> CC util/parse-events-flex.o
> <stdout>: In function ‘yy_get_next_buffer’:
> <stdout>:1510:3: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
> util/parse-events.l: In function ‘parse_events_lex’:
> util/parse-events.l:122:1: error: ignoring return value of ‘fwrite’, declared with attribute warn_unused_result [-Werror=unused-result]
> cc1: all warnings being treated as errors
>
> Do you really want to ensure that flex's build warnings fail the build?
>
> thanks,
>
> greg k-h
Can't reproduce it on my Fedora 17 box:
namhyung@sejong:perf$ make
PERF_VERSION = 3.4.rc5.67.gac001
GEN common-cmds.h
* new build flags or prefix
CC perf.o
CC builtin-annotate.o
CC builtin-bench.o
CC bench/sched-messaging.o
CC bench/sched-pipe.o
[SNIP]
CC util/trace-event-parse.o
CC util/parse-events-flex.o
CC util/parse-events-bison.o
CC util/pmu-flex.o
CC util/pmu-bison.o
[SNIP]
CC util/scripting-engines/trace-event-python.o
CC scripts/python/Perf-Trace-Util/Context.o
AR libperf.a
LINK perf
GEN perf-archive
GEN python/perf.so
What are versions of tools you are using?
Thanks,
Namhyung
On Fri, May 04, 2012 at 10:37:24AM +0900, Namhyung Kim wrote:
> Hi,
>
> On Thu, 3 May 2012 14:57:48 -0700, Greg KH wrote:
> > Linus's tree right now (3.4.rc5.67.gac001.dirty) gives me the following
> > build error when I try to build perf:
> > CC util/parse-events-flex.o
> > <stdout>: In function ‘yy_get_next_buffer’:
> > <stdout>:1510:3: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
> > util/parse-events.l: In function ‘parse_events_lex’:
> > util/parse-events.l:122:1: error: ignoring return value of ‘fwrite’, declared with attribute warn_unused_result [-Werror=unused-result]
> > cc1: all warnings being treated as errors
> >
> > Do you really want to ensure that flex's build warnings fail the build?
> >
> > thanks,
> >
> > greg k-h
>
> Can't reproduce it on my Fedora 17 box:
>
> namhyung@sejong:perf$ make
> PERF_VERSION = 3.4.rc5.67.gac001
> GEN common-cmds.h
> * new build flags or prefix
> CC perf.o
> CC builtin-annotate.o
> CC builtin-bench.o
> CC bench/sched-messaging.o
> CC bench/sched-pipe.o
> [SNIP]
> CC util/trace-event-parse.o
> CC util/parse-events-flex.o
> CC util/parse-events-bison.o
> CC util/pmu-flex.o
> CC util/pmu-bison.o
> [SNIP]
> CC util/scripting-engines/trace-event-python.o
> CC scripts/python/Perf-Trace-Util/Context.o
> AR libperf.a
> LINK perf
> GEN perf-archive
> GEN python/perf.so
>
>
> What are versions of tools you are using?
gcc 4.6.2 from openSUSE 12.1.
Any other tools you want to know the version of?
Hi,
On Thu, 3 May 2012 18:41:20 -0700, Greg KH wrote:
> On Fri, May 04, 2012 at 10:37:24AM +0900, Namhyung Kim wrote:
>> What are versions of tools you are using?
>
> gcc 4.6.2 from openSUSE 12.1.
> Any other tools you want to know the version of?
flex and bison versions might be helpful.
Thanks,
Namhyung
From: Namhyung Kim <[email protected]>
Date: Fri, 04 May 2012 10:37:24 +0900
> Hi,
>
> On Thu, 3 May 2012 14:57:48 -0700, Greg KH wrote:
>> Linus's tree right now (3.4.rc5.67.gac001.dirty) gives me the following
>> build error when I try to build perf:
>> CC util/parse-events-flex.o
>> <stdout>: In function ?yy_get_next_buffer?:
>> <stdout>:1510:3: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
>> util/parse-events.l: In function ?parse_events_lex?:
>> util/parse-events.l:122:1: error: ignoring return value of ?fwrite?, declared with attribute warn_unused_result [-Werror=unused-result]
>> cc1: all warnings being treated as errors
>>
>> Do you really want to ensure that flex's build warnings fail the build?
>>
>> thanks,
>>
>> greg k-h
>
> Can't reproduce it on my Fedora 17 box:
Because your glibc headers probably don't have the warn_unused_result attribute
in the extern declaration of fwrite() like Greg's do.
????{.n?+???????+%?????ݶ??w??{.n?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m????????????I?
Hi,
On Thu, May 3, 2012 at 9:50 PM, David Miller <[email protected]> wrote:
> From: Namhyung Kim <[email protected]>
> Date: Fri, 04 May 2012 10:37:24 +0900
>
>> Hi,
>>
>> On Thu, 3 May 2012 14:57:48 -0700, Greg KH wrote:
>>> Linus's tree right now (3.4.rc5.67.gac001.dirty) gives me the following
>>> build error when I try to build perf:
>>> ? ? CC util/parse-events-flex.o
>>> <stdout>: In function ?yy_get_next_buffer?:
>>> <stdout>:1510:3: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
>>> util/parse-events.l: In function ?parse_events_lex?:
>>> util/parse-events.l:122:1: error: ignoring return value of ?fwrite?, declared with attribute warn_unused_result [-Werror=unused-result]
>>> cc1: all warnings being treated as errors
>>>
>>> Do you really want to ensure that flex's build warnings fail the build?
>>>
>>> thanks,
>>>
>>> greg k-h
>>
>> Can't reproduce it on my Fedora 17 box:
>
> Because your glibc headers probably don't have the warn_unused_result attribute
> in the extern declaration of fwrite() like Greg's do.
>
`tools/perf/Makefile' adds -D_FORTIFY_SOURCE=2 on the compiler's
command line, which in turn adds `__attribute__
((__warn_unused_result__))' to fwrite(3)'s prototypes, via `__wur'. I
double checked by pre-processing `util/parse-events-flex.c' with the
same arguments used by perf. fwrite(3) ends up being declared as:
extern size_t fwrite (__const void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __s) __attribute__
((__warn_unused_result__));
So it is definitively enabled, and used, on Fedora.
Above tests were done on Fedora 15/x86_64 and Fedora 16/x86_64, `perf'
build without any issue there too.
my 0.2c,
- Arnaud
Hi,
On Thu, 3 May 2012 22:14:03 -0400, Arnaud Lacombe wrote:
> Hi,
>
> On Thu, May 3, 2012 at 9:50 PM, David Miller <[email protected]> wrote:
>> From: Namhyung Kim <[email protected]>
>> Date: Fri, 04 May 2012 10:37:24 +0900
>>
>>> Hi,
>>>
>>> On Thu, 3 May 2012 14:57:48 -0700, Greg KH wrote:
>>>> Linus's tree right now (3.4.rc5.67.gac001.dirty) gives me the following
>>>> build error when I try to build perf:
>>>> CC util/parse-events-flex.o
>>>> <stdout>: In function ‘yy_get_next_buffer’:
>>>> <stdout>:1510:3: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
>>>> util/parse-events.l: In function ‘parse_events_lex’:
>>>> util/parse-events.l:122:1: error: ignoring return value of ‘fwrite’, declared with attribute warn_unused_result [-Werror=unused-result]
>>>> cc1: all warnings being treated as errors
>>>>
>>>> Do you really want to ensure that flex's build warnings fail the build?
>>>>
>>>> thanks,
>>>>
>>>> greg k-h
>>>
>>> Can't reproduce it on my Fedora 17 box:
>>
>> Because your glibc headers probably don't have the warn_unused_result attribute
>> in the extern declaration of fwrite() like Greg's do.
>>
> `tools/perf/Makefile' adds -D_FORTIFY_SOURCE=2 on the compiler's
> command line, which in turn adds `__attribute__
> ((__warn_unused_result__))' to fwrite(3)'s prototypes, via `__wur'. I
> double checked by pre-processing `util/parse-events-flex.c' with the
> same arguments used by perf. fwrite(3) ends up being declared as:
>
> extern size_t fwrite (__const void *__restrict __ptr, size_t __size,
> size_t __n, FILE *__restrict __s) __attribute__
> ((__warn_unused_result__));
>
> So it is definitively enabled, and used, on Fedora.
>
> Above tests were done on Fedora 15/x86_64 and Fedora 16/x86_64, `perf'
> build without any issue there too.
>
> my 0.2c,
> - Arnaud
On my desktop:
$ make util/parse-events-flex.i
CC util/parse-events-flex.i
$ grep -A1 'size_t fwrite' util/parse-events-flex.i
extern size_t fwrite (__const void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __s) __attribute__ ((__warn_unused_result__));
--
extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
Thanks,
Namhyung
Hi,
On Thu, May 3, 2012 at 10:14 PM, Arnaud Lacombe <[email protected]> wrote:
> Hi,
>
> On Thu, May 3, 2012 at 9:50 PM, David Miller <[email protected]> wrote:
>> From: Namhyung Kim <[email protected]>
>> Date: Fri, 04 May 2012 10:37:24 +0900
>>
>>> Hi,
>>>
>>> On Thu, 3 May 2012 14:57:48 -0700, Greg KH wrote:
>>>> Linus's tree right now (3.4.rc5.67.gac001.dirty) gives me the following
>>>> build error when I try to build perf:
>>>> ? ? CC util/parse-events-flex.o
>>>> <stdout>: In function ?yy_get_next_buffer?:
>>>> <stdout>:1510:3: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
>>>> util/parse-events.l: In function ?parse_events_lex?:
>>>> util/parse-events.l:122:1: error: ignoring return value of ?fwrite?, declared with attribute warn_unused_result [-Werror=unused-result]
>>>> cc1: all warnings being treated as errors
>>>>
>>>> Do you really want to ensure that flex's build warnings fail the build?
>>>>
>>>> thanks,
>>>>
>>>> greg k-h
>>>
>>> Can't reproduce it on my Fedora 17 box:
>>
>> Because your glibc headers probably don't have the warn_unused_result attribute
>> in the extern declaration of fwrite() like Greg's do.
>>
> `tools/perf/Makefile' adds -D_FORTIFY_SOURCE=2 on the compiler's
> command line, which in turn adds `__attribute__
> ((__warn_unused_result__))' to fwrite(3)'s prototypes, via `__wur'. I
> double checked by pre-processing `util/parse-events-flex.c' with the
> same arguments used by perf. fwrite(3) ends up being declared as:
>
> extern size_t fwrite (__const void *__restrict __ptr, size_t __size,
> ? ? ? ?size_t __n, FILE *__restrict __s) __attribute__
> ((__warn_unused_result__));
>
> So it is definitively enabled, and used, on Fedora.
>
> Above tests were done on Fedora 15/x86_64 and Fedora 16/x86_64, `perf'
> build without any issue there too.
>
it would seem that OpenSuse 12.1 and Fedora ship the same `flex'
package, upstream version 2.5.35. However, Fedora specifically harden
flex(1) wrt. lacks of fwrite(3)'s return value check, see [0] for the
exact patch.
- Arnaud
[0]: http://pkgs.fedoraproject.org/gitweb/?p=flex.git;a=blob;f=flex-2.5.35-hardening.patch;h=7d608ea2371fa3295bdb8eb97c15eeb03029c02b;hb=HEAD
> my 0.2c,
> ?- Arnaud
Hi,
On Thu, May 3, 2012 at 10:29 PM, Arnaud Lacombe <[email protected]> wrote:
> [...]
> [0]: http://pkgs.fedoraproject.org/gitweb/?p=flex.git;a=blob;f=flex-2.5.35-hardening.patch;h=7d608ea2371fa3295bdb8eb97c15eeb03029c02b;hb=HEAD
>
as a side note, this patch sounds more being about "silencing" than
"hardening"...
- Arnaud
On Thu, May 03, 2012 at 10:35:02PM -0400, Arnaud Lacombe wrote:
> Hi,
>
> On Thu, May 3, 2012 at 10:29 PM, Arnaud Lacombe <[email protected]> wrote:
> > [...]
> > [0]: http://pkgs.fedoraproject.org/gitweb/?p=flex.git;a=blob;f=flex-2.5.35-hardening.patch;h=7d608ea2371fa3295bdb8eb97c15eeb03029c02b;hb=HEAD
> >
> as a side note, this patch sounds more being about "silencing" than
> "hardening"...
That's nice, but I can build the perf version in 3.3 just fine, so
something broke here (hint, build regression.) Do I have to bisect it
down to find the problem?
greg
Hi,
On Thu, May 3, 2012 at 10:47 PM, Greg KH <[email protected]> wrote:
> On Thu, May 03, 2012 at 10:35:02PM -0400, Arnaud Lacombe wrote:
>> Hi,
>>
>> On Thu, May 3, 2012 at 10:29 PM, Arnaud Lacombe <[email protected]> wrote:
>> > [...]
>> > [0]: http://pkgs.fedoraproject.org/gitweb/?p=flex.git;a=blob;f=flex-2.5.35-hardening.patch;h=7d608ea2371fa3295bdb8eb97c15eeb03029c02b;hb=HEAD
>> >
>> as a side note, this patch sounds more being about "silencing" than
>> "hardening"...
>
> That's nice, but I can build the perf version in 3.3 just fine, so
> something broke here (hint, build regression.) ?Do I have to bisect it
> down to find the problem?
>
there is most likely nothing to bisect, `perf' seems to have never
required any parser before 3.4. The way the rest of the tools
(especially `kconfig', `genksyms' and `dtc') manage parsers is via
pre-generated .[ch]_shipped version of the lexer/tokenizer. It's been
working well for a long time as such. `perf' will certainly have to
follow the same path.
- Arnaud
On Thu, May 03, 2012 at 11:01:54PM -0400, Arnaud Lacombe wrote:
> Hi,
>
> On Thu, May 3, 2012 at 10:47 PM, Greg KH <[email protected]> wrote:
> > On Thu, May 03, 2012 at 10:35:02PM -0400, Arnaud Lacombe wrote:
> >> Hi,
> >>
> >> On Thu, May 3, 2012 at 10:29 PM, Arnaud Lacombe <[email protected]> wrote:
> >> > [...]
> >> > [0]: http://pkgs.fedoraproject.org/gitweb/?p=flex.git;a=blob;f=flex-2.5.35-hardening.patch;h=7d608ea2371fa3295bdb8eb97c15eeb03029c02b;hb=HEAD
> >> >
> >> as a side note, this patch sounds more being about "silencing" than
> >> "hardening"...
> >
> > That's nice, but I can build the perf version in 3.3 just fine, so
> > something broke here (hint, build regression.) ?Do I have to bisect it
> > down to find the problem?
> >
> there is most likely nothing to bisect, `perf' seems to have never
> required any parser before 3.4. The way the rest of the tools
> (especially `kconfig', `genksyms' and `dtc') manage parsers is via
> pre-generated .[ch]_shipped version of the lexer/tokenizer. It's been
> working well for a long time as such. `perf' will certainly have to
> follow the same path.
Well, it can allow bison to run, but just don't break the build if the
generated code it creates happens to contain warnings.
I'm using bison 2.5 and flex 2.5.35, and my phone number is...
Like this really matters? This needs to work for everyone, if not, you
better put the specific version numbers you need to require in the
Documentation/Changes file.
So, how do I fix this?
greg k-h
Hi,
On Thu, May 3, 2012 at 11:16 PM, Greg KH <[email protected]> wrote:
> On Thu, May 03, 2012 at 11:01:54PM -0400, Arnaud Lacombe wrote:
>> Hi,
>>
>> On Thu, May 3, 2012 at 10:47 PM, Greg KH <[email protected]> wrote:
>> > On Thu, May 03, 2012 at 10:35:02PM -0400, Arnaud Lacombe wrote:
>> >> Hi,
>> >>
>> >> On Thu, May 3, 2012 at 10:29 PM, Arnaud Lacombe <[email protected]> wrote:
>> >> > [...]
>> >> > [0]: http://pkgs.fedoraproject.org/gitweb/?p=flex.git;a=blob;f=flex-2.5.35-hardening.patch;h=7d608ea2371fa3295bdb8eb97c15eeb03029c02b;hb=HEAD
>> >> >
>> >> as a side note, this patch sounds more being about "silencing" than
>> >> "hardening"...
>> >
>> > That's nice, but I can build the perf version in 3.3 just fine, so
>> > something broke here (hint, build regression.) ?Do I have to bisect it
>> > down to find the problem?
>> >
>> there is most likely nothing to bisect, `perf' seems to have never
>> required any parser before 3.4. The way the rest of the tools
>> (especially `kconfig', `genksyms' and `dtc') manage parsers is via
>> pre-generated .[ch]_shipped version of the lexer/tokenizer. It's been
>> working well for a long time as such. `perf' will certainly have to
>> follow the same path.
>
> Well, it can allow bison to run, but just don't break the build if the
> generated code it creates happens to contain warnings.
>
> I'm using bison 2.5 and flex 2.5.35, and my phone number is...
>
> Like this really matters? ?This needs to work for everyone, if not, you
> better put the specific version numbers you need to require in the
> Documentation/Changes file.
>
This will not really help. Fedora and OpenSuse both ship flex 2.5.35,
which happens to both produce different output. It will be a real mess
to track which patch is applied by such or such distro which results
in such behavior.
Now, I agree with you. This does not *need* to work, it *must*.
Removing the dependency on bison/flex for normal users would make it
more manageable, from my point of view.
> So, how do I fix this?
>
you may either want to try the attached patch, or wait for `perf's
folks to look at this issue.
- Arnaud
ps: btw, please do not shoot at the messenger, I had nothing to do
with `util/perf' before you Cc'ed me. I'm just proposing solutions...
* Greg KH <[email protected]> wrote:
> On Thu, May 03, 2012 at 11:01:54PM -0400, Arnaud Lacombe wrote:
> > Hi,
> >
> > On Thu, May 3, 2012 at 10:47 PM, Greg KH <[email protected]> wrote:
> > > On Thu, May 03, 2012 at 10:35:02PM -0400, Arnaud Lacombe wrote:
> > >> Hi,
> > >>
> > >> On Thu, May 3, 2012 at 10:29 PM, Arnaud Lacombe <[email protected]> wrote:
> > >> > [...]
> > >> > [0]: http://pkgs.fedoraproject.org/gitweb/?p=flex.git;a=blob;f=flex-2.5.35-hardening.patch;h=7d608ea2371fa3295bdb8eb97c15eeb03029c02b;hb=HEAD
> > >> >
> > >> as a side note, this patch sounds more being about "silencing" than
> > >> "hardening"...
> > >
> > > That's nice, but I can build the perf version in 3.3 just fine, so
> > > something broke here (hint, build regression.) ?Do I have to bisect it
> > > down to find the problem?
> > >
> > there is most likely nothing to bisect, `perf' seems to have never
> > required any parser before 3.4. The way the rest of the tools
> > (especially `kconfig', `genksyms' and `dtc') manage parsers is via
> > pre-generated .[ch]_shipped version of the lexer/tokenizer. It's been
> > working well for a long time as such. `perf' will certainly have to
> > follow the same path.
>
> Well, it can allow bison to run, but just don't break the build if the
> generated code it creates happens to contain warnings.
>
> I'm using bison 2.5 and flex 2.5.35, and my phone number is...
>
> Like this really matters? This needs to work for everyone, if not, you
> better put the specific version numbers you need to require in the
> Documentation/Changes file.
>
> So, how do I fix this?
Does the (untested) patch below help?
If not then please paste me the build failure output (it will
most likely change due to the patch), and until we fix this
build regression on OpenSuse userspace you can work it around
via:
make WERROR=0
Thanks,
Ingo
diff --git a/tools/perf/Makefile b/tools/perf/Makefile
index 7055a00..3174e9b 100644
--- a/tools/perf/Makefile
+++ b/tools/perf/Makefile
@@ -729,10 +729,10 @@ $(OUTPUT)perf.o perf.spec \
# over the general rule for .o
$(OUTPUT)util/%-flex.o: $(OUTPUT)util/%-flex.c $(OUTPUT)PERF-CFLAGS
- $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -Iutil/ -Wno-redundant-decls -Wno-switch-default -Wno-unused-function $<
+ $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -Iutil/ -Wno-redundant-decls -Wno-switch-default -Wno-unused-function -Wno-unused-parameter $<
$(OUTPUT)util/%-bison.o: $(OUTPUT)util/%-bison.c $(OUTPUT)PERF-CFLAGS
- $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -DYYENABLE_NLS=0 -DYYLTYPE_IS_TRIVIAL=0 -Iutil/ -Wno-redundant-decls -Wno-switch-default -Wno-unused-function $<
+ $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -DYYENABLE_NLS=0 -DYYLTYPE_IS_TRIVIAL=0 -Iutil/ -Wno-redundant-decls -Wno-switch-default -Wno-unused-function -Wno-unused-parameter $<
$(OUTPUT)%.o: %.c $(OUTPUT)PERF-CFLAGS
$(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) $<
Hi,
On Fri, May 4, 2012 at 3:09 AM, Ingo Molnar <[email protected]> wrote:
>
> * Greg KH <[email protected]> wrote:
>
>> On Thu, May 03, 2012 at 11:01:54PM -0400, Arnaud Lacombe wrote:
>> > Hi,
>> >
>> > On Thu, May 3, 2012 at 10:47 PM, Greg KH <[email protected]> wrote:
>> > > On Thu, May 03, 2012 at 10:35:02PM -0400, Arnaud Lacombe wrote:
>> > >> Hi,
>> > >>
>> > >> On Thu, May 3, 2012 at 10:29 PM, Arnaud Lacombe <[email protected]> wrote:
>> > >> > [...]
>> > >> > [0]: http://pkgs.fedoraproject.org/gitweb/?p=flex.git;a=blob;f=flex-2.5.35-hardening.patch;h=7d608ea2371fa3295bdb8eb97c15eeb03029c02b;hb=HEAD
>> > >> >
>> > >> as a side note, this patch sounds more being about "silencing" than
>> > >> "hardening"...
>> > >
>> > > That's nice, but I can build the perf version in 3.3 just fine, so
>> > > something broke here (hint, build regression.) ?Do I have to bisect it
>> > > down to find the problem?
>> > >
>> > there is most likely nothing to bisect, `perf' seems to have never
>> > required any parser before 3.4. The way the rest of the tools
>> > (especially `kconfig', `genksyms' and `dtc') manage parsers is via
>> > pre-generated .[ch]_shipped version of the lexer/tokenizer. It's been
>> > working well for a long time as such. `perf' will certainly have to
>> > follow the same path.
>>
>> Well, it can allow bison to run, but just don't break the build if the
>> generated code it creates happens to contain warnings.
>>
>> I'm using bison 2.5 and flex 2.5.35, and my phone number is...
>>
>> Like this really matters? ?This needs to work for everyone, if not, you
>> better put the specific version numbers you need to require in the
>> Documentation/Changes file.
>>
>> So, how do I fix this?
>
> Does the (untested) patch below help?
>
> If not then please paste me the build failure output (it will
> most likely change due to the patch), and until we fix this
> build regression on OpenSuse userspace you can work it around
> via:
>
> ?make WERROR=0
>
> Thanks,
>
> ? ? ? ?Ingo
>
> diff --git a/tools/perf/Makefile b/tools/perf/Makefile
> index 7055a00..3174e9b 100644
> --- a/tools/perf/Makefile
> +++ b/tools/perf/Makefile
> @@ -729,10 +729,10 @@ $(OUTPUT)perf.o perf.spec \
> ?# over the general rule for .o
>
> ?$(OUTPUT)util/%-flex.o: $(OUTPUT)util/%-flex.c $(OUTPUT)PERF-CFLAGS
> - ? ? ? $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -Iutil/ -Wno-redundant-decls -Wno-switch-default -Wno-unused-function $<
> + ? ? ? $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -Iutil/ -Wno-redundant-decls -Wno-switch-default -Wno-unused-function -Wno-unused-parameter $<
>
> ?$(OUTPUT)util/%-bison.o: $(OUTPUT)util/%-bison.c $(OUTPUT)PERF-CFLAGS
> - ? ? ? $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -DYYENABLE_NLS=0 -DYYLTYPE_IS_TRIVIAL=0 -Iutil/ -Wno-redundant-decls -Wno-switch-default -Wno-unused-function $<
> + ? ? ? $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -DYYENABLE_NLS=0 -DYYLTYPE_IS_TRIVIAL=0 -Iutil/ -Wno-redundant-decls -Wno-switch-default -Wno-unused-function -Wno-unused-parameter $<
>
> ?$(OUTPUT)%.o: %.c $(OUTPUT)PERF-CFLAGS
> ? ? ? ?$(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) $<
>
You can find the build failure log in
<[email protected]>, pasted here for reference:
CC util/parse-events-flex.o
<stdout>: In function ‘yy_get_next_buffer’:
<stdout>:1510:3: error: comparison between signed and unsigned integer
expressions [-Werror=sign-compare]
util/parse-events.l: In function ‘parse_events_lex’:
util/parse-events.l:122:1: error: ignoring return value of
‘fwrite’, declared with attribute warn_unused_result
[-Werror=unused-result]
cc1: all warnings being treated as errors
So I doubt -Wno-unused-parameter will do any good here.
How about my solution, pre-generating the lexer/tokenizer ? It has
been used without trouble in other place of the tree for years. I
don't really see the point of micro-managing flex/bison issue here.
- Arnaud
On Fri, May 04, 2012 at 09:09:28AM +0200, Ingo Molnar wrote:
> Does the (untested) patch below help?
No :(
> If not then please paste me the build failure output (it will
> most likely change due to the patch), and until we fix this
> build regression on OpenSuse userspace you can work it around
> via:
Here's the error, it looks identical to what I previously had:
CC perf.o
CC util/parse-events-flex.o
<stdout>: In function ‘yy_get_next_buffer’:
<stdout>:1510:3: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
util/parse-events.l: In function ‘parse_events_lex’:
util/parse-events.l:122:1: error: ignoring return value of ‘fwrite’, declared with attribute warn_unused_result [-Werror=unused-result]
cc1: all warnings being treated as errors
> make WERROR=0
Thanks, that works for me for now, but obviously, not a real solution :)
greg k-h
Hi,
On Fri, 4 May 2012 10:44:28 -0400, Arnaud Lacombe wrote:
> How about my solution, pre-generating the lexer/tokenizer ? It has
> been used without trouble in other place of the tree for years. I
> don't really see the point of micro-managing flex/bison issue here.
>
There was a discussion:
https://lkml.org/lkml/2012/3/27/263
Thanks,
Namhyung
On Fri, May 04, 2012 at 11:55:44PM +0900, Namhyung Kim wrote:
> Hi,
>
> On Fri, 4 May 2012 10:44:28 -0400, Arnaud Lacombe wrote:
> > How about my solution, pre-generating the lexer/tokenizer ? It has
> > been used without trouble in other place of the tree for years. I
> > don't really see the point of micro-managing flex/bison issue here.
> >
>
> There was a discussion:
>
> https://lkml.org/lkml/2012/3/27/263
Yes, and I agree with Ingo on this, you can require flex and bison to
build this code, I have no problem with that.
It's the "you must build with this specific version that is not possible
for your distro otherwise the build will break" side affect of this that
I do have a problem with :)
Why can't we turn off "build error on warning" for just these generated
files?
thanks,
greg k-h
Em Fri, May 04, 2012 at 10:44:28AM -0400, Arnaud Lacombe escreveu:
> CC util/parse-events-flex.o
> <stdout>: In function ‘yy_get_next_buffer’:
> <stdout>:1510:3: error: comparison between signed and unsigned integer
> expressions [-Werror=sign-compare]
> util/parse-events.l: In function ‘parse_events_lex’:
> util/parse-events.l:122:1: error: ignoring return value of
> ‘fwrite’, declared with attribute warn_unused_result
> [-Werror=unused-result]
> cc1: all warnings being treated as errors
>
> So I doubt -Wno-unused-parameter will do any good here.
>
> How about my solution, pre-generating the lexer/tokenizer ? It has
> been used without trouble in other place of the tree for years. I
> don't really see the point of micro-managing flex/bison issue here.
This was what we did in the first place:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=89812fc81f8d62d70433a8ff63d26819f372e8ec
Then we asked Linus about it and he said:
https://lkml.org/lkml/2012/3/28/417
So we:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=65f3e56e0c81d1f581c4bdef7646ae5a8d51f494
- Arnaldo
On Fri, May 4, 2012 at 4:09 AM, Ingo Molnar <[email protected]> wrote:
>
> * Greg KH <[email protected]> wrote:
>
>> On Thu, May 03, 2012 at 11:01:54PM -0400, Arnaud Lacombe wrote:
>> > Hi,
>> >
>> > On Thu, May 3, 2012 at 10:47 PM, Greg KH <[email protected]> wrote:
>> > > On Thu, May 03, 2012 at 10:35:02PM -0400, Arnaud Lacombe wrote:
>> > >> Hi,
>> > >>
>> > >> On Thu, May 3, 2012 at 10:29 PM, Arnaud Lacombe <[email protected]> wrote:
>> > >> > [...]
>> > >> > [0]: http://pkgs.fedoraproject.org/gitweb/?p=flex.git;a=blob;f=flex-2.5.35-hardening.patch;h=7d608ea2371fa3295bdb8eb97c15eeb03029c02b;hb=HEAD
>> > >> >
>> > >> as a side note, this patch sounds more being about "silencing" than
>> > >> "hardening"...
>> > >
>> > > That's nice, but I can build the perf version in 3.3 just fine, so
>> > > something broke here (hint, build regression.) Do I have to bisect it
>> > > down to find the problem?
>> > >
>> > there is most likely nothing to bisect, `perf' seems to have never
>> > required any parser before 3.4. The way the rest of the tools
>> > (especially `kconfig', `genksyms' and `dtc') manage parsers is via
>> > pre-generated .[ch]_shipped version of the lexer/tokenizer. It's been
>> > working well for a long time as such. `perf' will certainly have to
>> > follow the same path.
>>
>> Well, it can allow bison to run, but just don't break the build if the
>> generated code it creates happens to contain warnings.
>>
>> I'm using bison 2.5 and flex 2.5.35, and my phone number is...
>>
>> Like this really matters? This needs to work for everyone, if not, you
>> better put the specific version numbers you need to require in the
>> Documentation/Changes file.
>>
>> So, how do I fix this?
>
> Does the (untested) patch below help?
>
> If not then please paste me the build failure output (it will
> most likely change due to the patch), and until we fix this
> build regression on OpenSuse userspace you can work it around
> via:
>
> make WERROR=0
>
> Thanks,
>
> Ingo
>
> diff --git a/tools/perf/Makefile b/tools/perf/Makefile
> index 7055a00..3174e9b 100644
> --- a/tools/perf/Makefile
> +++ b/tools/perf/Makefile
> @@ -729,10 +729,10 @@ $(OUTPUT)perf.o perf.spec \
> # over the general rule for .o
>
> $(OUTPUT)util/%-flex.o: $(OUTPUT)util/%-flex.c $(OUTPUT)PERF-CFLAGS
> - $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -Iutil/ -Wno-redundant-decls -Wno-switch-default -Wno-unused-function $<
> + $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -Iutil/ -Wno-redundant-decls -Wno-switch-default -Wno-unused-function -Wno-unused-parameter $<
Nah. What you need is -Wno-sign-compare.
But you are better off overriding the CFLAGS for these generated
files. Just put -Wno-error as the last one (untested, but should work)
Lucas De Marchi
On Fri, May 04, 2012 at 10:44:28AM -0400, Arnaud Lacombe wrote:
> Hi,
>
> On Fri, May 4, 2012 at 3:09 AM, Ingo Molnar <[email protected]> wrote:
> >
> > * Greg KH <[email protected]> wrote:
> >
SNIP
> > diff --git a/tools/perf/Makefile b/tools/perf/Makefile
> > index 7055a00..3174e9b 100644
> > --- a/tools/perf/Makefile
> > +++ b/tools/perf/Makefile
> > @@ -729,10 +729,10 @@ $(OUTPUT)perf.o perf.spec \
> > # over the general rule for .o
> >
> > $(OUTPUT)util/%-flex.o: $(OUTPUT)util/%-flex.c $(OUTPUT)PERF-CFLAGS
> > - $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -Iutil/ -Wno-redundant-decls -Wno-switch-default -Wno-unused-function $<
> > + $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -Iutil/ -Wno-redundant-decls -Wno-switch-default -Wno-unused-function -Wno-unused-parameter $<
> >
> > $(OUTPUT)util/%-bison.o: $(OUTPUT)util/%-bison.c $(OUTPUT)PERF-CFLAGS
> > - $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -DYYENABLE_NLS=0 -DYYLTYPE_IS_TRIVIAL=0 -Iutil/ -Wno-redundant-decls -Wno-switch-default -Wno-unused-function $<
> > + $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -DYYENABLE_NLS=0 -DYYLTYPE_IS_TRIVIAL=0 -Iutil/ -Wno-redundant-decls -Wno-switch-default -Wno-unused-function -Wno-unused-parameter $<
> >
> > $(OUTPUT)%.o: %.c $(OUTPUT)PERF-CFLAGS
> > $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) $<
> >
> You can find the build failure log in
> <[email protected]>, pasted here for reference:
>
> CC util/parse-events-flex.o
> <stdout>: In function ‘yy_get_next_buffer’:
> <stdout>:1510:3: error: comparison between signed and unsigned integer
> expressions [-Werror=sign-compare]
> util/parse-events.l: In function ‘parse_events_lex’:
> util/parse-events.l:122:1: error: ignoring return value of
> ‘fwrite’, declared with attribute warn_unused_result
> [-Werror=unused-result]
> cc1: all warnings being treated as errors
>
> So I doubt -Wno-unused-parameter will do any good here.
I think we need also -Wno-sign-compare, please check the attached patch
jirka
---
diff --git a/tools/perf/Makefile b/tools/perf/Makefile
index 7055a00..8f7b6cf 100644
--- a/tools/perf/Makefile
+++ b/tools/perf/Makefile
@@ -729,10 +729,10 @@ $(OUTPUT)perf.o perf.spec \
# over the general rule for .o
$(OUTPUT)util/%-flex.o: $(OUTPUT)util/%-flex.c $(OUTPUT)PERF-CFLAGS
- $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -Iutil/ -Wno-redundant-decls -Wno-switch-default -Wno-unused-function $<
+ $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -Iutil/ -Wno-redundant-decls -Wno-switch-default -Wno-unused-function -Wno-unused-parameter -Wno-sign-compare $<
$(OUTPUT)util/%-bison.o: $(OUTPUT)util/%-bison.c $(OUTPUT)PERF-CFLAGS
- $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -DYYENABLE_NLS=0 -DYYLTYPE_IS_TRIVIAL=0 -Iutil/ -Wno-redundant-decls -Wno-switch-default -Wno-unused-function $<
+ $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -DYYENABLE_NLS=0 -DYYLTYPE_IS_TRIVIAL=0 -Iutil/ -Wno-redundant-decls -Wno-switch-default -Wno-unused-function -Wno-unused-parameter -Wno-sign-compare $<
$(OUTPUT)%.o: %.c $(OUTPUT)PERF-CFLAGS
$(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) $<
On Fri, May 04, 2012 at 12:10:55PM -0300, Lucas De Marchi wrote:
> On Fri, May 4, 2012 at 4:09 AM, Ingo Molnar <[email protected]> wrote:
> >
> > * Greg KH <[email protected]> wrote:
> >
> >> On Thu, May 03, 2012 at 11:01:54PM -0400, Arnaud Lacombe wrote:
> >> > Hi,
> >> >
> >> > On Thu, May 3, 2012 at 10:47 PM, Greg KH <[email protected]> wrote:
> >> > > On Thu, May 03, 2012 at 10:35:02PM -0400, Arnaud Lacombe wrote:
> >> > >> Hi,
> >> > >>
> >> > >> On Thu, May 3, 2012 at 10:29 PM, Arnaud Lacombe <[email protected]> wrote:
> >> > >> > [...]
> >> > >> > [0]: http://pkgs.fedoraproject.org/gitweb/?p=flex.git;a=blob;f=flex-2.5.35-hardening.patch;h=7d608ea2371fa3295bdb8eb97c15eeb03029c02b;hb=HEAD
> >> > >> >
> >> > >> as a side note, this patch sounds more being about "silencing" than
> >> > >> "hardening"...
> >> > >
> >> > > That's nice, but I can build the perf version in 3.3 just fine, so
> >> > > something broke here (hint, build regression.) ?Do I have to bisect it
> >> > > down to find the problem?
> >> > >
> >> > there is most likely nothing to bisect, `perf' seems to have never
> >> > required any parser before 3.4. The way the rest of the tools
> >> > (especially `kconfig', `genksyms' and `dtc') manage parsers is via
> >> > pre-generated .[ch]_shipped version of the lexer/tokenizer. It's been
> >> > working well for a long time as such. `perf' will certainly have to
> >> > follow the same path.
> >>
> >> Well, it can allow bison to run, but just don't break the build if the
> >> generated code it creates happens to contain warnings.
> >>
> >> I'm using bison 2.5 and flex 2.5.35, and my phone number is...
> >>
> >> Like this really matters? ?This needs to work for everyone, if not, you
> >> better put the specific version numbers you need to require in the
> >> Documentation/Changes file.
> >>
> >> So, how do I fix this?
> >
> > Does the (untested) patch below help?
> >
> > If not then please paste me the build failure output (it will
> > most likely change due to the patch), and until we fix this
> > build regression on OpenSuse userspace you can work it around
> > via:
> >
> > ?make WERROR=0
> >
> > Thanks,
> >
> > ? ? ? ?Ingo
> >
> > diff --git a/tools/perf/Makefile b/tools/perf/Makefile
> > index 7055a00..3174e9b 100644
> > --- a/tools/perf/Makefile
> > +++ b/tools/perf/Makefile
> > @@ -729,10 +729,10 @@ $(OUTPUT)perf.o perf.spec \
> > ?# over the general rule for .o
> >
> > ?$(OUTPUT)util/%-flex.o: $(OUTPUT)util/%-flex.c $(OUTPUT)PERF-CFLAGS
> > - ? ? ? $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -Iutil/ -Wno-redundant-decls -Wno-switch-default -Wno-unused-function $<
> > + ? ? ? $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -Iutil/ -Wno-redundant-decls -Wno-switch-default -Wno-unused-function -Wno-unused-parameter $<
>
> Nah. What you need is -Wno-sign-compare.
>
> But you are better off overriding the CFLAGS for these generated
> files. Just put -Wno-error as the last one (untested, but should work)
yep, I think it's good idea.. and plus '-w' to suppres warnings not to
polute the build log
jirka
---
diff --git a/tools/perf/Makefile b/tools/perf/Makefile
index 7055a00..9c734a2 100644
--- a/tools/perf/Makefile
+++ b/tools/perf/Makefile
@@ -729,10 +729,10 @@ $(OUTPUT)perf.o perf.spec \
# over the general rule for .o
$(OUTPUT)util/%-flex.o: $(OUTPUT)util/%-flex.c $(OUTPUT)PERF-CFLAGS
- $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -Iutil/ -Wno-redundant-decls -Wno-switch-default -Wno-unused-function $<
+ $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -Iutil/ -Wno-error -w $<
$(OUTPUT)util/%-bison.o: $(OUTPUT)util/%-bison.c $(OUTPUT)PERF-CFLAGS
- $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -DYYENABLE_NLS=0 -DYYLTYPE_IS_TRIVIAL=0 -Iutil/ -Wno-redundant-decls -Wno-switch-default -Wno-unused-function $<
+ $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -DYYENABLE_NLS=0 -DYYLTYPE_IS_TRIVIAL=0 -Iutil/ -Wno-error -w $<
$(OUTPUT)%.o: %.c $(OUTPUT)PERF-CFLAGS
$(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) $<
Hi,
On Fri, 4 May 2012 17:02:11 +0200, Jiri Olsa wrote:
>> So I doubt -Wno-unused-parameter will do any good here.
> I think we need also -Wno-sign-compare, please check the attached patch
>
>
> ---
> diff --git a/tools/perf/Makefile b/tools/perf/Makefile
> index 7055a00..8f7b6cf 100644
> --- a/tools/perf/Makefile
> +++ b/tools/perf/Makefile
> @@ -729,10 +729,10 @@ $(OUTPUT)perf.o perf.spec \
> # over the general rule for .o
>
> $(OUTPUT)util/%-flex.o: $(OUTPUT)util/%-flex.c $(OUTPUT)PERF-CFLAGS
> - $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -Iutil/ -Wno-redundant-decls -Wno-switch-default -Wno-unused-function $<
> + $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -Iutil/ -Wno-redundant-decls -Wno-switch-default -Wno-unused-function -Wno-unused-parameter -Wno-sign-compare $<
>
s/unused-parameter/unused-result/ ?
Thanks,
Namhyung
> $(OUTPUT)util/%-bison.o: $(OUTPUT)util/%-bison.c $(OUTPUT)PERF-CFLAGS
> - $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -DYYENABLE_NLS=0 -DYYLTYPE_IS_TRIVIAL=0 -Iutil/ -Wno-redundant-decls -Wno-switch-default -Wno-unused-function $<
> + $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -DYYENABLE_NLS=0 -DYYLTYPE_IS_TRIVIAL=0 -Iutil/ -Wno-redundant-decls -Wno-switch-default -Wno-unused-function -Wno-unused-parameter -Wno-sign-compare $<
>
> $(OUTPUT)%.o: %.c $(OUTPUT)PERF-CFLAGS
> $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) $<
Hi,
On Fri, 4 May 2012 17:26:13 +0200, Jiri Olsa wrote:
> On Fri, May 04, 2012 at 12:10:55PM -0300, Lucas De Marchi wrote:
>> Nah. What you need is -Wno-sign-compare.
>>
>> But you are better off overriding the CFLAGS for these generated
>> files. Just put -Wno-error as the last one (untested, but should work)
>
> yep, I think it's good idea.. and plus '-w' to suppres warnings not to
> polute the build log
>
> jirka
Works well for me. But I guess -Wno-error turns into a nop if we use
'-w', right?
Thank,
Namhyung
>
>
> ---
> diff --git a/tools/perf/Makefile b/tools/perf/Makefile
> index 7055a00..9c734a2 100644
> --- a/tools/perf/Makefile
> +++ b/tools/perf/Makefile
> @@ -729,10 +729,10 @@ $(OUTPUT)perf.o perf.spec \
> # over the general rule for .o
>
> $(OUTPUT)util/%-flex.o: $(OUTPUT)util/%-flex.c $(OUTPUT)PERF-CFLAGS
> - $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -Iutil/ -Wno-redundant-decls -Wno-switch-default -Wno-unused-function $<
> + $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -Iutil/ -Wno-error -w $<
>
> $(OUTPUT)util/%-bison.o: $(OUTPUT)util/%-bison.c $(OUTPUT)PERF-CFLAGS
> - $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -DYYENABLE_NLS=0 -DYYLTYPE_IS_TRIVIAL=0 -Iutil/ -Wno-redundant-decls -Wno-switch-default -Wno-unused-function $<
> + $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -DYYENABLE_NLS=0 -DYYLTYPE_IS_TRIVIAL=0 -Iutil/ -Wno-error -w $<
>
> $(OUTPUT)%.o: %.c $(OUTPUT)PERF-CFLAGS
> $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) $<
On Sat, May 05, 2012 at 12:38:48AM +0900, Namhyung Kim wrote:
> Hi,
>
> On Fri, 4 May 2012 17:26:13 +0200, Jiri Olsa wrote:
> > On Fri, May 04, 2012 at 12:10:55PM -0300, Lucas De Marchi wrote:
> >> Nah. What you need is -Wno-sign-compare.
> >>
> >> But you are better off overriding the CFLAGS for these generated
> >> files. Just put -Wno-error as the last one (untested, but should work)
> >
> > yep, I think it's good idea.. and plus '-w' to suppres warnings not to
> > polute the build log
> >
> > jirka
>
> Works well for me. But I guess -Wno-error turns into a nop if we use
> '-w', right?
argghh.. right ;) misread the man page.. I tested -w is enough
thanks,
jirka
>
>
> Thank,
> Namhyung
>
>
> >
> >
> > ---
> > diff --git a/tools/perf/Makefile b/tools/perf/Makefile
> > index 7055a00..9c734a2 100644
> > --- a/tools/perf/Makefile
> > +++ b/tools/perf/Makefile
> > @@ -729,10 +729,10 @@ $(OUTPUT)perf.o perf.spec \
> > # over the general rule for .o
> >
> > $(OUTPUT)util/%-flex.o: $(OUTPUT)util/%-flex.c $(OUTPUT)PERF-CFLAGS
> > - $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -Iutil/ -Wno-redundant-decls -Wno-switch-default -Wno-unused-function $<
> > + $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -Iutil/ -Wno-error -w $<
> >
> > $(OUTPUT)util/%-bison.o: $(OUTPUT)util/%-bison.c $(OUTPUT)PERF-CFLAGS
> > - $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -DYYENABLE_NLS=0 -DYYLTYPE_IS_TRIVIAL=0 -Iutil/ -Wno-redundant-decls -Wno-switch-default -Wno-unused-function $<
> > + $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -DYYENABLE_NLS=0 -DYYLTYPE_IS_TRIVIAL=0 -Iutil/ -Wno-error -w $<
> >
> > $(OUTPUT)%.o: %.c $(OUTPUT)PERF-CFLAGS
> > $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) $<