patch-pre2.0.9 linux/include/asm-i386/system.h
Next file: linux/include/asm-ppc/posix_types.h
Previous file: linux/include/asm-i386/checksum.h
Back to the patch index
Back to the overall index
-  Lines: 28
 -  Date:
Wed May 29 18:06:39 1996
 -  Orig file: 
pre2.0.8/linux/include/asm-i386/system.h
 -  Orig date: 
Fri Apr  5 13:35:28 1996
 
diff -u --recursive --new-file pre2.0.8/linux/include/asm-i386/system.h linux/include/asm-i386/system.h
@@ -199,18 +199,21 @@
 	switch (size) {
 		case 1:
 			__asm__("xchgb %b0,%1"
-				:"=&q" (x), "=m" (*__xg(ptr))
-				:"0" (x), "m" (*__xg(ptr)));
+				:"=q" (x)
+				:"m" (*__xg(ptr)), "0" (x)
+				:"memory");
 			break;
 		case 2:
 			__asm__("xchgw %w0,%1"
-				:"=&r" (x), "=m" (*__xg(ptr))
-				:"0" (x), "m" (*__xg(ptr)));
+				:"=r" (x)
+				:"m" (*__xg(ptr)), "0" (x)
+				:"memory");
 			break;
 		case 4:
 			__asm__("xchgl %0,%1"
-				:"=&r" (x), "=m" (*__xg(ptr))
-				:"0" (x), "m" (*__xg(ptr)));
+				:"=r" (x)
+				:"m" (*__xg(ptr)), "0" (x)
+				:"memory");
 			break;
 	}
 	return x;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov
with Sam's (original) version of this