earlyclobber

From: Frank Cornelis (fcorneli@elis.rug.ac.be)
Date: Sat Dec 22 2001 - 11:56:55 EST


Hi,

I think that in the file include/asm-i386/uaccess.h in some macro's the
ecx register should be marked as an "earlyclobber" operand since it is
one. Patch follows.

Frank.

--- linux-2.4.17/include/asm-i386/uaccess.h Sat Dec 22 09:35:17 2001
+++ linux/include/asm-i386/uaccess.h Sat Dec 22 17:32:14 2001
@@ -151,7 +151,7 @@
 ({ \
         long __pu_err = -EFAULT; \
         __typeof__(*(ptr)) *__pu_addr = (ptr); \
- if (access_ok(VERIFY_WRITE,__pu_addr,size)) \
+ if (access_ok(VERIFY_WRITE,__pu_addr,(size))) \
                 __put_user_size((x),__pu_addr,(size),__pu_err); \
         __pu_err; \
 })
@@ -337,7 +337,7 @@
                         " .align 4\n" \
                         " .long 0b,2b\n" \
                         ".previous" \
- : "=c"(size), "=&S" (__d0), "=&D" (__d1)\
+ : "=&c"(size), "=&S" (__d0), "=&D" (__d1)\
                         : "1"(from), "2"(to), "0"(size/4) \
                         : "memory"); \
                 break; \
@@ -356,7 +356,7 @@
                         " .long 0b,3b\n" \
                         " .long 1b,4b\n" \
                         ".previous" \
- : "=c"(size), "=&S" (__d0), "=&D" (__d1)\
+ : "=&c"(size), "=&S" (__d0), "=&D" (__d1)\
                         : "1"(from), "2"(to), "0"(size/4) \
                         : "memory"); \
                 break; \
@@ -375,7 +375,7 @@
                         " .long 0b,3b\n" \
                         " .long 1b,4b\n" \
                         ".previous" \
- : "=c"(size), "=&S" (__d0), "=&D" (__d1)\
+ : "=&c"(size), "=&S" (__d0), "=&D" (__d1)\
                         : "1"(from), "2"(to), "0"(size/4) \
                         : "memory"); \
                 break; \
@@ -397,7 +397,7 @@
                         " .long 1b,5b\n" \
                         " .long 2b,6b\n" \
                         ".previous" \
- : "=c"(size), "=&S" (__d0), "=&D" (__d1)\
+ : "=&c"(size), "=&S" (__d0), "=&D" (__d1)\
                         : "1"(from), "2"(to), "0"(size/4) \
                         : "memory"); \
                 break; \
@@ -427,7 +427,7 @@
                         " .align 4\n" \
                         " .long 0b,2b\n" \
                         ".previous" \
- : "=c"(size), "=&S" (__d0), "=&D" (__d1)\
+ : "=&c"(size), "=&S" (__d0), "=&D" (__d1)\
                         : "1"(from), "2"(to), "0"(size/4) \
                         : "memory"); \
                 break; \
@@ -459,7 +459,7 @@
                         " .long 0b,3b\n" \
                         " .long 1b,4b\n" \
                         ".previous" \
- : "=c"(size), "=&S" (__d0), "=&D" (__d1)\
+ : "=&c"(size), "=&S" (__d0), "=&D" (__d1)\
                         : "1"(from), "2"(to), "0"(size/4) \
                         : "memory"); \
                 break; \
@@ -491,7 +491,7 @@
                         " .long 0b,3b\n" \
                         " .long 1b,4b\n" \
                         ".previous" \
- : "=c"(size), "=&S" (__d0), "=&D" (__d1)\
+ : "=&c"(size), "=&S" (__d0), "=&D" (__d1)\
                         : "1"(from), "2"(to), "0"(size/4) \
                         : "memory"); \
                 break; \
@@ -533,7 +533,7 @@
                         " .long 1b,5b\n" \
                         " .long 2b,6b\n" \
                         ".previous" \
- : "=c"(size), "=&S" (__d0), "=&D" (__d1)\
+ : "=&c"(size), "=&S" (__d0), "=&D" (__d1)\
                         : "1"(from), "2"(to), "0"(size/4) \
                         : "memory"); \
                 break; \

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Dec 23 2001 - 21:00:27 EST