[Bug optimization/13819] New: sh-elf broken; abort in sh_reorg()
tm at kloo dot net
gcc-bugzilla@gcc.gnu.org
Thu Jan 22 20:58:00 GMT 2004
The build for target sh-elf fails:
/home/tm/gcc-build-sh-elf/gcc/xgcc -B/home/tm/gcc-build-sh-elf/gcc/
-B/usr/local/sh-elf/bin/ -B/usr/local/sh-elf/lib/ -isystem
/usr/local/sh-elf/include -isystem /usr/local/sh-elf/sys-include -O2 -DIN_GCC
-DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes
-Wmissing-prototypes -Wold-style-definition -isystem ./include -g
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I -I../../gcc/gcc
-I../../gcc/gcc/ -I../../gcc/gcc/../include -m4-single -DL_fixunsdfdi -c
../../gcc/gcc/libgcc2.c -o libgcc/m4-single/_fixunsdfdi.o
../../gcc/gcc/libgcc2.c: In function `__fixunsdfdi':
../../gcc/gcc/libgcc2.c:1200: internal compiler error: in sh_reorg, at
config/sh/sh.c:4100
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
make[2]: *** [libgcc/m4-single/_fixunsdfdi.o] Error 1
make[2]: Leaving directory `/home/tm/gcc-build-sh-elf/gcc'
make[1]: *** [stmp-multilib] Error 2
make[1]: Leaving directory `/home/tm/gcc-build-sh-elf/gcc'
The SH build invokes this abort:
if (GET_CODE (dst) == REG && FP_ANY_REGISTER_P (REGNO (dst)))
{
/* This must be an insn that clobbers r0. */
rtx clobber = XVECEXP (PATTERN (scan), 0,
XVECLEN (PATTERN (scan), 0) - 1);
if (GET_CODE (clobber) != CLOBBER
|| ! rtx_equal_p (XEXP (clobber, 0), r0_rtx))
abort ();
Here's the backtrace and a dump of the current insn:
Breakpoint 1, sh_reorg () at ../../gcc/gcc/config/sh/sh.c:4100
4100 abort ();
(gdb) bt
#0 sh_reorg () at ../../gcc/gcc/config/sh/sh.c:4100
#1 0x0824d0a5 in rest_of_handle_machine_reorg (decl=0x401f0dec,
insns=0x4015e140) at ../../gcc/gcc/toplev.c:2152
#2 0x0824f2c3 in rest_of_compilation (decl=0x401f0dec) at
../../gcc/gcc/toplev.c:3556
#3 0x08290771 in tree_rest_of_compilation (fndecl=0x401f0dec, nested_p=false)
at ../../gcc/gcc/tree-optimize.c:168
#4 0x08064803 in c_expand_body_1 (fndecl=0x401f0dec, nested_p=0) at
../../gcc/gcc/c-decl.c:6124
#5 0x0806499a in c_expand_body (fndecl=0x401f0dec) at
../../gcc/gcc/c-decl.c:6156
#6 0x08292505 in cgraph_expand_function (node=0x40165080) at
../../gcc/gcc/cgraphunit.c:527
#7 0x08293e20 in cgraph_expand_all_functions () at
../../gcc/gcc/cgraphunit.c:1531
#8 0x08293fc9 in cgraph_optimize () at ../../gcc/gcc/cgraphunit.c:1596
#9 0x0809ce5b in c_objc_common_finish_file () at
../../gcc/gcc/c-objc-common.c:245
#10 0x0824c90e in compile_file () at ../../gcc/gcc/toplev.c:1806
#11 0x08250b5f in do_compile () at ../../gcc/gcc/toplev.c:4628
#12 0x08250be6 in toplev_main (argc=4, argv=0xbffff934) at
../../gcc/gcc/toplev.c:4668
#13 0x4003ab5c in __libc_start_main (main=0x809ee84 <main>, argc=4,
ubp_av=0xbffff934, init=0x80493b4 <_init>, fini=0x82f8db0 <_fini>,
rtld_fini=0x4000d634 <_dl_fini>, stack_end=0xbffff92c) at
../sysdeps/generic/libc-start.c:129
(gdb) call debug_rtx(clobber)
(clobber (scratch:SI))
(gdb) call debug_rtx(scan)
(insn:TI 142 30 143 (parallel [
(set (reg:DF 66 fr2 [170])
(const_double:DF -2147483648 [0x80000000] 4.294967296e+9
[0x0.8p+33]))
(use (reg/v:PSI 151 ))
(clobber (scratch:SI))
]) 143 {movdf_i4} (insn_list:REG_DEP_ANTI 30 (insn_list:REG_DEP_OUTPUT
29 (nil)))
(expr_list:REG_UNUSED (reg:SI 0 r0)
(expr_list:REG_EQUIV (const_double:DF -2147483648 [0x80000000]
4.294967296e+9 [0x0.8p+33])
(nil))))
(gdb)
--
Summary: sh-elf broken; abort in sh_reorg()
Product: gcc
Version: 3.5.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tm at kloo dot net
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: i386-linux
GCC host triplet: i386-linux
GCC target triplet: sh-elf
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13819
More information about the Gcc-bugs
mailing list