This bug was hidden at the time of its introduction by PR41031. With revision 150725 plus the patch at <http://gcc.gnu.org/ml/gcc-patches/2009-08/msg00615.html> a build was successful with reasonable test-results. >From revision 150726 plus the same patch a build failed as follows. The build failure was fully exposed (no local patches needed) from revision 150702 and on (when the equivalent patch was committed):
/tmp/hpautotest-gcc1/cris-elf/gccobj/./gcc/xgcc -B/tmp/hpautotest-gcc1/cris-elf/gccobj/./gcc/ -nostdinc -B/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/v32/newlib/ -isystem /tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/v32/newlib/targ-include -isystem /tmp/hpautotest-gcc1/gcc/newlib/libc/include -B/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/v32/libgloss/cris -L/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/v32/libgloss/libnosys -L/tmp/hpautotest-gcc1/gcc/libgloss/cris -B/tmp/hpautotest-gcc1/cris-elf/pre/cris-elf/bin/ -B/tmp/hpautotest-gcc1/cris-elf/pre/cris-elf/lib/ -isystem /tmp/hpautotest-gcc1/cris-elf/pre/cris-elf/include -isystem /tmp/hpautotest-gcc1/cris-elf/pre/cris-elf/sys-include -march=v32 -mbest-lib-options -DPACKAGE_NAME=\"newlib\" -DPACKAGE_TARNAME=\"newlib\" -DPACKAGE_VERSION=\"1.17.0\" -DPACKAGE_STRING=\"newlib\ 1.17.0\" -DPACKAGE_BUGREPORT=\"\" -I. -I/tmp/hpautotest-gcc1/gcc/newlib/libc/search -O2 -DHAVE_RENAME -D_USE_WRITE -DCOMPACT_CTYPE -fno-builtin -g -O2 -march=v32 -mbest-lib-options -c -o lib_a-hash_bigkey.o `test -f 'hash_bigkey.c' || echo '/tmp/hpautotest-gcc1/gcc/newlib/libc/search/'`hash_bigkey.c /tmp/hpautotest-gcc1/gcc/newlib/libc/search/hash_bigkey.c: In function '__big_insert': /tmp/hpautotest-gcc1/gcc/newlib/libc/search/hash_bigkey.c:175:1: error: unrecognizable insn: (insn 22 392 25 2 /tmp/hpautotest-gcc1/gcc/newlib/libc/search/hash_bigkey.c:105 (set (reg/v/f:SI 8 r8 [orig:41 val_data ] [41]) (mem/s/f:SI (post_inc:SI (reg:SI 15 acr)) [15 val_30(D)->data+0 S4 A8])) -1 (expr_list:REG_INC (reg:SI 15 acr) (nil))) /tmp/hpautotest-gcc1/gcc/newlib/libc/search/hash_bigkey.c:175:1: internal compiler error: in extract_insn, at recog.c:2089 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. make[8]: *** [lib_a-hash_bigkey.o] Error 1 make[8]: Leaving directory `/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/v32/newlib/libc/search' Author of patch CC:ed. The invalidity is the post_inc on R15, a register which cannot be post-incremented. A brief look with gdb reveals the immediate cause of the ICE is the extract_insn call in the context of the change of revision 150726. Applying it to a non-recognizable insn, a no-no. I don't quite understand why this didn't also happen before revision 150726 as the same call was there then too, but I'll have another look. Preprocessed code to be attached. -- Summary: [4.5 Regression]: build breakage for cris-elf building newlib, ICE in extract_insn, from r150726 Product: gcc Version: 4.5.0 Status: UNCONFIRMED Keywords: ice-on-valid-code, build Severity: normal Priority: P3 Component: rtl-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hp at gcc dot gnu dot org GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: cris-axis-elf http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41064