avr-libc-dev
[Top][All Lists]
Advanced

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

[avr-libc-dev] Re: gcc's avr implementation does not appear to be interr


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:

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.)

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:
<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








reply via email to

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