From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hollis Blanchard Date: Tue, 20 Oct 2009 01:29:53 +0000 Subject: Re: linux-next: tree build failure Message-Id: <1256002193.6546.2.camel@slab> List-Id: References: <4AC1E15502000078000516B5@vpn.id2.novell.com> <4AD6EB17020000780001A050@vpn.id2.novell.com> <1255976369.13995.98.camel@slab.beaverton.ibm.com> <200910201142.34006.rusty@rustcorp.com.au> In-Reply-To: <200910201142.34006.rusty@rustcorp.com.au> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Rusty Russell Cc: Jan Beulich , sfr@canb.auug.org.au, akpm@linux-foundation.org, linuxppc-dev@lists.ozlabs.org, kvm-ppc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-next@vger.kernel.org On Tue, 2009-10-20 at 11:42 +1030, Rusty Russell wrote: > On Tue, 20 Oct 2009 04:49:29 am Hollis Blanchard wrote: > > On Thu, 2009-10-15 at 08:27 +0100, Jan Beulich wrote: > > > My perspective is that it just uncovered already existing brokenness. > > > > Sorry, I thought it was clear, but to be more explicit: I propose the > > following patch, which replaces the current BUILD_BUG_ON implementation > > with Rusty's version. > > OK, I switched my brain back on. Yeah, I agree: we may still want > BUILD_OR_RUNTIME_BUG_ON one day, but I like this. > > It's just missing the giant comment that it needs :) > > /** > * BUILD_BUG_ON - break compile if a condition is true. > * @cond: the condition which the compiler should know is false. > * > * If you have some code which relies on certain constants being equal, or > * other compile-time-evaluated condition, you should use BUILD_BUG_ON to > * detect if someone changes it. > * > * The implementation uses gcc's reluctance to create a negative array, but > * gcc (as of 4.4) only emits that error for obvious cases (eg. not arguments > * to inline functions). So as a fallback we use the optimizer; if it can't > * prove the condition is false, it will cause a link error on the undefined > * "__build_bug_on_failed". This error is less neat, and can be harder to > * track down. > */ Do you want to put together a signed-off patch Rusty? It's your code, so I don't feel comfortable doing that. Once we have that, can we remove the mysterious MAYBE_BUILD_BUG_ON statements introduced in previous patches? (Does it BUG or doesn't it??) -- Hollis Blanchard IBM Linux Technology Center From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hollis Blanchard Subject: Re: linux-next: tree build failure Date: Mon, 19 Oct 2009 18:29:53 -0700 Message-ID: <1256002193.6546.2.camel@slab> References: <4AC1E15502000078000516B5@vpn.id2.novell.com> <4AD6EB17020000780001A050@vpn.id2.novell.com> <1255976369.13995.98.camel@slab.beaverton.ibm.com> <200910201142.34006.rusty@rustcorp.com.au> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <200910201142.34006.rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org> Sender: kvm-ppc-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Rusty Russell Cc: Jan Beulich , sfr-3FnU+UHB4dNDw9hX6IcOSA@public.gmane.org, akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org, linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org, kvm-ppc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-next-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-Id: linux-next.vger.kernel.org On Tue, 2009-10-20 at 11:42 +1030, Rusty Russell wrote: > On Tue, 20 Oct 2009 04:49:29 am Hollis Blanchard wrote: > > On Thu, 2009-10-15 at 08:27 +0100, Jan Beulich wrote: > > > My perspective is that it just uncovered already existing brokenness. > > > > Sorry, I thought it was clear, but to be more explicit: I propose the > > following patch, which replaces the current BUILD_BUG_ON implementation > > with Rusty's version. > > OK, I switched my brain back on. Yeah, I agree: we may still want > BUILD_OR_RUNTIME_BUG_ON one day, but I like this. > > It's just missing the giant comment that it needs :) > > /** > * BUILD_BUG_ON - break compile if a condition is true. > * @cond: the condition which the compiler should know is false. > * > * If you have some code which relies on certain constants being equal, or > * other compile-time-evaluated condition, you should use BUILD_BUG_ON to > * detect if someone changes it. > * > * The implementation uses gcc's reluctance to create a negative array, but > * gcc (as of 4.4) only emits that error for obvious cases (eg. not arguments > * to inline functions). So as a fallback we use the optimizer; if it can't > * prove the condition is false, it will cause a link error on the undefined > * "__build_bug_on_failed". This error is less neat, and can be harder to > * track down. > */ Do you want to put together a signed-off patch Rusty? It's your code, so I don't feel comfortable doing that. Once we have that, can we remove the mysterious MAYBE_BUILD_BUG_ON statements introduced in previous patches? (Does it BUG or doesn't it??) -- Hollis Blanchard IBM Linux Technology Center From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from e6.ny.us.ibm.com (e6.ny.us.ibm.com [32.97.182.146]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "e6.ny.us.ibm.com", Issuer "Equifax" (verified OK)) by ozlabs.org (Postfix) with ESMTPS id 07F59B7B88 for ; Tue, 20 Oct 2009 12:29:59 +1100 (EST) Received: from d01relay02.pok.ibm.com (d01relay02.pok.ibm.com [9.56.227.234]) by e6.ny.us.ibm.com (8.14.3/8.13.1) with ESMTP id n9K1Z4aj008858 for ; Mon, 19 Oct 2009 21:35:04 -0400 Received: from d01av04.pok.ibm.com (d01av04.pok.ibm.com [9.56.224.64]) by d01relay02.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id n9K1TuNt257168 for ; Mon, 19 Oct 2009 21:29:56 -0400 Received: from d01av04.pok.ibm.com (loopback [127.0.0.1]) by d01av04.pok.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id n9K1Tt7p019430 for ; Mon, 19 Oct 2009 21:29:56 -0400 Subject: Re: linux-next: tree build failure From: Hollis Blanchard To: Rusty Russell In-Reply-To: <200910201142.34006.rusty@rustcorp.com.au> References: <4AC1E15502000078000516B5@vpn.id2.novell.com> <4AD6EB17020000780001A050@vpn.id2.novell.com> <1255976369.13995.98.camel@slab.beaverton.ibm.com> <200910201142.34006.rusty@rustcorp.com.au> Content-Type: text/plain Date: Mon, 19 Oct 2009 18:29:53 -0700 Message-Id: <1256002193.6546.2.camel@slab> Mime-Version: 1.0 Cc: sfr@canb.auug.org.au, linux-kernel@vger.kernel.org, kvm-ppc@vger.kernel.org, linux-next@vger.kernel.org, Jan Beulich , akpm@linux-foundation.org, linuxppc-dev@lists.ozlabs.org List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Tue, 2009-10-20 at 11:42 +1030, Rusty Russell wrote: > On Tue, 20 Oct 2009 04:49:29 am Hollis Blanchard wrote: > > On Thu, 2009-10-15 at 08:27 +0100, Jan Beulich wrote: > > > My perspective is that it just uncovered already existing brokenness. > > > > Sorry, I thought it was clear, but to be more explicit: I propose the > > following patch, which replaces the current BUILD_BUG_ON implementation > > with Rusty's version. > > OK, I switched my brain back on. Yeah, I agree: we may still want > BUILD_OR_RUNTIME_BUG_ON one day, but I like this. > > It's just missing the giant comment that it needs :) > > /** > * BUILD_BUG_ON - break compile if a condition is true. > * @cond: the condition which the compiler should know is false. > * > * If you have some code which relies on certain constants being equal, or > * other compile-time-evaluated condition, you should use BUILD_BUG_ON to > * detect if someone changes it. > * > * The implementation uses gcc's reluctance to create a negative array, but > * gcc (as of 4.4) only emits that error for obvious cases (eg. not arguments > * to inline functions). So as a fallback we use the optimizer; if it can't > * prove the condition is false, it will cause a link error on the undefined > * "__build_bug_on_failed". This error is less neat, and can be harder to > * track down. > */ Do you want to put together a signed-off patch Rusty? It's your code, so I don't feel comfortable doing that. Once we have that, can we remove the mysterious MAYBE_BUILD_BUG_ON statements introduced in previous patches? (Does it BUG or doesn't it??) -- Hollis Blanchard IBM Linux Technology Center From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758113AbZJTB3y (ORCPT ); Mon, 19 Oct 2009 21:29:54 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1756231AbZJTB3x (ORCPT ); Mon, 19 Oct 2009 21:29:53 -0400 Received: from e9.ny.us.ibm.com ([32.97.182.139]:59693 "EHLO e9.ny.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756276AbZJTB3w (ORCPT ); Mon, 19 Oct 2009 21:29:52 -0400 Subject: Re: linux-next: tree build failure From: Hollis Blanchard To: Rusty Russell Cc: Jan Beulich , sfr@canb.auug.org.au, akpm@linux-foundation.org, linuxppc-dev@lists.ozlabs.org, kvm-ppc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-next@vger.kernel.org In-Reply-To: <200910201142.34006.rusty@rustcorp.com.au> References: <4AC1E15502000078000516B5@vpn.id2.novell.com> <4AD6EB17020000780001A050@vpn.id2.novell.com> <1255976369.13995.98.camel@slab.beaverton.ibm.com> <200910201142.34006.rusty@rustcorp.com.au> Content-Type: text/plain Organization: IBM Linux Technology Center Date: Mon, 19 Oct 2009 18:29:53 -0700 Message-Id: <1256002193.6546.2.camel@slab> Mime-Version: 1.0 X-Mailer: Evolution 2.26.3 (2.26.3-1.fc11) Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 2009-10-20 at 11:42 +1030, Rusty Russell wrote: > On Tue, 20 Oct 2009 04:49:29 am Hollis Blanchard wrote: > > On Thu, 2009-10-15 at 08:27 +0100, Jan Beulich wrote: > > > My perspective is that it just uncovered already existing brokenness. > > > > Sorry, I thought it was clear, but to be more explicit: I propose the > > following patch, which replaces the current BUILD_BUG_ON implementation > > with Rusty's version. > > OK, I switched my brain back on. Yeah, I agree: we may still want > BUILD_OR_RUNTIME_BUG_ON one day, but I like this. > > It's just missing the giant comment that it needs :) > > /** > * BUILD_BUG_ON - break compile if a condition is true. > * @cond: the condition which the compiler should know is false. > * > * If you have some code which relies on certain constants being equal, or > * other compile-time-evaluated condition, you should use BUILD_BUG_ON to > * detect if someone changes it. > * > * The implementation uses gcc's reluctance to create a negative array, but > * gcc (as of 4.4) only emits that error for obvious cases (eg. not arguments > * to inline functions). So as a fallback we use the optimizer; if it can't > * prove the condition is false, it will cause a link error on the undefined > * "__build_bug_on_failed". This error is less neat, and can be harder to > * track down. > */ Do you want to put together a signed-off patch Rusty? It's your code, so I don't feel comfortable doing that. Once we have that, can we remove the mysterious MAYBE_BUILD_BUG_ON statements introduced in previous patches? (Does it BUG or doesn't it??) -- Hollis Blanchard IBM Linux Technology Center