Patchwork [bugfix,1/2] gcc-4.6.0: fix ICE with armv7 target

login
register
mail settings
Submitter Nitin A Kamble
Date May 27, 2011, 6:15 p.m.
Message ID <b883a6b6076317ebc3eb64f160c5f2df6996a95e.1306520012.git.nitin.a.kamble@intel.com>
Download mbox | patch
Permalink /patch/4913/
State New, archived
Headers show

Comments

Nitin A Kamble - May 27, 2011, 6:15 p.m.
From: Nitin A Kamble <nitin.a.kamble@intel.com>

This fixes an internal compiler error for gcc 4.6.0 for armv7

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

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-Off-by: Phil Blundell <pb@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
Khem Raj - May 27, 2011, 6:25 p.m.
On Fri, May 27, 2011 at 11:15 AM,  <nitin.a.kamble@intel.com> wrote:
> From: Nitin A Kamble <nitin.a.kamble@intel.com>
>
> This fixes an internal compiler error for gcc 4.6.0 for armv7
>
> Patch came from: Phil Blundell <pb@pbcl.net>
> Validated by Nitin
>
> Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
> Signed-Off-by: Phil Blundell <pb@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@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@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@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
Mark Hatle - May 27, 2011, 7:15 p.m.
On 5/27/11 1:25 PM, Khem Raj wrote:
> On Fri, May 27, 2011 at 11:15 AM,  <nitin.a.kamble@intel.com> wrote:
>> From: Nitin A Kamble <nitin.a.kamble@intel.com>
>>
>> This fixes an internal compiler error for gcc 4.6.0 for armv7
>>
>> Patch came from: Phil Blundell <pb@pbcl.net>
>> Validated by Nitin
>>
>> Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
>> Signed-Off-by: Phil Blundell <pb@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@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@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....

--Mark

>> + (define_insn "*arm_zero_extendhisi2addsi"
>> --
>> 1.7.3.5
>>
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>>
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Khem Raj - May 27, 2011, 7:36 p.m.
On Fri, May 27, 2011 at 12:15 PM, Mark Hatle <mark.hatle@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@intel.com> wrote:
>>> From: Nitin A Kamble <nitin.a.kamble@intel.com>
>>>
>>> This fixes an internal compiler error for gcc 4.6.0 for armv7
>>>
>>> Patch came from: Phil Blundell <pb@pbcl.net>
>>> Validated by Nitin
>>>
>>> Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
>>> Signed-Off-by: Phil Blundell <pb@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@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@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@lists.openembedded.org
>>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>>>
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
Mark Hatle - May 27, 2011, 7:41 p.m.
On 5/27/11 2:36 PM, Khem Raj wrote:
> On Fri, May 27, 2011 at 12:15 PM, Mark Hatle <mark.hatle@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@intel.com> wrote:
>>>> From: Nitin A Kamble <nitin.a.kamble@intel.com>
>>>>
>>>> This fixes an internal compiler error for gcc 4.6.0 for armv7
>>>>
>>>> Patch came from: Phil Blundell <pb@pbcl.net>
>>>> Validated by Nitin
>>>>
>>>> Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
>>>> Signed-Off-by: Phil Blundell <pb@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@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@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

Problem is the ICE will still be there.  If we put the workaround in gcc, then
the package will work with different versions of gcc (without modification), and
other packages will not experience this ICE.

(This of course is assuming the gcc workaround is reasonable and not introducing
other faults.)

--Mark

>> --Mark
>>
>>>> + (define_insn "*arm_zero_extendhisi2addsi"
>>>> --
>>>> 1.7.3.5
>>>>
>>>>
>>>> _______________________________________________
>>>> Openembedded-core mailing list
>>>> Openembedded-core@lists.openembedded.org
>>>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>>>>
>>>
>>> _______________________________________________
>>> Openembedded-core mailing list
>>> Openembedded-core@lists.openembedded.org
>>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>>
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>>
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Khem Raj - May 28, 2011, 5:28 p.m.
On 5/27/2011 12:41 PM, Mark Hatle wrote:
> On 5/27/11 2:36 PM, Khem Raj wrote:
>> On Fri, May 27, 2011 at 12:15 PM, Mark Hatle<mark.hatle@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@intel.com>  wrote:
>>>>> From: Nitin A Kamble<nitin.a.kamble@intel.com>
>>>>>
>>>>> This fixes an internal compiler error for gcc 4.6.0 for armv7
>>>>>
>>>>> Patch came from: Phil Blundell<pb@pbcl.net>
>>>>> Validated by Nitin
>>>>>
>>>>> Signed-off-by: Nitin A Kamble<nitin.a.kamble@intel.com>
>>>>> Signed-Off-by: Phil Blundell<pb@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@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@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
>
> Problem is the ICE will still be there.  If we put the workaround in gcc, then
> the package will work with different versions of gcc (without modification), and
> other packages will not experience this ICE.
>
> (This of course is assuming the gcc workaround is reasonable and not introducing
> other faults.)

we should qualify and run regression tests IMO to validate it if we 
intend patch gcc. I think fixing the given recipe is path of least impact

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@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@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"