summaryrefslogtreecommitdiffstats
path: root/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99324.patch
diff options
context:
space:
mode:
authorKoen Kooi <koen@dominion.thruhere.net>2010-11-02 22:03:58 +0100
committerKoen Kooi <koen@dominion.thruhere.net>2010-11-02 22:12:02 +0100
commitbe10a6b1321f250b1034c7d9d0a8ef18b296eef1 (patch)
tree9249025cbfbfbee4cc430d62b27f75301dd4dfde /recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99324.patch
parent93b28937ac67ba46d65f55637e42552e224aa7e2 (diff)
downloadmeta-openembedded-be10a6b1321f250b1034c7d9d0a8ef18b296eef1.tar.gz
angstrom-layers: meta-openembedded: replace poky gcc 4.5 sources with OE ones
This needs further investigation, but for now we can get the tested sources into the poky gcc harness Signed-off-by: Koen Kooi <k-kooi@ti.com>
Diffstat (limited to 'recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99324.patch')
-rw-r--r--recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99324.patch109
1 files changed, 109 insertions, 0 deletions
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99324.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99324.patch
new file mode 100644
index 0000000000..40b368862d
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99324.patch
@@ -0,0 +1,109 @@
1 Julian Brown <julian@codesourcery.com>
2 Mark Shinwell <mark@codesourcery.com>
3
4 gcc/
5 * regrename.c (addresses.h): Move include of addresses.h after
6 include of flags.h.
7 * recog.c: Likewise.
8 * regcprop.c: Likewise.
9 * config/arm/arm.h (CLASS_LIKELY_SPILLED_P): Check against
10 LO_REGS only for Thumb-1.
11 (MODE_BASE_REG_CLASS): Restrict base registers to those which can
12 be used in short instructions when optimising for size on Thumb-2.
13
142010-07-26 Julian Brown <julian@codesourcery.com>
15
16 Merge from Sourcery G++ 4.4:
17
18 Vladimir Prus <vladimir@codesourcery.com>
19 Julian Brown <julian@codesourcery.com>
20
21
22=== modified file 'gcc/config/arm/arm.h'
23--- old/gcc/config/arm/arm.h 2010-08-05 15:20:54 +0000
24+++ new/gcc/config/arm/arm.h 2010-08-05 15:28:47 +0000
25@@ -1254,11 +1254,14 @@
26 || reg_classes_intersect_p (VFP_REGS, (CLASS)) \
27 : 0)
28
29-/* We need to define this for LO_REGS on thumb. Otherwise we can end up
30- using r0-r4 for function arguments, r7 for the stack frame and don't
31- have enough left over to do doubleword arithmetic. */
32+/* We need to define this for LO_REGS on Thumb-1. Otherwise we can end up
33+ using r0-r4 for function arguments, r7 for the stack frame and don't have
34+ enough left over to do doubleword arithmetic. For Thumb-2 all the
35+ potentially problematic instructions accept high registers so this is not
36+ necessary. Care needs to be taken to avoid adding new Thumb-2 patterns
37+ that require many low registers. */
38 #define CLASS_LIKELY_SPILLED_P(CLASS) \
39- ((TARGET_THUMB && (CLASS) == LO_REGS) \
40+ ((TARGET_THUMB1 && (CLASS) == LO_REGS) \
41 || (CLASS) == CC_REG)
42
43 /* The class value for index registers, and the one for base regs. */
44@@ -1269,7 +1272,7 @@
45 when addressing quantities in QI or HI mode; if we don't know the
46 mode, then we must be conservative. */
47 #define MODE_BASE_REG_CLASS(MODE) \
48- (TARGET_32BIT ? CORE_REGS : \
49+ (TARGET_ARM || (TARGET_THUMB2 && !optimize_size) ? CORE_REGS : \
50 (((MODE) == SImode) ? BASE_REGS : LO_REGS))
51
52 /* For Thumb we can not support SP+reg addressing, so we return LO_REGS
53
54=== modified file 'gcc/recog.c'
55--- old/gcc/recog.c 2010-04-02 18:54:46 +0000
56+++ new/gcc/recog.c 2010-08-05 15:28:47 +0000
57@@ -31,10 +31,10 @@
58 #include "hard-reg-set.h"
59 #include "recog.h"
60 #include "regs.h"
61-#include "addresses.h"
62 #include "expr.h"
63 #include "function.h"
64 #include "flags.h"
65+#include "addresses.h"
66 #include "real.h"
67 #include "toplev.h"
68 #include "basic-block.h"
69
70=== modified file 'gcc/regcprop.c'
71--- old/gcc/regcprop.c 2010-02-26 11:01:28 +0000
72+++ new/gcc/regcprop.c 2010-08-05 15:28:47 +0000
73@@ -26,7 +26,6 @@
74 #include "tm_p.h"
75 #include "insn-config.h"
76 #include "regs.h"
77-#include "addresses.h"
78 #include "hard-reg-set.h"
79 #include "basic-block.h"
80 #include "reload.h"
81@@ -34,6 +33,7 @@
82 #include "function.h"
83 #include "recog.h"
84 #include "flags.h"
85+#include "addresses.h"
86 #include "toplev.h"
87 #include "obstack.h"
88 #include "timevar.h"
89
90=== modified file 'gcc/regrename.c'
91--- old/gcc/regrename.c 2010-04-02 18:54:46 +0000
92+++ new/gcc/regrename.c 2010-08-05 15:28:47 +0000
93@@ -26,7 +26,6 @@
94 #include "tm_p.h"
95 #include "insn-config.h"
96 #include "regs.h"
97-#include "addresses.h"
98 #include "hard-reg-set.h"
99 #include "basic-block.h"
100 #include "reload.h"
101@@ -34,6 +33,7 @@
102 #include "function.h"
103 #include "recog.h"
104 #include "flags.h"
105+#include "addresses.h"
106 #include "toplev.h"
107 #include "obstack.h"
108 #include "timevar.h"
109