[Top] [All Lists]

Re: [patch] linux 2.4.9: Bad code in xchg_u32()

To: Ralf Baechle <>
Subject: Re: [patch] linux 2.4.9: Bad code in xchg_u32()
From: Jun Sun <>
Date: Tue, 16 Oct 2001 15:49:29 -0700
Cc: "Maciej W. Rozycki" <>,,
References: <> <>
Ralf Baechle wrote:
> On Tue, Oct 16, 2001 at 07:06:40PM +0200, Maciej W. Rozycki wrote:
> >
> >  Unfortunately, gcc 2.95.3 doesn't want to accept a "=R" output constraint
> > here so I had to use "=m".  It looks like a bug in gcc.  Until it is fixed
> > the "R" input constraint here is sufficient for gcc to know it has m
> > already available in one of registers.  I added ".set nomacro" to make
> > sure the second ll fits in the BDS as well.
> I've added the "memory" clobber back; xchg() is expected to imply a memory
> barrier.
> "R" indeed seems to be fishy; I can't compile the kernel if I remove
> the volatile from the first argument of xchg_u32().  I'd feel safer if
> we could use "m" until we can be sure "R" works fine.

Is there any reason to think "R" *should* be better than "m"?


<Prev in Thread] Current Thread [Next in Thread>