Backport from 2011-10-21 4.6-branch 180303.
PR target/50820
* config/avr/libgcc.S (__EIND__): New define to 0x3C.
(__tablejump__): Consistently use EIND for indirect jump/call.
(__tablejump_elpm__): Ditto.
From-SVN: r187059
+2012-05-02 Georg-Johann Lay <avr@gjlay.de>
+
+ Backport from 2011-10-21 4.6-branch 180303.
+
+ PR target/50820
+ * config/avr/libgcc.S (__EIND__): New define to 0x3C.
+ (__tablejump__): Consistently use EIND for indirect jump/call.
+ (__tablejump_elpm__): Ditto.
+
2012-05-02 Georg-Johann Lay <avr@gjlay.de>
Backport from 2011-05-30 4.6-branch r174427.
#define __SP_H__ 0x3e
#define __SP_L__ 0x3d
#define __RAMPZ__ 0x3B
+#define __EIND__ 0x3C
/* Most of the functions here are called directly from avr.md
patterns, instead of using the standard libcall mechanisms.
lpm
push r0
#if defined (__AVR_HAVE_EIJMP_EICALL__)
- push __zero_reg__
+ in __tmp_reg__, __EIND__
+ push __tmp_reg__
#endif
ret
#endif
elpm
push r0
#if defined (__AVR_HAVE_EIJMP_EICALL__)
- push __zero_reg__
+ in __tmp_reg__, __EIND__
+ push __tmp_reg__
#endif
ret
#endif