diff options
author | Georg-Johann Lay <gjl@gcc.gnu.org> | 2014-10-22 10:40:30 +0000 |
---|---|---|
committer | Georg-Johann Lay <gjl@gcc.gnu.org> | 2014-10-22 10:40:30 +0000 |
commit | 18a3415e239132c0273e306421147d79a7d3ae28 (patch) | |
tree | 837d2c93cac1bcce0f8f79f2912cf4abf40baadd /libgcc | |
parent | 8584f1c4910165d1ba7d5d3aa37af2834041e03e (diff) | |
download | gcc-18a3415e239132c0273e306421147d79a7d3ae28.zip gcc-18a3415e239132c0273e306421147d79a7d3ae28.tar.gz gcc-18a3415e239132c0273e306421147d79a7d3ae28.tar.bz2 |
lib1funcs.S (__do_global_dtors): Fix wrong code introduced with 2014-10-21 trunk r216525.
* config/avr/lib1funcs.S (__do_global_dtors): Fix wrong code
introduced with 2014-10-21 trunk r216525.
From-SVN: r216550
Diffstat (limited to 'libgcc')
-rw-r--r-- | libgcc/ChangeLog | 11 | ||||
-rw-r--r-- | libgcc/config/avr/lib1funcs.S | 8 |
2 files changed, 14 insertions, 5 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index a87aa33..b5ddae6 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,8 @@ +2014-10-22 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/lib1funcs.S (__do_global_dtors): Fix wrong code + introduced with 2014-10-21 trunk r216525. + 2014-10-21 Joern Rennecke <joern.rennecke@embecosm.com> Vidya Praveen <vidya.praveen@atmel.com> Praveen Kumar Kaushik <Praveen_Kumar.Kaushik@atmel.com> @@ -18,7 +23,7 @@ (__mulpsi3): Likewise. (__muldi3, __udivmodsi4, __divmodsi4, __negsi2, __umoddi3, __udivmod64, __moddi3, __adddi3, __adddi3_s8, __subdi3, __cmpdi2, __cmpdi2_s8, - __negdi2, __prologue_saves__, __epilogue_restores__): Excluded for + __negdi2, __prologue_saves__, __epilogue_restores__): Excluded for AVRTINY. (__tablejump2__): Added lpm equivalent instructions for AVRTINY. (__do_copy_data): Added new definition for AVRTINY. @@ -28,10 +33,10 @@ * config/avr/lib1funcs-fixed.S: Replaced occurrences of r0/r1 with tmp/zero reg macros. Replaced occurrences of sbiw/adiw with wsubi/wadi macors. - * config/avr/t-avr (LIB1ASMFUNCS): Remove unsupported functions for + * config/avr/t-avr (LIB1ASMFUNCS): Remove unsupported functions for AVRTINY. - Fix broken long multiplication on tiny arch. + Fix broken long multiplication on tiny arch. 2014-10-09 Joseph Myers <joseph@codesourcery.com> diff --git a/libgcc/config/avr/lib1funcs.S b/libgcc/config/avr/lib1funcs.S index 0205d83..51cdbf1 100644 --- a/libgcc/config/avr/lib1funcs.S +++ b/libgcc/config/avr/lib1funcs.S @@ -2502,14 +2502,16 @@ DEFUN __do_global_dtors #endif /* HAVE_EIJMP */ rjmp .L__do_global_dtors_start .L__do_global_dtors_loop: - waddi 28, 1 #ifdef __AVR_HAVE_EIJMP_EICALL__ - adc r16, __zero_reg__ mov r24, r16 #endif /* HAVE_EIJMP */ mov_h r31, r29 mov_l r30, r28 XCALL __tablejump2__ + waddi 28, 1 +#ifdef __AVR_HAVE_EIJMP_EICALL__ + adc r16, __zero_reg__ +#endif /* HAVE_EIJMP */ .L__do_global_dtors_start: cpi r28, pm_lo8(__dtors_end) cpc r29, cdtors_tst_reg @@ -2521,6 +2523,8 @@ DEFUN __do_global_dtors ENDF __do_global_dtors #endif /* L_dtors */ +#undef cdtors_tst_reg + .section .text.libgcc, "ax", @progbits #if !defined (__AVR_TINY__) |