Bug 14576 - [3.4/3.5? Regression] ICE in libiberty when building gcc-3.4 for arm-elf
|
Bug#:
14576
|
Product: gcc
|
Version: 3.4.0
|
|
Host: i686-linux-pc-gnu
|
Target: arm-elf
|
Build:
|
|
Status: RESOLVED
|
Severity: normal
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: unassigned@gcc.gnu.org
|
Reported By: rob@cobbleware.com
|
|
Component: target
|
Target Milestone: 3.4.1
|
|
Summary: [3.4/3.5? Regression] ICE in libiberty when building gcc-3.4 for arm-elf
|
|
Keywords: ice-on-valid-code
|
|
Opened: 2004-03-15 09:52
|
Please forgive me if this is a dup of 14166, 14302, 14558, or anything else. I
don't think it is...
When building a cross-compiler with gcc-3.4 snapshots (I only have 20040303
and 20040310), there is an ICE when compiling at -O3. The ICE does not occur
at -O2, nor does it happen in gcc-3.3.3 release.
I have a symlink to the newlib (1.12.0) directory in the gcc source base
directory. "build" directory is also in the gcc source base directory. Build
compiler is gcc-3.3.3.
Command line is:
CFLAGS="-O3 -pipe" ../configure --prefix=/usr --target=arm-elf
--enable-languages=c,c++ --with-newlib --disable-multilib --with-gnu-ld
--with-gnu-as && make
Relevant output is:
/home/rfbrown/build/gcc-3.4-20040310/build/gcc/xgcc
-B/home/rfbrown/build/gcc-3.4-20040310/build/gcc/ -nostdinc
-B/home/rfbrown/build/gcc-3.4-20040310/build/arm-elf/newlib/
-isystem /home/rfbrown/build/gcc-3.4-20040310/build/arm-elf/newlib/targ-include
-isystem /home/rfbrown/build/gcc-3.4-20040310/newlib/libc/include
-B/usr/arm-elf/bin/ -B/usr/arm-elf/lib/ -isystem /usr/arm-elf/include
-isystem /usr/arm-elf/sys-include -c -DHAVE_CONFIG_H -O2 -O3 -pipe -I.
-I../../../libiberty/../include -W -Wall -Wtraditional
-pedantic ../../../libiberty/cp-demangle.c -o cp-demangle.o
../../../libiberty/cp-demangle.c: In function `d_print_comp':
../../../libiberty/cp-demangle.c:3438: error: insn does not satisfy its
constraints:
(insn:HI 4207 13052 13051 279 ../../../libiberty/cp-demangle.c:3191 (set
(mem/s:SI (post_modify:SI (reg:SI 1 r1)
(plus:SI (reg:SI 1 r1)
(const_int 16 [0x10]))) [55 <variable>.next+0 S4 A32])
(reg:SI 2 r2)) 125 {*arm_movsi_insn} (insn_list:REG_DEP_ANTI 4160
(insn_list:REG_DEP_ANTI 4155 (insn_list:REG_DEP_OUTPUT 4199
(insn_list:REG_DEP_ANTI 4198 (nil)))))
(expr_list:REG_DEAD (reg:SI 2 r2)
(expr_list:REG_INC (reg:SI 1 r1)
(nil))))
../../../libiberty/cp-demangle.c:3438: internal compiler error: in
copyprop_hardreg_forward_1, at regrename.c:1549
Please submit a full bug report,
with preprocessed source if appropriate.
Attachment is preprocessed source for just the d_print_comp function, let me
know if you want the whole file.
linux binutils here is 2.14.90.0.8 (from sources.redhat.com). arm-elf binutils
is 2.14 (vanilla gnu).
I think this is a regression from 3.3.2.
(In reply to comment #2)
> I think this is a regression from 3.3.2.
Hmmm, it doesn't happen in 3.3.3, but I guess that doesn't mean anything much.
I'll bow to your superior knowledge!
I see this is targetted for 3.4.1, which is fine, so I won't spam this bug but
I'll just mention that it is still present in the gcc-3.4-20040324 snapshot.
Umm... The source attached here isn't preprocessed. Could you please attach the
.i file generated when
you compile with -save-temps? Thanks.
Well, this is just typical: just tried it with gcc-3.4-20040502 and the problem
is gone! I've tried it with several tweaks to the build switches, and can't get
it to fail with any of them.
Ah well, a good result nonetheless. Would you still like the preprocessed
sources?
Not at this point, thanks. Next time (hopefully there won't be one) it'd be
good though, since we like to
add testcases to the testsuite so things that are fixed aren't accidentally
broken again.
Glad that things are fixed in any case!