From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754956Ab0JAI0t (ORCPT ); Fri, 1 Oct 2010 04:26:49 -0400 Received: from vpn.id2.novell.com ([195.33.99.129]:41080 "EHLO vpn.id2.novell.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754587Ab0JAI0r convert rfc822-to-8bit (ORCPT ); Fri, 1 Oct 2010 04:26:47 -0400 Message-Id: <4CA5B7910200007800019F50@vpn.id2.novell.com> X-Mailer: Novell GroupWise Internet Agent 8.0.1 Date: Fri, 01 Oct 2010 09:27:29 +0100 From: "Jan Beulich" To: "H. Peter Anvin" Cc: "Ingo Molnar" , , , , "LKML" Subject: Re: gas 2.16 and assembly macros -- entry_64.S build failure References: <201009152110.o8FLAJeJ015584@imap1.linux-foundation.org> <4C91F07E0200007800016B50@vpn.id2.novell.com> <20100916082816.GA25681@elte.hu> <4C91F3A30200007800016B64@vpn.id2.novell.com> <20100916101355.GA31458@elte.hu> <4C9219BC0200007800016C53@vpn.id2.novell.com> <4CA52AA5.5040402@zytor.com> In-Reply-To: <4CA52AA5.5040402@zytor.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 8BIT Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org >>> On 01.10.10 at 02:26, "H. Peter Anvin" wrote: > ... but that doesn't work with the macros like movq_cfi. On those, we Is that only because of the register names used as operands to movq_cfi etc not having the % specified right away? I don't think that is really needed, i.e. the % could go there rather than being added in the macro body - the .cfi_* directives are perfectly happy with having the prefix there (and I don't know why it was coded this way in the first place, as this made it less similar to the plain movq while I thought the goal was to keep the differences to a minimum). > could argue that at least people won't put $ on them, but cpp will still > split them apart with spaces; this apparently causes problems at least > as soon as there is an expression more complicated than addition > involved (apparently plus signs are okay, but minus signs aren't!) > > I'm completely lost about how to deal with this. We can't simply > defang the macros -- at least not in a way that is likely to *stay* > working -- and dropping the macros is seriously going to impact the > debuggability of the kernel. One way, of course, is to simply declare > binutils 2.16 and 2.15.9x (which is apparently included in > RHEL/CentOS 4) to be broken beyond repair unless distros backport a fix, > and in many ways I think that is the preferred option, but I don't know > if that makes sense to others... The other alternative, albeit disliked by Ingo, continues to be to use __stringify() on all non-trivial operands, which then wouldn't require suppressing CONFIG_AS_CFI for pre-2.17 binutils. Jan