In the last mail Paul Koning said:

> The gcc info file explains how.  Look for "asm" in the index  (i then
> asm).  About halfway down it mentions the "&" modifier with a
> cross-reference to "Constraint Modifier Characters".  That has the
> gory details.

So is this the correct patch I've attached?
(Still can't boot 2.2.2 :-( )

Nick

--- include/asm-arm/proc-armv/uaccess.h~        Fri Mar 12 17:10:47 1999
+++ include/asm-arm/proc-armv/uaccess.h Sat Mar 13 00:36:56 1999
@@ -133,7 +133,7 @@
        "       .align  3\n"                                    \
        "       .long   1b, 3b\n"                               \
        "       .previous"                                      \
-       : "=r" (err), "=r" (x)                                  \
+       : "=r" (err), "=&r" (x)                                 \
        : "r" (addr), "i" (EFAULT), "0" (err))
 
 #define __get_user_asm_half(x,addr,err)                                \
@@ -155,7 +155,7 @@
        "       .long   1b, 4b\n"                               \
        "       .long   2b, 4b\n"                               \
        "       .previous"                                      \
-       : "=r" (err), "=r" (x), "=&r" (__temp)                  \
+       : "=r" (err), "=&r" (x), "=&r" (__temp)                 \
        : "r" (addr), "r" ((int)(addr) + 1),                    \
           "i" (EFAULT), "0" (err));                            \
 })
@@ -175,7 +175,7 @@
        "       .align  3\n"                                    \
        "       .long   1b, 3b\n"                               \
        "       .previous"                                      \
-       : "=r" (err), "=r" (x)                                  \
+       : "=r" (err), "=&r" (x)                                 \
        : "r" (addr), "i" (EFAULT), "0" (err))
 
 #define __get_user3_asm_word(x,addr,lab)                       \
@@ -191,7 +191,7 @@
        "       .align  3\n"                                    \
        "       .long   1b, 3b\n"                               \
        "       .previous"                                      \
-       : "=r" (x)                                              \
+       : "=&r" (x)                                             \
        : "r" (addr), "m" (lab))
 
 extern unsigned long __arch_copy_from_user(void *to, const void *from, unsigned long 
n);
unsubscribe: body of `unsubscribe linux-arm' to [EMAIL PROTECTED]

Reply via email to