Been getting this for a while, finally had time and resources to track it down. It was introduced by 137639:
2008-07-08 Joseph Myers <[EMAIL PROTECTED]> * reload.c (find_reloads_subreg_address): Do not require validity of address in original mode before reloading address. It worked in 137631, but the other two changes since then didn't change the cc1 binary at all. Reverting this change fixes this build failure. I've got the .i and command line, could you look into this? m32c-elf-gcc -B/sata/dj/gnu/newlib/m32c-elf/m32c-elf/newlib/ -isystem /sata/dj/gnu/newlib/m32c-elf/m32c-elf/newlib/targ-include -isystem /sata/dj/gnu/newlib/src/newlib/libc/include -B/sata/dj/gnu/newlib/m32c-elf/m32c-elf/libgloss/m32c -L/sata/dj/gnu/newlib/m32c-elf/m32c-elf/libgloss/libnosys -L/sata/dj/gnu/newlib/src/libgloss/m32c -DPACKAGE_NAME=\"newlib\" -DPACKAGE_TARNAME=\"newlib\" -DPACKAGE_VERSION=\"1.16.0\" -DPACKAGE_STRING=\"newlib\ 1.16.0\" -DPACKAGE_BUGREPORT=\"\" -I. -I/sata/dj/gnu/newlib/src/newlib/libm/math -I/sata/dj/gnu/newlib/src/newlib/libm/math/../common -Os -DPREFER_SIZE_OVER_SPEED -DABORT_PROVIDED -DSMALL_MEMORY -DMISSING_SYSCALL_NAMES -fno-builtin -g -O2 -c -o lib_a-k_rem_pio2.o `test -f 'k_rem_pio2.c' || echo '/sata/dj/gnu/newlib/src/newlib/libm/math/'`k_rem_pio2.c /sata/dj/gnu/newlib/src/newlib/libm/math/k_rem_pio2.c: In function '__kernel_rem_pio2': /sata/dj/gnu/newlib/src/newlib/libm/math/k_rem_pio2.c:318: error: unable to find a register to spill in class 'A_REGS' /sata/dj/gnu/newlib/src/newlib/libm/math/k_rem_pio2.c:318: error: this is the insn: (jump_insn 760 758 2702 10 /sata/dj/gnu/newlib/src/newlib/libm/math/k_rem_pio2.c:186 (set (pc) (if_then_else (ne (subreg:HI (reg/v:SI 727 [ j.238 ]) 0) (subreg:HI (reg:SI 1492) 0)) (label_ref:HI 2845) (pc))) 48 {cbranchhi4} (expr_list:REG_BR_PROB (const_int 7100 [0x1bbc]) (nil))) /sata/dj/gnu/newlib/src/newlib/libm/math/k_rem_pio2.c:318: internal compiler error: in spill_failure, at reload1.c:1995 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. make[5]: *** [lib_a-k_rem_pio2.o] Error 1 make[5]: Leaving directory `/sata/dj/gnu/newlib/m32c-elf/m32c-elf/newlib/libm/math'