Commit 18a3415e by Georg-Johann Lay

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
parent 8584f1c4
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> 2014-10-21 Joern Rennecke <joern.rennecke@embecosm.com>
Vidya Praveen <vidya.praveen@atmel.com> Vidya Praveen <vidya.praveen@atmel.com>
Praveen Kumar Kaushik <Praveen_Kumar.Kaushik@atmel.com> Praveen Kumar Kaushik <Praveen_Kumar.Kaushik@atmel.com>
...@@ -18,7 +23,7 @@ ...@@ -18,7 +23,7 @@
(__mulpsi3): Likewise. (__mulpsi3): Likewise.
(__muldi3, __udivmodsi4, __divmodsi4, __negsi2, __umoddi3, __udivmod64, (__muldi3, __udivmodsi4, __divmodsi4, __negsi2, __umoddi3, __udivmod64,
__moddi3, __adddi3, __adddi3_s8, __subdi3, __cmpdi2, __cmpdi2_s8, __moddi3, __adddi3, __adddi3_s8, __subdi3, __cmpdi2, __cmpdi2_s8,
__negdi2, __prologue_saves__, __epilogue_restores__): Excluded for __negdi2, __prologue_saves__, __epilogue_restores__): Excluded for
AVRTINY. AVRTINY.
(__tablejump2__): Added lpm equivalent instructions for AVRTINY. (__tablejump2__): Added lpm equivalent instructions for AVRTINY.
(__do_copy_data): Added new definition for AVRTINY. (__do_copy_data): Added new definition for AVRTINY.
...@@ -28,10 +33,10 @@ ...@@ -28,10 +33,10 @@
* config/avr/lib1funcs-fixed.S: Replaced occurrences of r0/r1 with * config/avr/lib1funcs-fixed.S: Replaced occurrences of r0/r1 with
tmp/zero reg macros. Replaced occurrences of sbiw/adiw with wsubi/wadi tmp/zero reg macros. Replaced occurrences of sbiw/adiw with wsubi/wadi
macors. macors.
* config/avr/t-avr (LIB1ASMFUNCS): Remove unsupported functions for * config/avr/t-avr (LIB1ASMFUNCS): Remove unsupported functions for
AVRTINY. AVRTINY.
Fix broken long multiplication on tiny arch. Fix broken long multiplication on tiny arch.
2014-10-09 Joseph Myers <joseph@codesourcery.com> 2014-10-09 Joseph Myers <joseph@codesourcery.com>
......
...@@ -2502,14 +2502,16 @@ DEFUN __do_global_dtors ...@@ -2502,14 +2502,16 @@ DEFUN __do_global_dtors
#endif /* HAVE_EIJMP */ #endif /* HAVE_EIJMP */
rjmp .L__do_global_dtors_start rjmp .L__do_global_dtors_start
.L__do_global_dtors_loop: .L__do_global_dtors_loop:
waddi 28, 1
#ifdef __AVR_HAVE_EIJMP_EICALL__ #ifdef __AVR_HAVE_EIJMP_EICALL__
adc r16, __zero_reg__
mov r24, r16 mov r24, r16
#endif /* HAVE_EIJMP */ #endif /* HAVE_EIJMP */
mov_h r31, r29 mov_h r31, r29
mov_l r30, r28 mov_l r30, r28
XCALL __tablejump2__ XCALL __tablejump2__
waddi 28, 1
#ifdef __AVR_HAVE_EIJMP_EICALL__
adc r16, __zero_reg__
#endif /* HAVE_EIJMP */
.L__do_global_dtors_start: .L__do_global_dtors_start:
cpi r28, pm_lo8(__dtors_end) cpi r28, pm_lo8(__dtors_end)
cpc r29, cdtors_tst_reg cpc r29, cdtors_tst_reg
...@@ -2521,6 +2523,8 @@ DEFUN __do_global_dtors ...@@ -2521,6 +2523,8 @@ DEFUN __do_global_dtors
ENDF __do_global_dtors ENDF __do_global_dtors
#endif /* L_dtors */ #endif /* L_dtors */
#undef cdtors_tst_reg
.section .text.libgcc, "ax", @progbits .section .text.libgcc, "ax", @progbits
#if !defined (__AVR_TINY__) #if !defined (__AVR_TINY__)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment