Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757043Ab2EDC3H (ORCPT ); Thu, 3 May 2012 22:29:07 -0400 Received: from mail-we0-f174.google.com ([74.125.82.174]:52352 "EHLO mail-we0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756624Ab2EDC3F convert rfc822-to-8bit (ORCPT ); Thu, 3 May 2012 22:29:05 -0400 MIME-Version: 1.0 In-Reply-To: References: <20120503215748.GA18995@kroah.com> <87sjfgafqj.fsf@sejong.aot.lge.com> <20120503.215020.954262287222794218.davem@davemloft.net> Date: Thu, 3 May 2012 22:29:03 -0400 Message-ID: Subject: Re: perf build failure on Linus's tree From: Arnaud Lacombe To: David Miller Cc: namhyung.kim@lge.com, gregkh@linuxfoundation.org, a.p.zijlstra@chello.nl, paulus@samba.org, mingo@redhat.com, acme@ghostprotocols.net, jolsa@redhat.com, linux-kernel@vger.kernel.org Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2495 Lines: 63 Hi, On Thu, May 3, 2012 at 10:14 PM, Arnaud Lacombe wrote: > Hi, > > On Thu, May 3, 2012 at 9:50 PM, David Miller wrote: >> From: Namhyung Kim >> 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 >>>> : In function ?yy_get_next_buffer?: >>>> :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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/