--- mysql-5.0.27/bdb/dbinc/mutex.h.orig 2006-10-20 20:22:26.000000000 -0400 +++ mysql-5.0.27/bdb/dbinc/mutex.h 2007-04-24 17:06:36.000000000 -0400 @@ -401,10 +401,11 @@ */ #define MUTEX_SET(tsl) ({ \ int __r; \ - asm volatile("swpb %0, %1, [%2]" \ - : "=r" (__r) \ - : "0" (1), "r" (tsl) \ - : "memory" \ + asm volatile( \ + "swpb %0, %1, [%2]\n\t" \ + "eor %0, %0, #1\n\t" \ + : "=&r" (__r) \ + : "r" (1), "r" (tsl) \ ); \ __r & 1; \ })