Is there a WinAVR bug report filed for this? Eric
> -----Original Message----- > From: > [email protected] > [mailto:avr-gcc-list-bounces+eweddington=cso.atmel....@nongnu. > org] On Behalf Of larry barello > Sent: Saturday, January 17, 2009 10:25 PM > To: [email protected] > Subject: RE: [avr-gcc-list] Funny business with latest WinAvr > 20081205+ xmega128A1 and stdio > > It looks like all fprintf/sprintf/etc. for the xmega is broken in this > release. No matter how I craft it the same code pattern is > repeated with > the mangling of the stack on clean-up. > > > Sigh. > > ---- > From: [email protected] > [mailto:[email protected]] On > Behalf Of > larry barello > Sent: Saturday, January 17, 2009 12:38 PM > To: [email protected] > Subject: [avr-gcc-list] Funny business with latest WinAvr 20081205 + > xmega128A1 and stdio > > I have hit this roadblock in porting over my application from > my mega128 > test bed to the xmega. As far as I can tell the compiler > completely wedges > a very simple routine (and it worked earlier, so it *must* be > something I am > doing...) > > Anyway, the code is below. The compiler fails to re-load R24 with the > proper stack value after poking the CCP register.. > > The generated code is the same -Os and -O1, I have not tried > anything else. > > > void PrintBanner(FILE *fp) > { > fprintf_P(fp, PSTR("%s\r\n"), VersionString); > } > > 75 .global PrintBanner > 77 PrintBanner: > 78 .LFB93: > 79 .LM9: > 80 .LVL6: > 81 /* prologue: function */ > 82 /* frame size = 0 */ > 83 .LM10: > 84 003a 00D0 rcall . > 85 003c 00D0 rcall . > 86 003e EDB7 in r30,__SP_L__ > 87 0040 FEB7 in r31,__SP_H__ > 88 0042 3196 adiw r30,1 > 89 0044 ADB7 in r26,__SP_L__ > 90 0046 BEB7 in r27,__SP_H__ > 91 0048 1196 adiw r26,1 > 92 004a 8D93 st X+,r24 > 93 004c 9C93 st X,r25 > 94 004e 1297 sbiw r26,1+1 > 95 0050 80E0 ldi > r24,lo8(__c.5488) > 96 0052 90E0 ldi > r25,hi8(__c.5488) > 97 .LVL7: > 98 0054 8283 std Z+2,r24 > 99 0056 9383 std Z+3,r25 > 100 0058 80E0 ldi > r24,lo8(VersionString) > 101 005a 90E0 ldi > r25,hi8(VersionString) > 102 005c 8483 std Z+4,r24 > 103 005e 9583 std Z+5,r25 > 104 0060 0E94 0000 call fprintf_P > 105 0064 8DB7 in r24,__SP_L__ > 106 0066 9EB7 in r25,__SP_H__ > 107 0068 0696 adiw r24,6 > 108 006a 082E mov __tmp_reg__,r24 > 109 006c 88ED ldi r24,0xD8 > 110 006e 84BF out __CCP__,r24 > 111 0070 9EBF out __SP_H__,r25 > 112 0072 8DBF out __SP_L__,r24 > 113 0074 802D mov r24,__tmp_reg__ > 114 /* epilogue start */ > 115 .LM11: > 116 0076 0895 ret > Internal Virus Database is out of date. > Checked by AVG - http://www.avg.com > Version: 8.0.176 / Virus Database: 270.10.7/1892 - Release > Date: 1/13/2009 > 8:04 PM > _______________________________________________ AVR-GCC-list mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/avr-gcc-list
