|
From: | E. Weddington |
Subject: | [avr-libc-dev] Re: gcc's avr implementation does not appear to be interrupt safe! |
Date: | Wed, 19 Jan 2005 11:46:33 -0700 |
User-agent: | Mozilla Thunderbird 0.7.3 (Windows/20040803) |
Paul Schlie wrote:
And that's why when somebody is writing assembler routines to interface with C routines they have to be aware of the ABI, which is described in a FAQ entry in the avr-libc user manual:Well, good thing I didn't, as it is safe iff the interrupt routine prolog/epilogue is generated by GCC, as it does properly recognize that r1 may not be 0 at the point of interruption then pushes, clears, and then subsequently pops r1; so it's only assembly routines which were not declared to gcc as being so that would experience problems. (sorry for the false alarm, noticed the problem in interrupt routines which were not declared as such to gcc.)
<http://www.nongnu.org/avr-libc/user-manual/FAQ.html#faq_reg_usage>
From: Paul Schlie <address@hidden> Date: Wed, 19 Jan 2005 13:16:52 -0500 To: "E. Weddington" <address@hidden> Cc: Joerg Wunsch <address@hidden> Subject: Re: gcc's avr implementation does not appear to be interrupt safe! Eric, the reason I posted it to only you two, was that it's likely a sensitive observation; where I thought you might want to have a chance to confirm or correct the observation prior to it being more broadly stated that gcc for avr including winavr is inherently unsafe to use in many circumstances.From: "E. Weddington" <address@hidden> And next time please post to a mailing list, preferrably avr-libc-dev (which I've CC'd) where the GCC maintainers (or at least one of them) is listening in. Eric
[Prev in Thread] | Current Thread | [Next in Thread] |