From 96718054547fb9a87b0782b682e13f18a3b9d0b2 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Mon, 5 Dec 2011 21:09:48 -0800 Subject: gcc: Backport patch from trunk to fix ICE seen on armv7 with mesa-xlib This patch is a backport of http://patchwork.ozlabs.org/patch/110517/ Signed-off-by: Khem Raj --- meta/conf/distro/include/tcmode-default.inc | 4 --- meta/recipes-devtools/gcc/gcc-4.6.inc | 3 +- .../gcc/gcc-4.6/gcc-arm-set-cost.patch | 34 ++++++++++++++++++++++ 3 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 meta/recipes-devtools/gcc/gcc-4.6/gcc-arm-set-cost.patch 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 + + gcc/ + Backport from mainline: + + 2011-08-18 Richard Sandiford + + * 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)); + -- cgit 1.2.3-korg