All of lore.kernel.org
 help / color / mirror / Atom feed
From: Khem Raj <raj.khem@gmail.com>
To: openembedded-core@lists.openembedded.org
Subject: Re: [bugfix 1/2] gcc-4.6.0: fix ICE with armv7 target
Date: Sat, 28 May 2011 10:28:40 -0700	[thread overview]
Message-ID: <4DE130C8.3090207@gmail.com> (raw)
In-Reply-To: <4DDFFE6B.6030902@windriver.com>

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



  reply	other threads:[~2011-05-28 17:31 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-27 18:15 [bugfix 0/2] internal compiler fix for gcc 4.6.0 nitin.a.kamble
2011-05-27 18:15 ` [bugfix 1/2] gcc-4.6.0: fix ICE with armv7 target nitin.a.kamble
2011-05-27 18:25   ` Khem Raj
2011-05-27 19:15     ` Mark Hatle
2011-05-27 19:36       ` Khem Raj
2011-05-27 19:41         ` Mark Hatle
2011-05-28 17:28           ` Khem Raj [this message]
2011-05-27 18:16 ` [bugfix 2/2] Revert "tcmode-default: workaround for gcc 4.6.0 failure on beagleboard" nitin.a.kamble

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4DE130C8.3090207@gmail.com \
    --to=raj.khem@gmail.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.