http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49847
Summary: m68k gcj-4.6 NULL deref in fold_rtx (prev_insn_cc0 == NULL) Product: gcc Version: 4.6.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: java AssignedTo: unassig...@gcc.gnu.org ReportedBy: t...@mirbsd.org Forwarding from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=633754 Trying to bootstrap gcj-4.6 on Debian/m68k (gcj-4.4 and gcc-4.6 work fine). Reproducible ICE trying to build the runtime library, after bootstrapping passed: /bin/bash ./libtool --tag=GCJ --mode=compile /tmp/buildd/gcj-4.6-4.6.1/build/./gcc/gcj -B/tmp/buildd/gcj-4.6-4.6.1/build/m68k-linux-gnu/m68040/libjava/ -B/tmp/buildd/gcj-4.6-4.6.1/build/m68k-linux-gnu/m68040/libjava/ -B/tmp/buildd/gcj-4.6-4.6.1/build/./gcc/ -B/usr/m68k-linux-gnu/bin/ -B/usr/m68k-linux-gnu/lib/ -isystem /usr/m68k-linux-gnu/include -isystem /usr/m68k-linux-gnu/sys-include -m68040 -fclasspath= -fbootclasspath=../../../../src/libjava/classpath/lib --encoding=UTF-8 -Wno-deprecated -fbootstrap-classes -g -O2 -m68040 -c -o java/util.lo -fsource-filename=/tmp/buildd/gcj-4.6-4.6.1/build/m68k-linux-gnu/m68040/libjava/classpath/lib/classes -MT java/util.lo -MD -MP -MF java/util.deps @java/util.list /tmp/buildd/gcj-4.6-4.6.1/src/libjava/classpath/java/util/Random.java:427:0: internal compiler error: Segmentation fault This is still a cc0 architecture, as the problem is: Program received signal SIGSEGV, Segmentation fault. equiv_constant (x=0x0) at ../../src/gcc/cse.c:3812 3812 if (REG_P (x) (gdb) bt #0 equiv_constant (x=0x0) at ../../src/gcc/cse.c:3812 #1 0x804b0542 in fold_rtx (x=0xc83cb5f4, insn=0xc83cc1c0) at ../../src/gcc/cse.c:3274 #2 0x804b05fe in fold_rtx (x=0xc83c4f30, insn=0xc83cc1c0) at ../../src/gcc/cse.c:3279 #3 0x804b35ec in cse_insn (insn=0xc83cc1c0) at ../../src/gcc/cse.c:4511 […] (gdb) frame 1 #1 0x804b0542 in fold_rtx (x=0xc83cb5f4, insn=0xc83cc1c0) at ../../src/gcc/cse.c:3274 3274 const_arg = equiv_constant (folded_arg); (gdb) list 3269 3270 #ifdef HAVE_cc0 3271 case CC0: 3272 folded_arg = prev_insn_cc0; 3273 mode_arg = prev_insn_cc0_mode; 3274 const_arg = equiv_constant (folded_arg); 3275 break; 3276 #endif 3277 3278 default: (gdb) print folded_arg $1 = (rtx) 0x0 (gdb) print prev_insn_cc0 $2 = (rtx) 0x0 (gdb) print prev_insn_cc0_mode $3 = VOIDmode More information in the linked bug report.