diff options
author | Denys Dmytriyenko <denis@denix.org> | 2009-03-17 14:32:59 -0400 |
---|---|---|
committer | Denys Dmytriyenko <denis@denix.org> | 2009-03-17 14:32:59 -0400 |
commit | 709c4d66e0b107ca606941b988bad717c0b45d9b (patch) | |
tree | 37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/linux/unslung-kernel/gcc-registerparanoia.patch | |
parent | fa6cd5a3b993f16c27de4ff82b42684516d433ba (diff) |
rename packages/ to recipes/ per earlier agreement
See links below for more details:
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816
Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Acked-by: Mike Westerhof <mwester@dls.net>
Acked-by: Philip Balister <philip@balister.org>
Acked-by: Khem Raj <raj.khem@gmail.com>
Acked-by: Marcin Juszkiewicz <hrw@openembedded.org>
Acked-by: Koen Kooi <koen@openembedded.org>
Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/linux/unslung-kernel/gcc-registerparanoia.patch')
-rw-r--r-- | recipes/linux/unslung-kernel/gcc-registerparanoia.patch | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/recipes/linux/unslung-kernel/gcc-registerparanoia.patch b/recipes/linux/unslung-kernel/gcc-registerparanoia.patch new file mode 100644 index 0000000000..7c3e538e1e --- /dev/null +++ b/recipes/linux/unslung-kernel/gcc-registerparanoia.patch @@ -0,0 +1,57 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- linux-2.4.22/include/asm-arm/system.h~gcc-registerparanoia 2004-09-08 19:45:34.000000000 -0500 ++++ linux-2.4.22/include/asm-arm/system.h 2004-09-08 19:53:01.000000000 -0500 +@@ -3,6 +3,15 @@ + + #ifdef __KERNEL__ + ++/* ++ * This is used to ensure the compiler did actually allocate the register we ++ * asked it for some inline assembly sequences. Apparently we can't trust ++ * the compiler from one version to another so a bit of paranoia won't hurt. ++ * This string is meant to be concatenated with the inline asm string and ++ * will cause compilation to stop on mismatch. ++ */ ++#define __asmeq(x, y) ".ifnc " x "," y " ; .err ; .endif\n\t" ++ + #include <linux/config.h> + #include <linux/kernel.h> + +--- linux-2.4.22/include/asm-arm/uaccess.h~gcc-registerparanoia 2004-09-08 19:45:34.000000000 -0500 ++++ linux-2.4.22/include/asm-arm/uaccess.h 2004-09-08 19:59:20.000000000 -0500 +@@ -6,6 +6,7 @@ + */ + #include <linux/sched.h> + #include <asm/errno.h> ++#include <asm/system.h> + + #define VERIFY_READ 0 + #define VERIFY_WRITE 1 +@@ -71,7 +72,9 @@ + extern int __get_user_bad(void); + + #define __get_user_x(__r1,__p,__e,__s,__i...) \ +- __asm__ __volatile__ ("bl __get_user_" #__s \ ++ __asm__ __volatile__ ( \ ++ __asmeq("%0", "r0") __asmeq("%1", "r1") \ ++ "bl __get_user_" #__s \ + : "=&r" (__e), "=r" (__r1) \ + : "0" (__p) \ + : __i) +@@ -110,7 +113,9 @@ + extern int __put_user_bad(void); + + #define __put_user_x(__r1,__p,__e,__s,__i...) \ +- __asm__ __volatile__ ("bl __put_user_" #__s \ ++ __asm__ __volatile__ ( \ ++ __asmeq("%0", "r0") __asmeq("%2", "r1") \ ++ "bl __put_user_" #__s \ + : "=&r" (__e) \ + : "0" (__p), "r" (__r1) \ + : __i) +--- linux-2.4.22/-~gcc-registerparanoia ++++ linux-2.4.22/- |