[oe-commits] Khem Raj : gcc: Backport patch from trunk to fix ICE seen on armv7 with mesa-xlib

git at git.openembedded.org git at git.openembedded.org
Tue Dec 6 14:42:33 UTC 2011


Module: openembedded-core.git
Branch: master
Commit: 048c31c4e19d1bb060c79011cb25dfeff51c3ef1
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=048c31c4e19d1bb060c79011cb25dfeff51c3ef1

Author: Khem Raj <raj.khem at gmail.com>
Date:   Mon Dec  5 21:21:21 2011 -0800

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 <raj.khem at gmail.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 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(-)

diff --git a/meta/conf/distro/include/tcmode-default.inc b/meta/conf/distro/include/tcmode-default.inc
index 997400c..5bb253e 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 7cd0850..18e0536 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 = "r18"
+PR = "r19"
 
 # 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 0000000..04dabaf
--- /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 at linaro.org>
+
+ 	gcc/
+ 	Backport from mainline:
+ 
+	2011-08-18  Richard Sandiford  <richard.sandiford at 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));
+





More information about the Openembedded-commits mailing list