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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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"?

Jun


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux