Package: gcc-4.0 Version: 4.0.0-12 Severity: important Compiling tin 1.7.10+20050727 on m68k fails.
gcc -DHAVE_CONFIG_H -I. -I../include -I/usr/include -DLOCALEDIR=\"/usr/share/locale\" -I../include -DUSE_CANLOCK -D_GNU_SOURCE -g -O2 -c ./save.c ./save.c: In function 'uudecode_line': ./save.c:1053: error: unable to find a register to spill in class 'ADDR_REGS' ./save.c:1053: error: this is the insn: (insn 22 21 23 0 ./save.c:1031 (set (reg/v:SI 12 %a4 [orig:40 n.152 ] [40]) (plus:SI (subreg:SI (mem:QI (reg/v/f:SI 10 %a2 [orig:46 buf ] [46]) [0 S1 A8]) 0) (const_int 32 [0x20]))) 95 {*addsi3_internal} (insn_list:REG_DEP_TRUE 13 (nil)) (nil)) ./save.c:1053: confused by earlier errors, bailing out make: *** [save.o] Error 1 How to reproduce: $ apt-get unpack tin $ ./debian/rules configure $ cd build-tree/tin-1.7.10/src/ $ make save.o Using -O1 fixes it, and if I move uudecode_line() alone to a new file I cannot reproduce the bug (so I cannot provide a simple test case). I do not think that this function has changed in the last few years, so it's probably a gcc 4.0 regression. -- ciao, Marco
signature.asc
Description: Digital signature