Hi, when I configure gcc for the avr target, then the build stops with an internal error: make[4]: Entering directory `/local/gnu/build/gcc-trunk-avr/avr/avr25/libgcc' # If this is the top-level multilib, build all the other # multilibs. /home/georg/gnu/build/gcc-trunk-avr/./gcc/xgcc -B/home/georg/gnu/build/gcc-trunk-avr/./gcc/ -B/local/gnu/install/gcc-4.8/avr/bin/ -B/local/gnu/install/gcc-4.8/avr/lib/ -isystem /local/gnu/install/gcc-4.8/avr/include -isystem /local/gnu/install/gcc-4.8/avr/sys-include -g -Os -mmcu=avr25 -O2 -g -Os -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -DDF=SF -Dinhibit_libc -mcall-prologues -Os -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -Dinhibit_libc -DDF=SF -Dinhibit_libc -mcall-prologues -Os -I. -I. -I../../.././gcc -I../../../../../gcc.gnu.org/trunk/libgcc -I../../../../../gcc.gnu.org/trunk/libgcc/. -I../../../../../gcc.gnu.org/trunk/libgcc/../gcc -I../../../../../gcc.gnu.org/trunk/libgcc/../include -DHAVE_CC_TLS -DUSE_EMUTLS -o _mulsc3.o -MT _mulsc3.o -MD -MP -MF _mulsc3.dep -DL_mulsc3 -c ../../../../../gcc.gnu.org/trunk/libgcc/libgcc2.c ../../../../../gcc.gnu.org/trunk/libgcc/libgcc2.c: In function '__mulsc3': ../../../../../gcc.gnu.org/trunk/libgcc/libgcc2.c:1929:1: internal compiler error: RTL check: expected code 'reg', have 'debug_expr' in rhs_regno, at rtl.h:1096 } ^ Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. make[4]: *** [_mulsc3.o] Error 1 make[4]: Leaving directory `/local/gnu/build/gcc-trunk-avr/avr/avr25/libgcc' make[3]: *** [multi-do] Error 1 make[3]: Leaving directory `/local/gnu/build/gcc-trunk-avr/avr/libgcc' make[2]: *** [all-multi] Error 2 make[2]: Leaving directory `/local/gnu/build/gcc-trunk-avr/avr/libgcc' make[1]: *** [all-target-libgcc] Error 2 make[1]: Leaving directory `/local/gnu/build/gcc-trunk-avr' make: *** [all] Error 2 gcc is from today's trunk and was configured with ../../gcc.gnu.org/trunk/configure --target=avr --prefix=/local/gnu/install/gcc-4.8 --disable-nls --with-dwarf2 --enable-checking=yes,rtl --enable-languages=c,c++ --enable-target-optspace=yes Something goes wrong in df-problems.c:dead_debug_insert_temp (insn 328 886 866 37 (set (reg:SF 16 r16) (unspec:SF [ (reg:SF 16 r16) (reg/v:SF 4 r4 [orig:162 b ] [162]) ] UNSPEC_COPYSIGN)) libgcc2-mulsc3.c:1307 322 {copysignsf3} (expr_list:REG_DEAD (reg/v:SF 4 r4 [orig:162 b ] [162]) (expr_list:REG_DEAD (reg/v:SF 4 r4 [orig:162 b ] [162]) (expr_list:REG_EQUAL (unspec:SF [ (const_double:SF 0 [0] 0.0 [0x0.0p+0]) (reg/v:SF 4 r4 [orig:162 b ] [162]) ] UNSPEC_COPYSIGN) (nil))))) There is this code that sets reg from NULL to garbage (debug_expr:SF D#2) /* Move all uses of uregno from debug->head to uses, setting mode to the widest referenced mode. */ while ((cur = *tailp)) { if (DF_REF_REGNO (cur->use) == uregno) { *usesp = cur; usesp = &cur->next; *tailp = cur->next; cur->next = NULL; if (!reg || (GET_MODE_BITSIZE (GET_MODE (reg)) < GET_MODE_BITSIZE (GET_MODE (*DF_REF_REAL_LOC (cur->use))))) reg = *DF_REF_REAL_LOC (cur->use); Would be great if an expert could help out of this. Johann