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

Khem Raj raj.khem at gmail.com
Fri May 27 19:36:57 UTC 2011


On Fri, May 27, 2011 at 12:15 PM, Mark Hatle <mark.hatle at windriver.com> wrote:
> On 5/27/11 1:25 PM, Khem Raj wrote:
>> 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
>>
>
> based on that link, I'd say there are two cases that are needed for a proper
> workaround.
>
> Then likely we wait until upstream has a fix....

working around package is better than working around gcc IMHO
>
> --Mark
>
>>> + (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
>>>
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core at lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
>
> _______________________________________________
> 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