From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gw.goop.org ([64.81.55.164]:47567 "EHLO mail.goop.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1764501AbXGYRqG (ORCPT ); Wed, 25 Jul 2007 13:46:06 -0400 Message-ID: <46A78C1B.8070509@goop.org> Date: Wed, 25 Jul 2007 10:44:59 -0700 From: Jeremy Fitzhardinge MIME-Version: 1.0 Subject: Re: [PATCH][RFC] getting rid of stupid loop in BUG() References: <21803.1185331847@ocs10w.ocs.com.au> <46A6DB04.3000003@zytor.com> <46A6ECB7.7090208@goop.org> <20070724.232914.56812376.davem@davemloft.net> <20070725173646.GI27237@ftp.linux.org.uk> In-Reply-To: <20070725173646.GI27237@ftp.linux.org.uk> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: linux-arch-owner@vger.kernel.org To: Al Viro Cc: Linus Torvalds , David Miller , hpa@zytor.com, kaos@ocs.com.au, xyzzy@speakeasy.org, linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org List-ID: Al Viro wrote: > On Wed, Jul 25, 2007 at 09:56:12AM -0700, Linus Torvalds wrote: > >> We don't just do the "ud2" instruction - we also do the file and line >> number information after it. Which means that __builtin_trap() is useless. >> >> So we might as well keep the loop, since both are two-byte instructions >> that tell gcc that it will never continue. >> > > Actually, the worse problem is that gcc will happily merge these guys. > And that's a killer. > Merge __builtin_traps()? Ugh. But also, there's no real long-term guarantee that it will keep generating ud2a. The *only* mention of it in the manual is a discussion that it will emit a call to abort() on arches which don't otherwise support it. J