* perf build failure on Linus's tree
@ 2012-05-03 21:57 Greg KH
2012-05-04 1:37 ` Namhyung Kim
0 siblings, 1 reply; 25+ messages in thread
From: Greg KH @ 2012-05-03 21:57 UTC (permalink / raw)
To: Peter Zijlstra
Cc: Paul Mackerras, Ingo Molnar, Arnaldo Carvalho de Melo, Jiri Olsa,
Arnaud Lacombe, linux-kernel
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
^ permalink raw reply [flat|nested] 25+ messages in thread* Re: perf build failure on Linus's tree 2012-05-03 21:57 perf build failure on Linus's tree Greg KH @ 2012-05-04 1:37 ` Namhyung Kim 2012-05-04 1:41 ` Greg KH 2012-05-04 1:50 ` David Miller 0 siblings, 2 replies; 25+ messages in thread From: Namhyung Kim @ 2012-05-04 1:37 UTC (permalink / raw) To: Greg KH Cc: Peter Zijlstra, Paul Mackerras, Ingo Molnar, Arnaldo Carvalho de Melo, Jiri Olsa, Arnaud Lacombe, linux-kernel 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 ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: perf build failure on Linus's tree 2012-05-04 1:37 ` Namhyung Kim @ 2012-05-04 1:41 ` Greg KH 2012-05-04 1:45 ` Namhyung Kim 2012-05-04 1:50 ` David Miller 1 sibling, 1 reply; 25+ messages in thread From: Greg KH @ 2012-05-04 1:41 UTC (permalink / raw) To: Namhyung Kim Cc: Peter Zijlstra, Paul Mackerras, Ingo Molnar, Arnaldo Carvalho de Melo, Jiri Olsa, Arnaud Lacombe, linux-kernel 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? ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: perf build failure on Linus's tree 2012-05-04 1:41 ` Greg KH @ 2012-05-04 1:45 ` Namhyung Kim 0 siblings, 0 replies; 25+ messages in thread From: Namhyung Kim @ 2012-05-04 1:45 UTC (permalink / raw) To: Greg KH Cc: Peter Zijlstra, Paul Mackerras, Ingo Molnar, Arnaldo Carvalho de Melo, Jiri Olsa, Arnaud Lacombe, linux-kernel 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 ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: perf build failure on Linus's tree 2012-05-04 1:37 ` Namhyung Kim 2012-05-04 1:41 ` Greg KH @ 2012-05-04 1:50 ` David Miller 2012-05-04 2:14 ` Arnaud Lacombe 1 sibling, 1 reply; 25+ messages in thread From: David Miller @ 2012-05-04 1:50 UTC (permalink / raw) To: namhyung.kim Cc: gregkh, a.p.zijlstra, paulus, mingo, acme, jolsa, lacombar, linux-kernel [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: Text/Plain; charset=iso-8859-7, Size: 1136 bytes --] From: Namhyung Kim <namhyung.kim@lge.com> 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Ç+·®+%Ëÿ±éݶ\x17¥wÿº{.nÇ+·¥{±þG«éÿ{ayº\x1dÊÚë,j\a¢f£¢·hïêÿêçz_è®\x03(éÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?¨èÚ&£ø§~á¶iOæ¬z·vØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?I¥ ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: perf build failure on Linus's tree 2012-05-04 1:50 ` David Miller @ 2012-05-04 2:14 ` Arnaud Lacombe 2012-05-04 2:24 ` Namhyung Kim 2012-05-04 2:29 ` Arnaud Lacombe 0 siblings, 2 replies; 25+ messages in thread From: Arnaud Lacombe @ 2012-05-04 2:14 UTC (permalink / raw) To: David Miller Cc: namhyung.kim, gregkh, a.p.zijlstra, paulus, mingo, acme, jolsa, linux-kernel Hi, On Thu, May 3, 2012 at 9:50 PM, David Miller <davem@davemloft.net> wrote: > From: Namhyung Kim <namhyung.kim@lge.com> > 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 ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: perf build failure on Linus's tree 2012-05-04 2:14 ` Arnaud Lacombe @ 2012-05-04 2:24 ` Namhyung Kim 2012-05-04 2:29 ` Arnaud Lacombe 1 sibling, 0 replies; 25+ messages in thread From: Namhyung Kim @ 2012-05-04 2:24 UTC (permalink / raw) To: Arnaud Lacombe Cc: David Miller, gregkh, a.p.zijlstra, paulus, mingo, acme, jolsa, linux-kernel 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 <davem@davemloft.net> wrote: >> From: Namhyung Kim <namhyung.kim@lge.com> >> 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 ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: perf build failure on Linus's tree 2012-05-04 2:14 ` Arnaud Lacombe 2012-05-04 2:24 ` Namhyung Kim @ 2012-05-04 2:29 ` Arnaud Lacombe 2012-05-04 2:35 ` Arnaud Lacombe 1 sibling, 1 reply; 25+ messages in thread From: Arnaud Lacombe @ 2012-05-04 2:29 UTC (permalink / raw) To: David Miller Cc: namhyung.kim, gregkh, a.p.zijlstra, paulus, mingo, acme, jolsa, linux-kernel Hi, On Thu, May 3, 2012 at 10:14 PM, Arnaud Lacombe <lacombar@gmail.com> wrote: > Hi, > > On Thu, May 3, 2012 at 9:50 PM, David Miller <davem@davemloft.net> wrote: >> From: Namhyung Kim <namhyung.kim@lge.com> >> 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 ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: perf build failure on Linus's tree 2012-05-04 2:29 ` Arnaud Lacombe @ 2012-05-04 2:35 ` Arnaud Lacombe 2012-05-04 2:47 ` Greg KH 0 siblings, 1 reply; 25+ messages in thread From: Arnaud Lacombe @ 2012-05-04 2:35 UTC (permalink / raw) To: David Miller Cc: namhyung.kim, gregkh, a.p.zijlstra, paulus, mingo, acme, jolsa, linux-kernel Hi, On Thu, May 3, 2012 at 10:29 PM, Arnaud Lacombe <lacombar@gmail.com> 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 ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: perf build failure on Linus's tree 2012-05-04 2:35 ` Arnaud Lacombe @ 2012-05-04 2:47 ` Greg KH 2012-05-04 3:01 ` Arnaud Lacombe 0 siblings, 1 reply; 25+ messages in thread From: Greg KH @ 2012-05-04 2:47 UTC (permalink / raw) To: Arnaud Lacombe Cc: David Miller, namhyung.kim, a.p.zijlstra, paulus, mingo, acme, jolsa, linux-kernel 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 <lacombar@gmail.com> 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 ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: perf build failure on Linus's tree 2012-05-04 2:47 ` Greg KH @ 2012-05-04 3:01 ` Arnaud Lacombe 2012-05-04 3:16 ` Greg KH 0 siblings, 1 reply; 25+ messages in thread From: Arnaud Lacombe @ 2012-05-04 3:01 UTC (permalink / raw) To: Greg KH Cc: David Miller, namhyung.kim, a.p.zijlstra, paulus, mingo, acme, jolsa, linux-kernel Hi, On Thu, May 3, 2012 at 10:47 PM, Greg KH <gregkh@linuxfoundation.org> 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 <lacombar@gmail.com> 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 ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: perf build failure on Linus's tree 2012-05-04 3:01 ` Arnaud Lacombe @ 2012-05-04 3:16 ` Greg KH 2012-05-04 4:01 ` Arnaud Lacombe 2012-05-04 7:09 ` [patch] perf: Fix build failure on OpenSuse userspace Ingo Molnar 0 siblings, 2 replies; 25+ messages in thread From: Greg KH @ 2012-05-04 3:16 UTC (permalink / raw) To: Arnaud Lacombe Cc: David Miller, namhyung.kim, a.p.zijlstra, paulus, mingo, acme, jolsa, linux-kernel 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 <gregkh@linuxfoundation.org> 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 <lacombar@gmail.com> 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 ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: perf build failure on Linus's tree 2012-05-04 3:16 ` Greg KH @ 2012-05-04 4:01 ` Arnaud Lacombe 2012-05-04 7:09 ` [patch] perf: Fix build failure on OpenSuse userspace Ingo Molnar 1 sibling, 0 replies; 25+ messages in thread From: Arnaud Lacombe @ 2012-05-04 4:01 UTC (permalink / raw) To: Greg KH Cc: David Miller, namhyung.kim, a.p.zijlstra, paulus, mingo, acme, jolsa, linux-kernel [-- Attachment #1: Type: text/plain, Size: 2341 bytes --] Hi, On Thu, May 3, 2012 at 11:16 PM, Greg KH <gregkh@linuxfoundation.org> 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 <gregkh@linuxfoundation.org> 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 <lacombar@gmail.com> 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... [-- Attachment #2: 0001-perf-pre-generate-events-and-pmu-parsers.patch.gz --] [-- Type: application/x-gzip, Size: 63237 bytes --] ^ permalink raw reply [flat|nested] 25+ messages in thread
* [patch] perf: Fix build failure on OpenSuse userspace 2012-05-04 3:16 ` Greg KH 2012-05-04 4:01 ` Arnaud Lacombe @ 2012-05-04 7:09 ` Ingo Molnar 2012-05-04 14:44 ` Arnaud Lacombe ` (2 more replies) 1 sibling, 3 replies; 25+ messages in thread From: Ingo Molnar @ 2012-05-04 7:09 UTC (permalink / raw) To: Greg KH Cc: Arnaud Lacombe, David Miller, namhyung.kim, a.p.zijlstra, paulus, mingo, acme, jolsa, linux-kernel * Greg KH <gregkh@linuxfoundation.org> 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 <gregkh@linuxfoundation.org> 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 <lacombar@gmail.com> 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) $< ^ permalink raw reply related [flat|nested] 25+ messages in thread
* Re: [patch] perf: Fix build failure on OpenSuse userspace 2012-05-04 7:09 ` [patch] perf: Fix build failure on OpenSuse userspace Ingo Molnar @ 2012-05-04 14:44 ` Arnaud Lacombe 2012-05-04 14:55 ` Namhyung Kim ` (2 more replies) 2012-05-04 14:52 ` Greg KH 2012-05-04 15:10 ` Lucas De Marchi 2 siblings, 3 replies; 25+ messages in thread From: Arnaud Lacombe @ 2012-05-04 14:44 UTC (permalink / raw) To: Ingo Molnar Cc: Greg KH, David Miller, namhyung.kim, a.p.zijlstra, paulus, mingo, acme, jolsa, linux-kernel Hi, On Fri, May 4, 2012 at 3:09 AM, Ingo Molnar <mingo@kernel.org> wrote: > > * Greg KH <gregkh@linuxfoundation.org> 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 <gregkh@linuxfoundation.org> 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 <lacombar@gmail.com> 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 <20120503215748.GA18995@kroah.com>, 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 ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [patch] perf: Fix build failure on OpenSuse userspace 2012-05-04 14:44 ` Arnaud Lacombe @ 2012-05-04 14:55 ` Namhyung Kim 2012-05-04 15:09 ` Greg KH 2012-05-04 15:02 ` Jiri Olsa 2012-05-04 15:03 ` Arnaldo Carvalho de Melo 2 siblings, 1 reply; 25+ messages in thread From: Namhyung Kim @ 2012-05-04 14:55 UTC (permalink / raw) To: Arnaud Lacombe Cc: Ingo Molnar, Greg KH, David Miller, namhyung.kim, a.p.zijlstra, paulus, mingo, acme, jolsa, linux-kernel 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 ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [patch] perf: Fix build failure on OpenSuse userspace 2012-05-04 14:55 ` Namhyung Kim @ 2012-05-04 15:09 ` Greg KH 0 siblings, 0 replies; 25+ messages in thread From: Greg KH @ 2012-05-04 15:09 UTC (permalink / raw) To: Namhyung Kim Cc: Arnaud Lacombe, Ingo Molnar, David Miller, namhyung.kim, a.p.zijlstra, paulus, mingo, acme, jolsa, linux-kernel 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 ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [patch] perf: Fix build failure on OpenSuse userspace 2012-05-04 14:44 ` Arnaud Lacombe 2012-05-04 14:55 ` Namhyung Kim @ 2012-05-04 15:02 ` Jiri Olsa 2012-05-04 15:26 ` Namhyung Kim 2012-05-04 15:03 ` Arnaldo Carvalho de Melo 2 siblings, 1 reply; 25+ messages in thread From: Jiri Olsa @ 2012-05-04 15:02 UTC (permalink / raw) To: Arnaud Lacombe Cc: Ingo Molnar, Greg KH, David Miller, namhyung.kim, a.p.zijlstra, paulus, mingo, acme, linux-kernel 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 <mingo@kernel.org> wrote: > > > > * Greg KH <gregkh@linuxfoundation.org> 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 > <20120503215748.GA18995@kroah.com>, 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) $< ^ permalink raw reply related [flat|nested] 25+ messages in thread
* Re: [patch] perf: Fix build failure on OpenSuse userspace 2012-05-04 15:02 ` Jiri Olsa @ 2012-05-04 15:26 ` Namhyung Kim 0 siblings, 0 replies; 25+ messages in thread From: Namhyung Kim @ 2012-05-04 15:26 UTC (permalink / raw) To: Jiri Olsa Cc: Arnaud Lacombe, Ingo Molnar, Greg KH, David Miller, namhyung.kim, a.p.zijlstra, paulus, mingo, acme, linux-kernel 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) $< ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [patch] perf: Fix build failure on OpenSuse userspace 2012-05-04 14:44 ` Arnaud Lacombe 2012-05-04 14:55 ` Namhyung Kim 2012-05-04 15:02 ` Jiri Olsa @ 2012-05-04 15:03 ` Arnaldo Carvalho de Melo 2 siblings, 0 replies; 25+ messages in thread From: Arnaldo Carvalho de Melo @ 2012-05-04 15:03 UTC (permalink / raw) To: Arnaud Lacombe Cc: Ingo Molnar, Greg KH, David Miller, namhyung.kim, a.p.zijlstra, paulus, mingo, jolsa, linux-kernel 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 ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [patch] perf: Fix build failure on OpenSuse userspace 2012-05-04 7:09 ` [patch] perf: Fix build failure on OpenSuse userspace Ingo Molnar 2012-05-04 14:44 ` Arnaud Lacombe @ 2012-05-04 14:52 ` Greg KH 2012-05-04 15:10 ` Lucas De Marchi 2 siblings, 0 replies; 25+ messages in thread From: Greg KH @ 2012-05-04 14:52 UTC (permalink / raw) To: Ingo Molnar Cc: Arnaud Lacombe, David Miller, namhyung.kim, a.p.zijlstra, paulus, mingo, acme, jolsa, linux-kernel 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 ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [patch] perf: Fix build failure on OpenSuse userspace 2012-05-04 7:09 ` [patch] perf: Fix build failure on OpenSuse userspace Ingo Molnar 2012-05-04 14:44 ` Arnaud Lacombe 2012-05-04 14:52 ` Greg KH @ 2012-05-04 15:10 ` Lucas De Marchi 2012-05-04 15:26 ` Jiri Olsa 2 siblings, 1 reply; 25+ messages in thread From: Lucas De Marchi @ 2012-05-04 15:10 UTC (permalink / raw) To: Ingo Molnar Cc: Greg KH, Arnaud Lacombe, David Miller, namhyung.kim, a.p.zijlstra, paulus, mingo, acme, jolsa, linux-kernel On Fri, May 4, 2012 at 4:09 AM, Ingo Molnar <mingo@kernel.org> wrote: > > * Greg KH <gregkh@linuxfoundation.org> 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 <gregkh@linuxfoundation.org> 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 <lacombar@gmail.com> 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 ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [patch] perf: Fix build failure on OpenSuse userspace 2012-05-04 15:10 ` Lucas De Marchi @ 2012-05-04 15:26 ` Jiri Olsa 2012-05-04 15:38 ` Namhyung Kim 0 siblings, 1 reply; 25+ messages in thread From: Jiri Olsa @ 2012-05-04 15:26 UTC (permalink / raw) To: Lucas De Marchi Cc: Ingo Molnar, Greg KH, Arnaud Lacombe, David Miller, namhyung.kim, a.p.zijlstra, paulus, mingo, acme, linux-kernel 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 <mingo@kernel.org> wrote: > > > > * Greg KH <gregkh@linuxfoundation.org> 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 <gregkh@linuxfoundation.org> 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 <lacombar@gmail.com> 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) $< ^ permalink raw reply related [flat|nested] 25+ messages in thread
* Re: [patch] perf: Fix build failure on OpenSuse userspace 2012-05-04 15:26 ` Jiri Olsa @ 2012-05-04 15:38 ` Namhyung Kim 2012-05-04 16:41 ` Jiri Olsa 0 siblings, 1 reply; 25+ messages in thread From: Namhyung Kim @ 2012-05-04 15:38 UTC (permalink / raw) To: Jiri Olsa Cc: Lucas De Marchi, Ingo Molnar, Greg KH, Arnaud Lacombe, David Miller, namhyung.kim, a.p.zijlstra, paulus, mingo, acme, linux-kernel 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) $< ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [patch] perf: Fix build failure on OpenSuse userspace 2012-05-04 15:38 ` Namhyung Kim @ 2012-05-04 16:41 ` Jiri Olsa 0 siblings, 0 replies; 25+ messages in thread From: Jiri Olsa @ 2012-05-04 16:41 UTC (permalink / raw) To: Namhyung Kim Cc: Lucas De Marchi, Ingo Molnar, Greg KH, Arnaud Lacombe, David Miller, namhyung.kim, a.p.zijlstra, paulus, mingo, acme, linux-kernel 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) $< ^ permalink raw reply [flat|nested] 25+ messages in thread
end of thread, other threads:[~2012-05-04 16:41 UTC | newest] Thread overview: 25+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-05-03 21:57 perf build failure on Linus's tree Greg KH 2012-05-04 1:37 ` Namhyung Kim 2012-05-04 1:41 ` Greg KH 2012-05-04 1:45 ` Namhyung Kim 2012-05-04 1:50 ` David Miller 2012-05-04 2:14 ` Arnaud Lacombe 2012-05-04 2:24 ` Namhyung Kim 2012-05-04 2:29 ` Arnaud Lacombe 2012-05-04 2:35 ` Arnaud Lacombe 2012-05-04 2:47 ` Greg KH 2012-05-04 3:01 ` Arnaud Lacombe 2012-05-04 3:16 ` Greg KH 2012-05-04 4:01 ` Arnaud Lacombe 2012-05-04 7:09 ` [patch] perf: Fix build failure on OpenSuse userspace Ingo Molnar 2012-05-04 14:44 ` Arnaud Lacombe 2012-05-04 14:55 ` Namhyung Kim 2012-05-04 15:09 ` Greg KH 2012-05-04 15:02 ` Jiri Olsa 2012-05-04 15:26 ` Namhyung Kim 2012-05-04 15:03 ` Arnaldo Carvalho de Melo 2012-05-04 14:52 ` Greg KH 2012-05-04 15:10 ` Lucas De Marchi 2012-05-04 15:26 ` Jiri Olsa 2012-05-04 15:38 ` Namhyung Kim 2012-05-04 16:41 ` Jiri Olsa
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox