diff options
Diffstat (limited to 'target/linux/s3c24xx/patches-2.6.24/1300-fix-gcc-4.3-false-modulo-optimization.patch.patch')
-rw-r--r-- | target/linux/s3c24xx/patches-2.6.24/1300-fix-gcc-4.3-false-modulo-optimization.patch.patch | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/target/linux/s3c24xx/patches-2.6.24/1300-fix-gcc-4.3-false-modulo-optimization.patch.patch b/target/linux/s3c24xx/patches-2.6.24/1300-fix-gcc-4.3-false-modulo-optimization.patch.patch deleted file mode 100644 index 3ff0c07c18..0000000000 --- a/target/linux/s3c24xx/patches-2.6.24/1300-fix-gcc-4.3-false-modulo-optimization.patch.patch +++ /dev/null @@ -1,48 +0,0 @@ -From f5b973489beb1a1239dfad53e3ad6e36ff7ee958 Mon Sep 17 00:00:00 2001 -From: Segher Boessenkool <segher@kernel.crashing.org> -Date: Thu, 9 Oct 2008 21:18:27 +0100 -Subject: [PATCH] fix-gcc-4.3-false-modulo-optimization.patch - -I tried to compile the current stable kernel -(a2ef813d2f439a3e9f377d33a2e5baad098afb7e) -and get the following errors: - -kernel/built-in.o: In function `timespec_add_ns': -/mnt/data/Freerunner/Gentoo/rootinstall/usr/src/linux/include/linux/time.h:174: -undefined reference to `__aeabi_uldivmod' -/mnt/data/Freerunner/Gentoo/rootinstall/usr/src/linux/include/linux/time.h:179: -undefined reference to `__aeabi_uldivmod' -/mnt/data/Freerunner/Gentoo/rootinstall/usr/src/linux/include/linux/time.h:174: -undefined reference to `__aeabi_uldivmod' -/mnt/data/Freerunner/Gentoo/rootinstall/usr/src/linux/include/linux/time.h:179: -undefined reference to `__aeabi_uldivmod' - -applying the following patch solved the problem: --------- -Prevent gcc-4.3 form "optimizing" the while loop into a costly modulo operation. -Patch found at http://lkml.org/lkml/2008/2/22/464. - -Reported-by: Sven Rebhan <odinshorse@googlemail.com> -Signed-off-by: Segher Boessenkool <segher@kernel.crashing.org> ---- - include/linux/time.h | 4 ++++ - 1 files changed, 4 insertions(+), 0 deletions(-) - -diff --git a/include/linux/time.h b/include/linux/time.h -index b04136d..3e8fd9e 100644 ---- a/include/linux/time.h -+++ b/include/linux/time.h -@@ -173,6 +173,10 @@ static inline void timespec_add_ns(struct timespec *a, u64 ns) - { - ns += a->tv_nsec; - while(unlikely(ns >= NSEC_PER_SEC)) { -+ /* The following asm() prevents the compiler from -+ * optimising this loop into a modulo operation. */ -+ asm("" : "+r"(ns)); -+ - ns -= NSEC_PER_SEC; - a->tv_sec++; - } --- -1.5.6.5 - |