[OE-core] [bugfix 1/2] gcc-4.6.0: fix ICE with armv7 target

nitin.a.kamble at intel.com nitin.a.kamble at intel.com
Fri May 27 18:15:59 UTC 2011


From: Nitin A Kamble <nitin.a.kamble at intel.com>

This fixes an internal compiler error for gcc 4.6.0 for armv7

Patch came from: Phil Blundell <pb at pbcl.net>
Validated by Nitin

Signed-off-by: Nitin A Kamble <nitin.a.kamble at intel.com>
Signed-Off-by: Phil Blundell <pb at pbcl.net>
---
 meta/recipes-devtools/gcc/gcc-4.6.0.inc            |    3 +-
 .../gcc/gcc-4.6.0/ICE_fix_for_arm.patch            |   44 ++++++++++++++++++++
 2 files changed, 46 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.6.0/ICE_fix_for_arm.patch

diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0.inc b/meta/recipes-devtools/gcc/gcc-4.6.0.inc
index fb5c70d..4407eca 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.0.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0.inc
@@ -7,7 +7,7 @@ require gcc-common.inc
 
 require gcc-4_6-branch-backports.inc
 
-PR = "r2"
+PR = "r3"
 
 DEPENDS =+ "mpfr gmp libmpc"
 NATIVEDEPS = "mpfr-native gmp-native gettext-native libmpc-native"
@@ -53,6 +53,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
 	   file://gcc-poison-parameters.patch \
 	   file://GPLUSPLUS_INCLUDE_DIR_with_sysroot.patch \
 	   file://COLLECT_GCC_OPTIONS.patch \
+	   file://ICE_fix_for_arm.patch \
 	  "
 SRC_URI_append_sh3  = " file://sh3-installfix-fixheaders.patch;patch=1 "
 
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/ICE_fix_for_arm.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/ICE_fix_for_arm.patch
new file mode 100644
index 0000000..037a180
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/ICE_fix_for_arm.patch
@@ -0,0 +1,44 @@
+Upstream-Status: Pending
+
+Patch came from: Phil Blundell <pb at pbcl.net>
+Validated by Nitin
+This fixes the following internal compiler error of gcc 4.6.0 on for armv7-a
+related gcc bugzilla: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47719
+
+
+| arm-poky-linux-gnueabi-gcc -march=armv7-a -mtune=cortex-a8 -mfpu=neon
+-mfloat-abi=softfp -fno-tree-vectorize
+--sysroot=/srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/sysroots/beagleboard
+-c -I. -I../../../../src/gallium/include -I../../../../src/gallium/auxiliary
+-I../../../../src/gallium/drivers
+-I../../../../src/gallium/drivers/svga/include -O2 -pipe -g
+-feliminate-unused-debug-types -Wall -Wmissing-prototypes -std=c99 -ffast-math
+-fvisibility=hidden -fno-strict-aliasing -fPIC -D_GNU_SOURCE -DPTHREADS
+-DHAVE_POSIX_MEMALIGN -DUSE_XSHM -std=gnu99 -fvisibility=hidden -DHAVE_STDINT_H
+-DHAVE_SYS_TYPES_H svga_resource_buffer_upload.c -o
+svga_resource_buffer_upload.o
+| svga_tgsi_insn.c: In function 'svga_shader_emit_instructions':
+| svga_tgsi_insn.c:2969:1: internal compiler error: in push_minipool_fix, at
+config/arm/arm.c:12084
+| Please submit a full bug report,
+| with preprocessed source if appropriate.
+| See <http://gcc.gnu.org/bugs.html> for instructions.
+| make[4]: *** [svga_tgsi_insn.o] Error 1
+
+Nitin A Kamble <nitin.a.kamble at intel.com> 2011/05/27
+
+Index: gcc-4.6.0/gcc/config/arm/arm.md
+===================================================================
+--- gcc-4.6.0.orig/gcc/config/arm/arm.md
++++ gcc-4.6.0/gcc/config/arm/arm.md
+@@ -4213,7 +4213,9 @@
+    uxth%?\\t%0, %1
+    ldr%(h%)\\t%0, %1"
+   [(set_attr "type" "alu_shift,load_byte")
+-   (set_attr "predicable" "yes")]
++   (set_attr "predicable" "yes")
++   (set_attr "pool_range" "*,256")
++   (set_attr "neg_pool_range" "*,244")]
+ )
+ 
+ (define_insn "*arm_zero_extendhisi2addsi"
-- 
1.7.3.5





More information about the Openembedded-core mailing list