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

Khem Raj raj.khem at gmail.com
Fri May 27 18:25:08 UTC 2011


On Fri, May 27, 2011 at 11:15 AM,  <nitin.a.kamble at intel.com> wrote:
> 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")]
> + )
> +

FWIW a patch which is similar to this was rejected here.
http://gcc.gnu.org/ml/gcc-patches/2011-02/msg01731.html


> + (define_insn "*arm_zero_extendhisi2addsi"
> --
> 1.7.3.5
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>




More information about the Openembedded-core mailing list