summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorDmitry Eremin-Solenikov <dbaryshkov@gmail.com>2015-11-26 19:40:52 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-12-12 23:42:52 +0000
commit1260ded611dc130a6fa7535fbc53188a657c77af (patch)
tree302ad71eb39dfc56229d5e7072ff70f6ebeda9fb /meta
parentb4db53ae66ba36b8e134de31f49a57e842439e7f (diff)
downloadpoky-1260ded611dc130a6fa7535fbc53188a657c77af.tar.gz
gcc-5.2: import patch fixing compilation in thumb mode
Import patch fixing a bug that caused ICE when compiling some packages (e.g. ICU) in Thumb-1 model. (From OE-Core rev: 3c8ad9e008a1786ff95202f413e267756a5e783f) Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-devtools/gcc/gcc-5.2.inc1
-rw-r--r--meta/recipes-devtools/gcc/gcc-5.2/0043-fix-arm-thumb.patch39
2 files changed, 40 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-5.2.inc b/meta/recipes-devtools/gcc/gcc-5.2.inc
index a6b385ac65..e5e92e9ab2 100644
--- a/meta/recipes-devtools/gcc/gcc-5.2.inc
+++ b/meta/recipes-devtools/gcc/gcc-5.2.inc
@@ -74,6 +74,7 @@ SRC_URI = "\
74 file://0040-nativesdk-gcc-support.patch \ 74 file://0040-nativesdk-gcc-support.patch \
75 file://0041-handle-target-sysroot-multilib.patch \ 75 file://0041-handle-target-sysroot-multilib.patch \
76 file://0042-cxxflags-for-build.patch \ 76 file://0042-cxxflags-for-build.patch \
77 file://0043-fix-arm-thumb.patch \
77 " 78 "
78 79
79BACKPORTS = "" 80BACKPORTS = ""
diff --git a/meta/recipes-devtools/gcc/gcc-5.2/0043-fix-arm-thumb.patch b/meta/recipes-devtools/gcc/gcc-5.2/0043-fix-arm-thumb.patch
new file mode 100644
index 0000000000..2f262e3a3a
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-5.2/0043-fix-arm-thumb.patch
@@ -0,0 +1,39 @@
1Upstream-Status: Accepted
2
3Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
4---
5
62015-11-25 Vladimir Makarov <vmakarov@redhat.com>
7
8 PR rtl-optimization/67954
9 * lra-constraints.c (curr_insn_transform): Add check on scratch
10 pseudo when change class to NO_REGS. Add an assert.
11
12
13
14git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230894 138bc75d-0d04-0410-961f-82ee72b054a4
15---
16
17diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c
18index 4670e81..c62bf6a 100644
19--- a/gcc/lra-constraints.c
20+++ b/gcc/lra-constraints.c
21@@ -3725,7 +3725,8 @@ curr_insn_transform (bool check_only_p)
22 assigment pass and the scratch pseudo will be
23 spilled. Spilled scratch pseudos are transformed
24 back to scratches at the LRA end. */
25- && lra_former_scratch_operand_p (curr_insn, i))
26+ && lra_former_scratch_operand_p (curr_insn, i)
27+ && lra_former_scratch_p (REGNO (op)))
28 {
29 int regno = REGNO (op);
30 lra_change_class (regno, NO_REGS, " Change to", true);
31@@ -3734,6 +3735,8 @@ curr_insn_transform (bool check_only_p)
32 spilled pseudo as there is only one such insn, the
33 current one. */
34 reg_renumber[regno] = -1;
35+ lra_assert (bitmap_single_bit_set_p
36+ (&lra_reg_info[REGNO (op)].insn_bitmap));
37 }
38 /* We can do an optional reload. If the pseudo got a hard
39 reg, we might improve the code through inheritance. If