diff options
author | Khem Raj <raj.khem@gmail.com> | 2011-10-18 01:39:48 +0000 |
---|---|---|
committer | Koen Kooi <koen@dominion.thruhere.net> | 2011-10-20 19:25:50 +0200 |
commit | 0368dfd5d8285fe31c853097846e8a6822c7cda0 (patch) | |
tree | b0f5c8a906e0bf6fdd9bb9e7aa82202d8630a5c8 | |
parent | 0aec849fffedf1fed7fd031ecf40d7370f11697b (diff) | |
download | meta-openembedded-0368dfd5d8285fe31c853097846e8a6822c7cda0.tar.gz |
gcc-4.6: Remove the patches that are already applied via oe-core
Please apply after
http://git.openembedded.org/openembedded-core-contrib/log/?h=kraj/gcc-update
has been merged into oe-core
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
4 files changed, 0 insertions, 248 deletions
diff --git a/meta-oe/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106729.patch b/meta-oe/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106729.patch deleted file mode 100644 index 465d09c1a..000000000 --- a/meta-oe/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106729.patch +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | 2011-03-22 Andrew Stubbs <ams@codesourcery.com> | ||
2 | |||
3 | Backport from FSF: | ||
4 | |||
5 | 2011-03-21 Daniel Jacobowitz <dan@codesourcery.com> | ||
6 | |||
7 | gcc/ | ||
8 | * config/arm/unwind-arm.c (__gnu_unwind_pr_common): Correct test | ||
9 | for barrier handlers. | ||
10 | |||
11 | === modified file 'gcc/config/arm/unwind-arm.c' | ||
12 | --- old/gcc/config/arm/unwind-arm.c 2009-10-30 14:55:10 +0000 | ||
13 | +++ new/gcc/config/arm/unwind-arm.c 2011-03-22 10:59:10 +0000 | ||
14 | @@ -1196,8 +1196,6 @@ | ||
15 | ucbp->barrier_cache.bitpattern[4] = (_uw) &data[1]; | ||
16 | |||
17 | if (data[0] & uint32_highbit) | ||
18 | - phase2_call_unexpected_after_unwind = 1; | ||
19 | - else | ||
20 | { | ||
21 | data += rtti_count + 1; | ||
22 | /* Setup for entry to the handler. */ | ||
23 | @@ -1207,6 +1205,8 @@ | ||
24 | _Unwind_SetGR (context, 0, (_uw) ucbp); | ||
25 | return _URC_INSTALL_CONTEXT; | ||
26 | } | ||
27 | + else | ||
28 | + phase2_call_unexpected_after_unwind = 1; | ||
29 | } | ||
30 | if (data[0] & uint32_highbit) | ||
31 | data++; | ||
32 | |||
diff --git a/meta-oe/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106743.patch b/meta-oe/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106743.patch deleted file mode 100644 index aba2a497e..000000000 --- a/meta-oe/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106743.patch +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | 2011-04-26 Andrew Stubbs <ams@codesourcery.com> | ||
2 | |||
3 | Backport from FSF: | ||
4 | |||
5 | 2011-04-05 Tom de Vries <tom@codesourcery.com> | ||
6 | |||
7 | PR target/43920 | ||
8 | gcc/ | ||
9 | * config/arm/arm.h (BRANCH_COST): Set to 1 for Thumb-2 when optimizing | ||
10 | for size. | ||
11 | |||
12 | === modified file 'gcc/config/arm/arm.h' | ||
13 | --- old/gcc/config/arm/arm.h 2011-05-03 15:17:25 +0000 | ||
14 | +++ new/gcc/config/arm/arm.h 2011-04-26 14:42:21 +0000 | ||
15 | @@ -2018,7 +2018,8 @@ | ||
16 | /* Try to generate sequences that don't involve branches, we can then use | ||
17 | conditional instructions */ | ||
18 | #define BRANCH_COST(speed_p, predictable_p) \ | ||
19 | - (TARGET_32BIT ? 4 : (optimize > 0 ? 2 : 0)) | ||
20 | + (TARGET_32BIT ? (TARGET_THUMB2 && !speed_p ? 1 : 4) \ | ||
21 | + : (optimize > 0 ? 2 : 0)) | ||
22 | |||
23 | /* Position Independent Code. */ | ||
24 | /* We decide which register to use based on the compilation options and | ||
25 | |||
diff --git a/meta-oe/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106761.patch b/meta-oe/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106761.patch deleted file mode 100644 index 4374e7ed6..000000000 --- a/meta-oe/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106761.patch +++ /dev/null | |||
@@ -1,188 +0,0 @@ | |||
1 | gcc/ | ||
2 | Backport from mainline: | ||
3 | |||
4 | Chung-Lin Tang <cltang@codesourcery.com> | ||
5 | Richard Earnshaw <rearnsha@arm.com> | ||
6 | |||
7 | PR target/48250 | ||
8 | * config/arm/arm.c (arm_legitimize_reload_address): Update cases | ||
9 | to use sign-magnitude offsets. Reject unsupported unaligned | ||
10 | cases. Add detailed description in comments. | ||
11 | * config/arm/arm.md (reload_outdf): Disable for ARM mode; change | ||
12 | condition from TARGET_32BIT to TARGET_ARM. | ||
13 | |||
14 | Chung-Lin Tang <cltang@codesourcery.com> | ||
15 | |||
16 | * config/arm/arm.c (arm_legitimize_reload_address): For NEON | ||
17 | quad-word modes, reduce to 9-bit index range when above 1016 | ||
18 | limit. | ||
19 | |||
20 | === modified file 'gcc/config/arm/arm.c' | ||
21 | --- old/gcc/config/arm/arm.c 2011-06-14 16:00:30 +0000 | ||
22 | +++ new/gcc/config/arm/arm.c 2011-06-27 22:14:07 +0000 | ||
23 | @@ -6488,23 +6488,134 @@ | ||
24 | HOST_WIDE_INT val = INTVAL (XEXP (*p, 1)); | ||
25 | HOST_WIDE_INT low, high; | ||
26 | |||
27 | - if (mode == DImode || (mode == DFmode && TARGET_SOFT_FLOAT)) | ||
28 | - low = ((val & 0xf) ^ 0x8) - 0x8; | ||
29 | - else if (TARGET_MAVERICK && TARGET_HARD_FLOAT) | ||
30 | - /* Need to be careful, -256 is not a valid offset. */ | ||
31 | - low = val >= 0 ? (val & 0xff) : -((-val) & 0xff); | ||
32 | - else if (mode == SImode | ||
33 | - || (mode == SFmode && TARGET_SOFT_FLOAT) | ||
34 | - || ((mode == HImode || mode == QImode) && ! arm_arch4)) | ||
35 | - /* Need to be careful, -4096 is not a valid offset. */ | ||
36 | - low = val >= 0 ? (val & 0xfff) : -((-val) & 0xfff); | ||
37 | - else if ((mode == HImode || mode == QImode) && arm_arch4) | ||
38 | - /* Need to be careful, -256 is not a valid offset. */ | ||
39 | - low = val >= 0 ? (val & 0xff) : -((-val) & 0xff); | ||
40 | - else if (GET_MODE_CLASS (mode) == MODE_FLOAT | ||
41 | - && TARGET_HARD_FLOAT && TARGET_FPA) | ||
42 | - /* Need to be careful, -1024 is not a valid offset. */ | ||
43 | - low = val >= 0 ? (val & 0x3ff) : -((-val) & 0x3ff); | ||
44 | + /* Detect coprocessor load/stores. */ | ||
45 | + bool coproc_p = ((TARGET_HARD_FLOAT | ||
46 | + && (TARGET_VFP || TARGET_FPA || TARGET_MAVERICK) | ||
47 | + && (mode == SFmode || mode == DFmode | ||
48 | + || (mode == DImode && TARGET_MAVERICK))) | ||
49 | + || (TARGET_REALLY_IWMMXT | ||
50 | + && VALID_IWMMXT_REG_MODE (mode)) | ||
51 | + || (TARGET_NEON | ||
52 | + && (VALID_NEON_DREG_MODE (mode) | ||
53 | + || VALID_NEON_QREG_MODE (mode)))); | ||
54 | + | ||
55 | + /* For some conditions, bail out when lower two bits are unaligned. */ | ||
56 | + if ((val & 0x3) != 0 | ||
57 | + /* Coprocessor load/store indexes are 8-bits + '00' appended. */ | ||
58 | + && (coproc_p | ||
59 | + /* For DI, and DF under soft-float: */ | ||
60 | + || ((mode == DImode || mode == DFmode) | ||
61 | + /* Without ldrd, we use stm/ldm, which does not | ||
62 | + fair well with unaligned bits. */ | ||
63 | + && (! TARGET_LDRD | ||
64 | + /* Thumb-2 ldrd/strd is [-1020,+1020] in steps of 4. */ | ||
65 | + || TARGET_THUMB2)))) | ||
66 | + return false; | ||
67 | + | ||
68 | + /* When breaking down a [reg+index] reload address into [(reg+high)+low], | ||
69 | + of which the (reg+high) gets turned into a reload add insn, | ||
70 | + we try to decompose the index into high/low values that can often | ||
71 | + also lead to better reload CSE. | ||
72 | + For example: | ||
73 | + ldr r0, [r2, #4100] // Offset too large | ||
74 | + ldr r1, [r2, #4104] // Offset too large | ||
75 | + | ||
76 | + is best reloaded as: | ||
77 | + add t1, r2, #4096 | ||
78 | + ldr r0, [t1, #4] | ||
79 | + add t2, r2, #4096 | ||
80 | + ldr r1, [t2, #8] | ||
81 | + | ||
82 | + which post-reload CSE can simplify in most cases to eliminate the | ||
83 | + second add instruction: | ||
84 | + add t1, r2, #4096 | ||
85 | + ldr r0, [t1, #4] | ||
86 | + ldr r1, [t1, #8] | ||
87 | + | ||
88 | + The idea here is that we want to split out the bits of the constant | ||
89 | + as a mask, rather than as subtracting the maximum offset that the | ||
90 | + respective type of load/store used can handle. | ||
91 | + | ||
92 | + When encountering negative offsets, we can still utilize it even if | ||
93 | + the overall offset is positive; sometimes this may lead to an immediate | ||
94 | + that can be constructed with fewer instructions. | ||
95 | + For example: | ||
96 | + ldr r0, [r2, #0x3FFFFC] | ||
97 | + | ||
98 | + This is best reloaded as: | ||
99 | + add t1, r2, #0x400000 | ||
100 | + ldr r0, [t1, #-4] | ||
101 | + | ||
102 | + The trick for spotting this for a load insn with N bits of offset | ||
103 | + (i.e. bits N-1:0) is to look at bit N; if it is set, then chose a | ||
104 | + negative offset that is going to make bit N and all the bits below | ||
105 | + it become zero in the remainder part. | ||
106 | + | ||
107 | + The SIGN_MAG_LOW_ADDR_BITS macro below implements this, with respect | ||
108 | + to sign-magnitude addressing (i.e. separate +- bit, or 1's complement), | ||
109 | + used in most cases of ARM load/store instructions. */ | ||
110 | + | ||
111 | +#define SIGN_MAG_LOW_ADDR_BITS(VAL, N) \ | ||
112 | + (((VAL) & ((1 << (N)) - 1)) \ | ||
113 | + ? (((VAL) & ((1 << ((N) + 1)) - 1)) ^ (1 << (N))) - (1 << (N)) \ | ||
114 | + : 0) | ||
115 | + | ||
116 | + if (coproc_p) | ||
117 | + { | ||
118 | + low = SIGN_MAG_LOW_ADDR_BITS (val, 10); | ||
119 | + | ||
120 | + /* NEON quad-word load/stores are made of two double-word accesses, | ||
121 | + so the valid index range is reduced by 8. Treat as 9-bit range if | ||
122 | + we go over it. */ | ||
123 | + if (TARGET_NEON && VALID_NEON_QREG_MODE (mode) && low >= 1016) | ||
124 | + low = SIGN_MAG_LOW_ADDR_BITS (val, 9); | ||
125 | + } | ||
126 | + else if (GET_MODE_SIZE (mode) == 8) | ||
127 | + { | ||
128 | + if (TARGET_LDRD) | ||
129 | + low = (TARGET_THUMB2 | ||
130 | + ? SIGN_MAG_LOW_ADDR_BITS (val, 10) | ||
131 | + : SIGN_MAG_LOW_ADDR_BITS (val, 8)); | ||
132 | + else | ||
133 | + /* For pre-ARMv5TE (without ldrd), we use ldm/stm(db/da/ib) | ||
134 | + to access doublewords. The supported load/store offsets are | ||
135 | + -8, -4, and 4, which we try to produce here. */ | ||
136 | + low = ((val & 0xf) ^ 0x8) - 0x8; | ||
137 | + } | ||
138 | + else if (GET_MODE_SIZE (mode) < 8) | ||
139 | + { | ||
140 | + /* NEON element load/stores do not have an offset. */ | ||
141 | + if (TARGET_NEON_FP16 && mode == HFmode) | ||
142 | + return false; | ||
143 | + | ||
144 | + if (TARGET_THUMB2) | ||
145 | + { | ||
146 | + /* Thumb-2 has an asymmetrical index range of (-256,4096). | ||
147 | + Try the wider 12-bit range first, and re-try if the result | ||
148 | + is out of range. */ | ||
149 | + low = SIGN_MAG_LOW_ADDR_BITS (val, 12); | ||
150 | + if (low < -255) | ||
151 | + low = SIGN_MAG_LOW_ADDR_BITS (val, 8); | ||
152 | + } | ||
153 | + else | ||
154 | + { | ||
155 | + if (mode == HImode || mode == HFmode) | ||
156 | + { | ||
157 | + if (arm_arch4) | ||
158 | + low = SIGN_MAG_LOW_ADDR_BITS (val, 8); | ||
159 | + else | ||
160 | + { | ||
161 | + /* The storehi/movhi_bytes fallbacks can use only | ||
162 | + [-4094,+4094] of the full ldrb/strb index range. */ | ||
163 | + low = SIGN_MAG_LOW_ADDR_BITS (val, 12); | ||
164 | + if (low == 4095 || low == -4095) | ||
165 | + return false; | ||
166 | + } | ||
167 | + } | ||
168 | + else | ||
169 | + low = SIGN_MAG_LOW_ADDR_BITS (val, 12); | ||
170 | + } | ||
171 | + } | ||
172 | else | ||
173 | return false; | ||
174 | |||
175 | |||
176 | === modified file 'gcc/config/arm/arm.md' | ||
177 | --- old/gcc/config/arm/arm.md 2011-06-14 14:37:30 +0000 | ||
178 | +++ new/gcc/config/arm/arm.md 2011-06-27 22:14:07 +0000 | ||
179 | @@ -6267,7 +6267,7 @@ | ||
180 | [(match_operand:DF 0 "arm_reload_memory_operand" "=o") | ||
181 | (match_operand:DF 1 "s_register_operand" "r") | ||
182 | (match_operand:SI 2 "s_register_operand" "=&r")] | ||
183 | - "TARGET_32BIT" | ||
184 | + "TARGET_THUMB2" | ||
185 | " | ||
186 | { | ||
187 | enum rtx_code code = GET_CODE (XEXP (operands[0], 0)); | ||
188 | |||
diff --git a/meta-oe/recipes-devtools/gcc/gcc-4_6-branch-linaro-backports.inc b/meta-oe/recipes-devtools/gcc/gcc-4_6-branch-linaro-backports.inc index 1b4e05a02..9ed282e4d 100644 --- a/meta-oe/recipes-devtools/gcc/gcc-4_6-branch-linaro-backports.inc +++ b/meta-oe/recipes-devtools/gcc/gcc-4_6-branch-linaro-backports.inc | |||
@@ -1,7 +1,6 @@ | |||
1 | GCC-4_6-BRANCH-LINARO-BACKPORTS = " \ | 1 | GCC-4_6-BRANCH-LINARO-BACKPORTS = " \ |
2 | file://linaro/gcc-4.6-linaro-r106720.patch \ | 2 | file://linaro/gcc-4.6-linaro-r106720.patch \ |
3 | file://linaro/gcc-4.6-linaro-r106723.patch \ | 3 | file://linaro/gcc-4.6-linaro-r106723.patch \ |
4 | file://linaro/gcc-4.6-linaro-r106729.patch \ | ||
5 | file://linaro/gcc-4.6-linaro-r106733.patch \ | 4 | file://linaro/gcc-4.6-linaro-r106733.patch \ |
6 | file://linaro/gcc-4.6-linaro-r106737.patch \ | 5 | file://linaro/gcc-4.6-linaro-r106737.patch \ |
7 | file://linaro/gcc-4.6-linaro-r106738.patch \ | 6 | file://linaro/gcc-4.6-linaro-r106738.patch \ |
@@ -9,7 +8,6 @@ file://linaro/gcc-4.6-linaro-r106739.patch \ | |||
9 | file://linaro/gcc-4.6-linaro-r106740.patch \ | 8 | file://linaro/gcc-4.6-linaro-r106740.patch \ |
10 | file://linaro/gcc-4.6-linaro-r106741.patch \ | 9 | file://linaro/gcc-4.6-linaro-r106741.patch \ |
11 | file://linaro/gcc-4.6-linaro-r106742.patch \ | 10 | file://linaro/gcc-4.6-linaro-r106742.patch \ |
12 | file://linaro/gcc-4.6-linaro-r106743.patch \ | ||
13 | file://linaro/gcc-4.6-linaro-r106744.patch \ | 11 | file://linaro/gcc-4.6-linaro-r106744.patch \ |
14 | file://linaro/gcc-4.6-linaro-r106746.patch \ | 12 | file://linaro/gcc-4.6-linaro-r106746.patch \ |
15 | file://linaro/gcc-4.6-linaro-r106747.patch \ | 13 | file://linaro/gcc-4.6-linaro-r106747.patch \ |
@@ -19,7 +17,6 @@ file://linaro/gcc-4.6-linaro-r106753.patch \ | |||
19 | file://linaro/gcc-4.6-linaro-r106754.patch \ | 17 | file://linaro/gcc-4.6-linaro-r106754.patch \ |
20 | file://linaro/gcc-4.6-linaro-r106755.patch \ | 18 | file://linaro/gcc-4.6-linaro-r106755.patch \ |
21 | file://linaro/gcc-4.6-linaro-r106759.patch \ | 19 | file://linaro/gcc-4.6-linaro-r106759.patch \ |
22 | file://linaro/gcc-4.6-linaro-r106761.patch \ | ||
23 | file://linaro/gcc-4.6-linaro-r106762.patch \ | 20 | file://linaro/gcc-4.6-linaro-r106762.patch \ |
24 | file://linaro/gcc-4.6-linaro-r106763.patch \ | 21 | file://linaro/gcc-4.6-linaro-r106763.patch \ |
25 | file://linaro/gcc-4.6-linaro-r106764.patch \ | 22 | file://linaro/gcc-4.6-linaro-r106764.patch \ |