[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0707232242340.22796@cselinux1.cse.iitk.ac.in>
Date: Mon, 23 Jul 2007 22:45:04 +0530 (IST)
From: Satyam Sharma <ssatyam@....iitk.ac.in>
To: Andi Kleen <ak@...e.de>
cc: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
David Howells <dhowells@...hat.com>,
Nick Piggin <nickpiggin@...oo.com.au>,
Andrew Morton <akpm@...ux-foundation.org>,
Linus Torvalds <torvalds@...ux-foundation.org>, jh@...e.cz
Subject: Re: [PATCH 3/8] i386: bitops: Rectify bogus "+m" constraints
On Mon, 23 Jul 2007, Andi Kleen wrote:
> On Monday 23 July 2007 18:05:43 Satyam Sharma wrote:
> > From: Satyam Sharma <ssatyam@....iitk.ac.in>
> >
> > [3/8] i386: bitops: Rectify bogus "+m" constraints
> >
> > From the gcc manual:
> >
> > Extended asm supports input-output or read-write operands. Use the
> > constraint character `+' to indicate such an operand and list it with
> > the output operands. You should only use read-write operands when the
> > constraints for the operand (or the operand in which only some of the
> > bits are to be changed) allow a register.
> >
> > So, using the "+" constraint modifier for memory, like "+m" is bogus.
> > We must simply specify "=m" which handles the case correctly.
>
> I checked with Honza (cc'ed) and he stated that the + are really needed
> at least in newer gcc.
That extract is from the latest (4.2.1) manual, but they could've
forgotten to update the documentation, of course.
But even then, I'm not sure they could ever make it "really needed",
that'll be a step that would break all existing code, otherwise! :-)
Satyam
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists