From 0b6583d7d7d0fbbd65053d50d2d39aca7cec4c73 Mon Sep 17 00:00:00 2001 From: Russell King Date: Wed, 28 May 2003 16:18:25 +0100 Subject: [ARM] Fix GCC3.3 build error GCC 3.3 complains that r2 overlaps input operands when a u64 pointer is passed into __put_user(). Fix this by using ip as a temporary register instead. --- include/asm-arm/uaccess.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/asm-arm/uaccess.h b/include/asm-arm/uaccess.h index a5281acd7fb1..23bf0cbc1c76 100644 --- a/include/asm-arm/uaccess.h +++ b/include/asm-arm/uaccess.h @@ -144,13 +144,13 @@ extern int __put_user_bad(void); register int __e asm("r0"); \ switch (sizeof(*(__p))) { \ case 1: \ - __put_user_x(__r1, __p, __e, 1, "r2", "lr"); \ + __put_user_x(__r1, __p, __e, 1, "ip", "lr"); \ break; \ case 2: \ - __put_user_x(__r1, __p, __e, 2, "r2", "lr"); \ + __put_user_x(__r1, __p, __e, 2, "ip", "lr"); \ break; \ case 4: \ - __put_user_x(__r1, __p, __e, 4, "r2", "lr"); \ + __put_user_x(__r1, __p, __e, 4, "ip", "lr"); \ break; \ case 8: \ __put_user_x(__r1, __p, __e, 8, "ip", "lr"); \ -- cgit v1.2.3