aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2011-12-05 21:09:48 -0800
committerKhem Raj <raj.khem@gmail.com>2011-12-05 21:09:48 -0800
commit96718054547fb9a87b0782b682e13f18a3b9d0b2 (patch)
treefc6d00067fc73a49af498d23f033d9a46e58ff95
parenteb2ba07928df06460ad8d27bb7ccf3a881ed0f4a (diff)
downloadopenembedded-core-contrib-kraj/gcc-graphite.tar.gz
gcc: Backport patch from trunk to fix ICE seen on armv7 with mesa-xlibkraj/gcc-graphite
This patch is a backport of http://patchwork.ozlabs.org/patch/110517/ Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--meta/conf/distro/include/tcmode-default.inc4
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.inc3
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6/gcc-arm-set-cost.patch34
3 files changed, 36 insertions, 5 deletions
diff --git a/meta/conf/distro/include/tcmode-default.inc b/meta/conf/distro/include/tcmode-default.inc
index 997400c376..5bb253e9ce 100644
--- a/meta/conf/distro/include/tcmode-default.inc
+++ b/meta/conf/distro/include/tcmode-default.inc
@@ -23,10 +23,6 @@ EGLIBCVERSION ?= "2.13"
UCLIBCVERSION ?= "0.9.32"
LINUXLIBCVERSION ?= "3.1"
-# Temporary workaround for gcc 4.6.0 ICE with beagleboard
-# gcc bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47719
-TARGET_CC_ARCH_arm_pn-mesa-xlib := "${@'${TARGET_CC_ARCH}'.replace('armv7-a','armv5')}"
-
PREFERRED_VERSION_gcc ?= "${GCCVERSION}"
PREFERRED_VERSION_gcc-cross ?= "${GCCVERSION}"
PREFERRED_VERSION_gcc-cross-initial ?= "${GCCVERSION}"
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.inc b/meta/recipes-devtools/gcc/gcc-4.6.inc
index bc655fe5e9..c163a46ad4 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 = "r19"
+PR = "r20"
# Third digit in PV should be incremented after a minor release
# happens from this branch on gcc e.g. currently its 4.6.0
@@ -72,6 +72,7 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH};proto=http \
file://pr46934.patch \
file://pr32219.patch \
file://pr47551.patch \
+ file://gcc-arm-set-cost.patch \
"
SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch "
diff --git a/meta/recipes-devtools/gcc/gcc-4.6/gcc-arm-set-cost.patch b/meta/recipes-devtools/gcc/gcc-4.6/gcc-arm-set-cost.patch
new file mode 100644
index 0000000000..04dabaf604
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6/gcc-arm-set-cost.patch
@@ -0,0 +1,34 @@
+2011-08-18 Richard Sandiford <richard.sandiford@linaro.org>
+
+ gcc/
+ Backport from mainline:
+
+ 2011-08-18 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * config/arm/arm.c (arm_rtx_costs_1): Don't modify the costs of SET.
+ (arm_size_rtx_costs): Likewise.
+
+=== modified file 'gcc/config/arm/arm.c'
+--- old/gcc/config/arm/arm.c 2011-08-12 08:08:31 +0000
++++ new/gcc/config/arm/arm.c 2011-08-18 13:53:37 +0000
+@@ -7464,6 +7464,9 @@
+ *total = COSTS_N_INSNS (4);
+ return true;
+
++ case SET:
++ return false;
++
+ default:
+ *total = COSTS_N_INSNS (4);
+ return false;
+@@ -7811,6 +7814,9 @@
+ *total = COSTS_N_INSNS (1) + 1;
+ return true;
+
++ case SET:
++ return false;
++
+ default:
+ if (mode != VOIDmode)
+ *total = COSTS_N_INSNS (ARM_NUM_REGS (mode));
+