Can you try with this patch ...
--- system.h.orig.0	Mon Dec 17 15:03:38 2001
+++ system.h	Mon Dec 17 15:16:58 2001
@@ -205,21 +205,15 @@ static inline unsigned long __xchg(unsig
 	switch (size) {
 		case 1:
 			__asm__ __volatile__("xchgb %b0,%1"
-				:"=q" (x)
-				:"m" (*__xg(ptr)), "0" (x)
-				:"memory");
+				     :"+q" (x),"=m" (*__xg(ptr)));
 			break;
 		case 2:
 			__asm__ __volatile__("xchgw %w0,%1"
-				:"=r" (x)
-				:"m" (*__xg(ptr)), "0" (x)
-				:"memory");
+				     :"+r" (x),"=m" (*__xg(ptr)));
 			break;
 		case 4:
 			__asm__ __volatile__("xchgl %0,%1"
-				:"=r" (x)
-				:"m" (*__xg(ptr)), "0" (x)
-				:"memory");
+				     :"+r" (x), "=m" (*__xg(ptr)));
 			break;
 	}
 	return x;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/