Messages in this thread |  | | Date | Thu, 6 Feb 2014 15:43:19 +0100 | Subject | Re: [RFC][PATCH 5/5] arch: Sanitize atomic_t bitwise ops | From | Geert Uytterhoeven <> |
| |
On Thu, Feb 6, 2014 at 2:48 PM, Peter Zijlstra <peterz@infradead.org> wrote: > --- a/arch/m68k/include/asm/atomic.h > +++ b/arch/m68k/include/asm/atomic.h > @@ -76,6 +76,9 @@ static inline int atomic_##op##_return(i > > ATOMIC_OP(add, +=) > ATOMIC_OP(sub, -=) > +ATOMIC_OP(and, &=) > +ATOMIC_OP(or , |=) > +ATOMIC_OP(xor, ^=)
This last one ain't gonna fly. Given
static inline void atomic_##op(int i, atomic_t *v) \ { \ __asm__ __volatile__(#op "l %1,%0" : "+m" (*v) : ASM_DI (i)); \ }
from the previous patch, it'll generate the "xorl" mnemonic, which IIRC does not exist. It's called "eorl".
Verified with m68k-linux-gnu-as:
Error: Unknown operator -- statement `xorl %d0,%d1' ignored
Gr{oetje,eeting}s,
Geert
-- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
|  |