gcc/ 2012-06-18 Mikael Pettersson * config/m68k/linux-atomic.c (__kernel_cmpxchg): Compute failure indicator directly. --- gcc-4.6.3/gcc/config/m68k/linux-atomic.c.~1~ 2012-06-18 22:34:08.000000000 +0200 +++ gcc-4.6.3/gcc/config/m68k/linux-atomic.c 2012-06-18 22:48:07.000000000 +0200 @@ -33,15 +33,15 @@ see the files COPYING3 and COPYING.RUNTI static inline int __kernel_cmpxchg (int oldval, int newval, int *ptr) { - char success; + char failure; __asm__ __volatile__ ( "cas.l %2,%3,%0\n\t" - "seq %1" - : "+m" (*ptr), "=d" (success), "+d" (oldval) + "sne %1" + : "+m" (*ptr), "=d" (failure), "+d" (oldval) : "d" (newval) : "memory", "cc"); - return !success; /* Callers expect failure return, not success. */ + return failure; } static inline void