[Top][All Lists]

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

Re: [avr-libc-dev] [bug #29774] prologue/epilogue stack pointer manipul

From: Bob Paddock
Subject: Re: [avr-libc-dev] [bug #29774] prologue/epilogue stack pointer manipulation not interrupt safe in XMega
Date: Mon, 7 Jun 2010 14:18:27 -0400

On Mon, Jun 7, 2010 at 12:50 PM, Weddington, Eric
<address@hidden> wrote:

> No I don't think it was ever reported. At least I don't remember ever seeing 
> anything come across.

I'll file if no one else is going to.  On the assumption these
messages are a sufficient report,
as I've not yet seen a problem in my code, and I don't want to wait
until I do.  So I do not have a real test case to submit.

The more interrupts that are enabled, and the more frequently that
they occur will make this problem show up.

Murphy usually wins when we play the probabilities of it not happening.

In the interim I just patched my relevant libgcc.a .

This problem is also in __prologue_saves__:

0000817a <__prologue_saves__>:
    817a:       2f 92           push    r2
    817c:       3f 92           push    r3
    817e:       4f 92           push    r4
    8180:       5f 92           push    r5
    8182:       6f 92           push    r6
    8184:       7f 92           push    r7
    8186:       8f 92           push    r8
    8188:       9f 92           push    r9
    818a:       af 92           push    r10
    818c:       bf 92           push    r11
    818e:       cf 92           push    r12
    8190:       df 92           push    r13
    8192:       ef 92           push    r14
    8194:       ff 92           push    r15
    8196:       0f 93           push    r16
    8198:       1f 93           push    r17
    819a:       cf 93           push    r28
    819c:       df 93           push    r29
    819e:       cd b7           in      r28, 0x3d       ; 61
    81a0:       de b7           in      r29, 0x3e       ; 62
    81a2:       ca 1b           sub     r28, r26
    81a4:       db 0b           sbc     r29, r27
    81a6:       0f b6           in      r0, 0x3f        ; 63
    81a8:       f8 94           cli
    81aa:       de bf           out     0x3e, r29       ; 62
    81ac:       0f be           out     0x3f, r0        ; 63
    81ae:       cd bf           out     0x3d, r28       ; 61
    81b0:       19 94           eijmp

reply via email to

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