summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Müller-Klieser <s.mueller-klieser@phytec.de>2015-04-21 08:23:47 (GMT)
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-01-15 13:14:34 (GMT)
commit152e4c11e6e25d02bba8348b4314b2530314fdf3 (patch)
tree05788742b1e2b88c05346476dc3718ea1a4e5f28
parent2924348da7f7e1a912a17896dbd0a9d531d5273b (diff)
downloadpoky-152e4c11e6e25d02bba8348b4314b2530314fdf3.tar.gz
gcc-4.9: backport from gcc trunk r212178
When compiling meta-toolchain-qt5 on cortexa8, the compiler throws an internal compiler error: ... qttools-opensource-src-5.3.2/src/linguist/shared/po.cpp: In function 'bool loadPO(Translator&, QIODevice&, ConversionData&)': qttools-opensource-src-5.3.2/src/linguist/shared/po.cpp:717:1: internal compiler error: in add_stores, at var-tracking.c:6000 ... Tracking this down led to https://bugs.linaro.org/show_bug.cgi?id=534 It seems the bug is well know and fixed upstream. So backporting from trunk seems to be the right solution. This fixes the compiler problem on cortexa8 and does not seem to be very invasive. The original commit can be found at: git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212178 138bc75d-0d04-0410-961f-82ee72b054a4 (From OE-Core master rev: 6751ef78694783fb86e55c77afefae750ab1b610) (From OE-Core rev: 91a001fc74dd13ea9e5249aa624ad360ce807349) Signed-off-by: Stefan Müller-Klieser <s.mueller-klieser@phytec.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.9.inc1
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.9/0062-gcc-var-tracking.c-backport-from-gcc-trunk-r212178.patch39
2 files changed, 40 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.9.inc b/meta/recipes-devtools/gcc/gcc-4.9.inc
index 3af87d1..ee31f0b 100644
--- a/meta/recipes-devtools/gcc/gcc-4.9.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.9.inc
@@ -77,6 +77,7 @@ SRC_URI = "\
77 file://0059-gcc-PR-rtl-optimization-63348.patch \ 77 file://0059-gcc-PR-rtl-optimization-63348.patch \
78 file://0060-Only-allow-e500-double-in-SPE_SIMD_REGNO_P-registers.patch \ 78 file://0060-Only-allow-e500-double-in-SPE_SIMD_REGNO_P-registers.patch \
79 file://0061-target-gcc-includedir.patch \ 79 file://0061-target-gcc-includedir.patch \
80 file://0062-gcc-var-tracking.c-backport-from-gcc-trunk-r212178.patch \
80" 81"
81SRC_URI[md5sum] = "4df8ee253b7f3863ad0b86359cd39c43" 82SRC_URI[md5sum] = "4df8ee253b7f3863ad0b86359cd39c43"
82SRC_URI[sha256sum] = "2020c98295856aa13fda0f2f3a4794490757fc24bcca918d52cc8b4917b972dd" 83SRC_URI[sha256sum] = "2020c98295856aa13fda0f2f3a4794490757fc24bcca918d52cc8b4917b972dd"
diff --git a/meta/recipes-devtools/gcc/gcc-4.9/0062-gcc-var-tracking.c-backport-from-gcc-trunk-r212178.patch b/meta/recipes-devtools/gcc/gcc-4.9/0062-gcc-var-tracking.c-backport-from-gcc-trunk-r212178.patch
new file mode 100644
index 0000000..c0ea62f
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.9/0062-gcc-var-tracking.c-backport-from-gcc-trunk-r212178.patch
@@ -0,0 +1,39 @@
1From b30ffb8097749fdb55704aa7d8307ca1a58255d6 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Stefan=20M=C3=BCller-Klieser?= <s.mueller-klieser@phytec.de>
3Date: Tue, 7 Apr 2015 16:15:11 +0200
4Subject: [PATCH] gcc/var-tracking.c: backport from gcc trunk r212178
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9resolves a bug seen on cortexa8 building qt5 libraries.
10
112014-06-30 Joseph Myers <joseph@codesourcery.com>
12
13 * var-tracking.c (add_stores): Return instead of asserting if old
14 and new values for conditional store are the same.
15
16git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212178 138bc75d-0d04-0410-961f-82ee72b054a4
17
18Signed-off-by: Stefan Müller-Klieser <s.mueller-klieser@phytec.de>
19---
20 gcc/var-tracking.c | 3 ++-
21 1 file changed, 2 insertions(+), 1 deletion(-)
22
23diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c
24index 65d8285..7c38910 100644
25--- a/gcc/var-tracking.c
26+++ b/gcc/var-tracking.c
27@@ -5997,7 +5997,8 @@ add_stores (rtx loc, const_rtx expr, void *cuip)
28 {
29 cselib_val *oval = cselib_lookup (oloc, GET_MODE (oloc), 0, VOIDmode);
30
31- gcc_assert (oval != v);
32+ if (oval == v)
33+ return;
34 gcc_assert (REG_P (oloc) || MEM_P (oloc));
35
36 if (oval && !cselib_preserved_value_p (oval))
37--
381.9.1
39