summaryrefslogtreecommitdiff
path: root/include/asm-arm
diff options
context:
space:
mode:
authorRussell King <rmk@flint.arm.linux.org.uk>2003-05-28 16:18:25 +0100
committerRussell King <rmk@flint.arm.linux.org.uk>2003-05-28 16:18:25 +0100
commit0b6583d7d7d0fbbd65053d50d2d39aca7cec4c73 (patch)
treecd551277b1108e6ddff5a4987229f73284ba83ec /include/asm-arm
parent015498d534572f8a9c3bf5f1dfc02bd02bfb2c9d (diff)
[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.
Diffstat (limited to 'include/asm-arm')
-rw-r--r--include/asm-arm/uaccess.h6
1 files changed, 3 insertions, 3 deletions
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"); \