[En-Nut-Discussion] WinAVR-20070101_install

Curtis Maloney cmaloney at cardgate.net
Mon Jan 8 23:15:26 CET 2007


Ernst Stippl wrote:
> Hi!
> 
> I downloaded WinAVR-20070101_install.exe, installed it and tried to compile
> Ethernut 4.2.1. 
> gcc choked on compiling 'UsartIOCtl':

<snip/>

> ../.././nut/dev/usart.c: In function 'UsartIOCtl':
> ../.././nut/dev/usart.c:844: error: unable to find a register to spill in
> class 'BASE_POINTER_REGS'
> ../.././nut/dev/usart.c:844: error: this is the insn:
> (insn 663 162 163 14 (set (mem/c:HI (plus:HI (reg/f:HI 28 r28)
>                 (const_int 1 [0x1])) [29 S2 A8])
>         (reg:HI 24 r24)) 12 {*movhi} (nil)
>     (nil))
> ../.././nut/dev/usart.c:844: confused by earlier errors, bailing out
> make[1]: *** [usart.o] Error 1
> make: *** [install] Error 2 
> 
> Has anybody used WinAVR 4.1.1 gcc successfully?
> 

I've seen this myself, using most any gcc 4.x.  If you switch from -Os to -O2 
this will compile.  Unfortunately, there's on 'trivial' way to change the 
compile switches for one file.

I've built Nut/OS with -O2, and it's worked quite well (not even a significant 
growth in size that I could notice).

--
Curtis Maloney
cmaloney at cardgate.net



More information about the En-Nut-Discussion mailing list