Bug 43726

Summary: [4.5/4.6 Regression] lm32-rtems* ICE
Product: gcc Reporter: Ralf Corsepius <corsepiu>
Component: targetAssignee: Not yet assigned to anyone <unassigned>
Status: RESOLVED FIXED    
Severity: normal CC: gcc-bugs, joel.sherrill, lekernel, philpem
Priority: P4 Keywords: ice-on-valid-code
Version: 4.5.0   
Target Milestone: 4.5.3   
Host: Target: lm32-rtems*
Build: Known to work: 4.4.3
Known to fail: 4.5.0 Last reconfirmed:
Attachments: *.i of the source file triggering the ICE
Possible fix for bug

Description Ralf Corsepius 2010-04-12 11:48:15 UTC
gcc-4.5.0-RC-20100406 triggers an ICE while building RTEMS:
...
lm32-rtems4.11-gcc --pipe -DHAVE_CONFIG_H   -I.. -I../../cpukit/../../../lm32_evr/lib/include -DNO_SSI -DNO_SSL -DNO_CGI   -O0 -g -Wall -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -MT l
../../../../../../c/src/../../cpukit/mghttpd/mongoose.c: In function 'handle_request_body':
../../../../../../c/src/../../cpukit/mghttpd/mongoose.c:3132:1: error: unrecognizable insn:
(insn 333 332 334 47 ../../../../../../c/src/../../cpukit/mghttpd/mongoose.c:3122 (set (reg:SI 157)
        (subreg:SI (mem/c/i:DI (plus:SI (reg/f:SI 33 virtual-stack-vars)
                    (const_int -8 [0xfffffffffffffff8])) [0 content_len+0 S8 A64]) 4)) -1 (nil))
../../../../../../c/src/../../cpukit/mghttpd/mongoose.c:3132:1: internal compiler error: in extract_insn, at recog.c:2103
Please submit a full bug report,

A gcc-4.4.3 based lm32-rtems*-gcc succeed in building the identical sources without any complaint => regression
Comment 1 Ralf Corsepius 2010-04-12 11:52:23 UTC
Created attachment 20363 [details]
*.i of the source file triggering the ICE
Comment 2 Joel Sherrill 2010-04-12 12:11:34 UTC
Did you have patches to get past http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43527 or has it just gone away?
Comment 3 Ralf Corsepius 2010-04-12 12:31:00 UTC
(In reply to comment #2)
> Did you have patches to get past
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43527 or has it just gone away?
Neither. 

This breakdown is with the rtems-4.11-lm32-rtems4.11-gcc rpm, 
i.e. it is built from the gcc-4.5.0-RC-20100406 candidate tarball.

Also, unlike what you write in 
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43527#c1
(compiles at -O0, doesn't compile at -O1), this breakdown is with -O0.

Comment 4 Ralf Corsepius 2010-04-15 03:31:20 UTC
For the record: Bug is also present in gcc-4.5.0 (final).
Comment 5 Jon Beniston 2010-05-25 23:51:42 UTC
This is the same as 43805. Looks like it can be fixed by removing GO_IF_MODE_DEPENDENT_ADDRESS from lm32.h. I'll submit a patch shotly.
Comment 6 Jon Beniston 2010-05-26 09:15:58 UTC
Created attachment 20747 [details]
Possible fix for bug
Comment 7 jbeniston@gcc.gnu.org 2010-05-27 15:06:21 UTC
Subject: Bug 43726

Author: jbeniston
Date: Thu May 27 15:05:48 2010
New Revision: 159922

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=159922
Log:
PR 43726 * config/lm32/lm32.h: Remove definition of GO_IF_MODE_DEPENDENT_ADDRESS.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/lm32/lm32.h

Comment 8 Ralf Corsepius 2010-05-27 15:15:03 UTC
FWIW: I added your patch to the RTEMS lm32-gcc-4.5.0 toolchains.

With this patch applied, the ICE during building RTEMS, I had experienced does not occur anymore. Compiling RTEMS at -O2 also seems to work.

Comment 9 jbeniston@gcc.gnu.org 2010-05-27 15:45:31 UTC
Subject: Bug 43726

Author: jbeniston
Date: Thu May 27 15:45:11 2010
New Revision: 159926

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=159926
Log:
2010-05-27  Jon Beniston <jon@beniston.com>

	PR 43726
	* config/lm32/lm32.h: Remove definition of
	GO_IF_MODE_DEPENDENT_ADDRESS. Update copyright year.

Modified:
    branches/gcc-4_5-branch/gcc/ChangeLog
    branches/gcc-4_5-branch/gcc/config/lm32/lm32.h

Comment 10 Richard Biener 2010-07-31 09:29:46 UTC
GCC 4.5.1 is being released, adjusting target milestone.
Comment 11 Richard Biener 2010-12-16 13:03:36 UTC
GCC 4.5.2 is being released, adjusting target milestone.
Comment 12 Sebastien Bourdeauducq 2011-02-01 19:05:57 UTC
*** Bug 43805 has been marked as a duplicate of this bug. ***
Comment 13 Sebastien Bourdeauducq 2011-02-01 19:08:49 UTC
Works with 4.5.2