aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Oberritter <obi@opendreambox.org>2014-03-05 01:42:54 +0100
committerAndreas Oberritter <obi@opendreambox.org>2014-03-05 01:42:54 +0100
commitf36e3de748e5410d0f31c57b3000a7f3edf929c3 (patch)
tree0ddea49071b2da2448f1ab3391bbe083c28663ba
parent72de2e37bfb9a13e5975e38633a28825af251d7c (diff)
downloadopenembedded-core-contrib-f36e3de748e5410d0f31c57b3000a7f3edf929c3.tar.gz
gcc-4.6: apply patch for gcc bug 54638
Fixes segfault when compiled with gcc 4.8. Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.inc3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6/bug54638.patch23
2 files changed, 25 insertions, 1 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.inc b/meta/recipes-devtools/gcc/gcc-4.6.inc
index e13db43677..9036c22e59 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.6.inc
@@ -1,6 +1,6 @@
require gcc-common.inc
-PR = "r28"
+PR = "r29"
# Third digit in PV should be incremented after a minor release
# happens from this branch on gcc e.g. currently its 4.6.0
@@ -75,6 +75,7 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH};proto=http \
file://fortran-cross-compile-hack.patch \
file://cpp-honour-sysroot.patch \
file://disable-texinfo-5.patch \
+ file://bug54638.patch \
"
SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch "
diff --git a/meta/recipes-devtools/gcc/gcc-4.6/bug54638.patch b/meta/recipes-devtools/gcc/gcc-4.6/bug54638.patch
new file mode 100644
index 0000000000..46d6d08624
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6/bug54638.patch
@@ -0,0 +1,23 @@
+Upstream-Status: Backport
+
+http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54638
+http://gcc.gnu.org/viewcvs/gcc/branches/gcc-4_6-branch/gcc/ira-int.h?view=patch&r1=191606&r2=191605&pathrev=191606
+
+--- gcc-4_6-branch/gcc/ira-int.h 2012/09/21 10:08:35 191605
++++ gcc-4_6-branch/gcc/ira-int.h 2012/09/21 10:09:04 191606
+@@ -1123,8 +1123,13 @@
+ ira_allocno_object_iter_cond (ira_allocno_object_iterator *i, ira_allocno_t a,
+ ira_object_t *o)
+ {
+- *o = ALLOCNO_OBJECT (a, i->n);
+- return i->n++ < ALLOCNO_NUM_OBJECTS (a);
++ int n = i->n++;
++ if (n < ALLOCNO_NUM_OBJECTS (a))
++ {
++ *o = ALLOCNO_OBJECT (a, n);
++ return true;
++ }
++ return false;
+ }
+
+ /* Loop over all objects associated with allocno A. In each