Fix asm constraint in put_user

From: Andreas Schwab <schwab_at_suse.de>
Date: 2005-11-22 02:12:19
The st insn on the ia64 does not allow the post-increment to come from a
register (only ld does).  Thus the "m" constraint is not suitable for the
asm statement in __put_user_size.

Signed-off-by: Andreas Schwab <schwab@suse.de>

--- linux-2.6.14/include/asm-ia64/uaccess.h.~1~	2005-10-28 02:02:08.000000000 +0200
+++ linux-2.6.14/include/asm-ia64/uaccess.h	2005-11-20 18:15:46.559296784 +0100
@@ -154,10 +154,10 @@ do {												\
 # define __put_user_size(val, addr, n, err)							\
 do {												\
 	register long __pu_r8 asm ("r8") = 0;							\
-	asm volatile ("\n[1:]\tst"#n" %1=%r2%P1\t// %0 gets overwritten by exception handler\n"	\
+	asm volatile ("\n[1:]\tst"#n" [%1]=%r2\t// %0 gets overwritten by exception handler\n"	\
 		      "\t.xdata4 \"__ex_table\", 1b-., 1f-.\n"					\
 		      "[1:]"									\
-		      : "=r"(__pu_r8) : "m"(__m(addr)), "rO"(val), "0"(__pu_r8));		\
+		      : "=r"(__pu_r8) : "r"(addr), "rO"(val), "0"(__pu_r8));		\
 	(err) = __pu_r8;									\
 } while (0)
 

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."
-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Tue Nov 22 02:13:26 2005

This archive was generated by hypermail 2.1.8 : 2005-11-22 02:13:36 EST