1 |
Author: mpagano |
2 |
Date: 2008-03-28 11:51:49 +0000 (Fri, 28 Mar 2008) |
3 |
New Revision: 1275 |
4 |
|
5 |
Added: |
6 |
genpatches-2.6/trunk/2.6.24/1400_prevent-gcc43-optimization-udivdi3.patch |
7 |
Modified: |
8 |
genpatches-2.6/trunk/2.6.24/0000_README |
9 |
Log: |
10 |
Adding patch to prevent gcc 4.3 optimizations for all archs. |
11 |
|
12 |
Modified: genpatches-2.6/trunk/2.6.24/0000_README |
13 |
=================================================================== |
14 |
--- genpatches-2.6/trunk/2.6.24/0000_README 2008-03-25 23:51:16 UTC (rev 1274) |
15 |
+++ genpatches-2.6/trunk/2.6.24/0000_README 2008-03-28 11:51:49 UTC (rev 1275) |
16 |
@@ -51,10 +51,14 @@ |
17 |
From: http://www.kernel.org |
18 |
Desc: Linux 2.6.24.3 |
19 |
|
20 |
-Patch: 1002_linux-2.6.24.4.patch |
21 |
+Patch: 1003_linux-2.6.24.4.patch |
22 |
From: http://www.kernel.org |
23 |
Desc: Linux 2.6.24.4 |
24 |
|
25 |
+Patch: 1400_prevent-gcc43-optimization-udivdi3.patch |
26 |
+From: http://bugs.gentoo.org/show_bug.cgi?id=214654 |
27 |
+Desc: Prevent gcc udivdi3 optimizations due to some unsupported archs. |
28 |
+ |
29 |
Patch: 2100_sd-sr-medium-detection.patch |
30 |
From: http://bugs.gentoo.org/196879 |
31 |
Desc: Add early medium-not-present detection in sr/sd drivers |
32 |
|
33 |
Added: genpatches-2.6/trunk/2.6.24/1400_prevent-gcc43-optimization-udivdi3.patch |
34 |
=================================================================== |
35 |
--- genpatches-2.6/trunk/2.6.24/1400_prevent-gcc43-optimization-udivdi3.patch (rev 0) |
36 |
+++ genpatches-2.6/trunk/2.6.24/1400_prevent-gcc43-optimization-udivdi3.patch 2008-03-28 11:51:49 UTC (rev 1275) |
37 |
@@ -0,0 +1,33 @@ |
38 |
+From 38332cb98772f5ea757e6486bed7ed0381cb5f98 Mon Sep 17 00:00:00 2001 |
39 |
+From: Segher Boessenkool <segher@×××××××××××××××.org> |
40 |
+Date: Tue, 4 Mar 2008 14:59:54 -0800 |
41 |
+Message-ID: <2d0a357f0803241147o351f9434y696cb33841ffe834@××××××××××.com> |
42 |
+Subject: time: prevent the loop in timespec_add_ns() from being optimised away |
43 |
+ |
44 |
+Since some architectures don't support __udivdi3(). |
45 |
+ |
46 |
+Signed-off-by: Segher Boessenkool <segher@×××××××××××××××.org> |
47 |
+Cc: john stultz <johnstul@××××××.com> |
48 |
+Cc: Ingo Molnar <mingo@××××.hu> |
49 |
+Signed-off-by: Andrew Morton <akpm@××××××××××××××××.org> |
50 |
+Signed-off-by: Thomas Gleixner <tglx@××××××××××.de> |
51 |
+Cc: Sedat Dilek <sedat.dilek@××××××××××.com> |
52 |
+Signed-off-by: Chris Wright <chrisw@××××××××.org> |
53 |
+--- |
54 |
+ include/linux/time.h | 4 ++++ |
55 |
+ 1 file changed, 4 insertions(+) |
56 |
+ |
57 |
+--- a/include/linux/time.h |
58 |
++++ b/include/linux/time.h |
59 |
+@@ -173,6 +173,10 @@ static inline void timespec_add_ns(struc |
60 |
+ { |
61 |
+ ns += a->tv_nsec; |
62 |
+ while(unlikely(ns >= NSEC_PER_SEC)) { |
63 |
++ /* The following asm() prevents the compiler from |
64 |
++ * optimising this loop into a modulo operation. */ |
65 |
++ asm("" : "+r"(ns)); |
66 |
++ |
67 |
+ ns -= NSEC_PER_SEC; |
68 |
+ a->tv_sec++; |
69 |
+ } |
70 |
+ |
71 |
|
72 |
-- |
73 |
gentoo-commits@l.g.o mailing list |