bugAVR C Runtime Library - Bugs: bug #37104, ATtiny5/9/10/20/40 interrupt...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #37104: ATtiny5/9/10/20/40 interrupt wrapper uses invalid register

Submitter:  Jonathan Oakley <jro_at_team>
Submitted:  Wed 15 Aug 2012 09:36:16 AM UTC
   
 
Category:  Library Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Unknown
Status:  Invalid Assigned to:  joerg_wunsch
Percent Complete:  0% Open/Closed:  Closed
Release:  1.8.0 Fixed Release:  None

Sun 16 Sep 2012 11:19:59 AM UTC, comment #4: 


> Can upstream GCC not use the [ATtiny5/9/10/20/40] patches
> Atmel provides in their toolchain releases?


Atmel never proposed such patches for GCC at gcc-patches@gcc.gnu.org, at least none I am aware of.

AFAIK Atmel's toolchain is based on the GCC 4.6 release series.
These patches are pretty much outdated and must be ported to trunk (future 4.8 or later).

Without having read the 4.6 patches, I can say that they will trigger merge conflicts in many, many place if used against GCC trunk...

Georg-Johann Lay <gjlayde>
Wed 15 Aug 2012 04:04:22 PM UTC, comment #3: 

I don't have access to the internal tracker at home, but this specific issue has been corrected in an internal build of the toolchain and should be released soon.

Joerg: can upstream GCC not use the patches Atmel provides in their toolchain releases?

Dean Camera <abcminiuser>
Wed 15 Aug 2012 09:49:55 AM UTC, comment #2: 

OK, I'll do that. Thanks for the prompt response, Joerg

Jonathan Oakley <jro_at_team>
Wed 15 Aug 2012 09:43:04 AM UTC, comment #1: 

Function prologue/epilogue generation is a matter of GCC,
not the library.

Anyway, the official GCC sources don't support ATtiny4/5/9/10
at all.  By now, this is all done in private hacks by your
toolchain vendor, so please file a bug report against your
toolchain vendor for this.

Joerg Wunsch <joerg_wunsch>
Group administrator
Wed 15 Aug 2012 09:36:16 AM UTC, original submission:  

I'm not sure if this is the fault of the library or GCC, but the wrapper/prologue+epilogue generated for interrupt service routines by ISR(vect) uses r0 and r1, which don't exist on the ATtiny5/9/10/20/40 family (they only implement r16-r31). The result is six "register not supported" errors when the intermediate assembler file is compiled.

The only workaround I can see is to use the ISR_NAKED attribute and generate the correct wrapper yourself, which is obviously pretty tedious!

Jonathan Oakley <jro_at_team>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by gjlayde (Posted a comment)
  • -email is unavailable- added by abcminiuser (Posted a comment)
  • -email is unavailable- added by joerg_wunsch (Posted a comment)
  • -email is unavailable- added by jro_at_team (Submitted the item)
  •  

    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2012-08-15 joerg_wunsch StatusNone Invalid
        Assigned toNone joerg_wunsch
        Open/ClosedOpen Closed

    Back to the top

    Powered by Savane 3.13-caa5.
    Corresponding source code