------- Comment #13 from eric dot weddington at atmel dot com 2010-08-22 13:26
-------
(In reply to comment #12)
> See http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&p=736616
> This is (IMO) a bug in the __do_global_ctors in gcc/config/avr/libgcc.S
> When support for 24-bit flash pointers was added in edit
> http://gcc.gnu.org/viewcvs?view=revision&revision=143306
> R20 was used to hold the extra 8 bits of address. But R20 is NOT preserved by
> called functions according to the AVR C calling conventions, and indeed the
> class initialization code ends up using R20 if there are sufficient fields to
> initialize. The attached patch uses R15 instead, and appears to work, but I'm
> not sure of the implications...
>
> I tried to change the summary, but of course it won't let me. I think this is
> a more serious problem than the initial problem indicates...
>
Duplicate of bug #45263.
Closing this one as a dup, as the test case in bug #45263 is simpler.
*** This bug has been marked as a duplicate of 45263 ***
--
eric dot weddington at atmel dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |eric dot weddington at atmel
| |dot com
Status|WAITING |RESOLVED
Resolution| |DUPLICATE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44617