avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [avr-gcc-list] Funny business with latest WinAvr 20081205+ xmega128A


From: Weddington, Eric
Subject: RE: [avr-gcc-list] Funny business with latest WinAvr 20081205+ xmega128A1 and stdio
Date: Mon, 19 Jan 2009 00:15:38 -0700

Is there a WinAVR bug report filed for this?

Eric 

> -----Original Message-----
> From: 
> address@hidden 
> [mailto:address@hidden
> org] On Behalf Of larry barello
> Sent: Saturday, January 17, 2009 10:25 PM
> To: address@hidden
> 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: address@hidden
> [mailto:address@hidden On 
> Behalf Of
> larry barello
> Sent: Saturday, January 17, 2009 12:38 PM
> To: address@hidden
> 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
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]