aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorGeorg-Johann Lay <gjl@gcc.gnu.org>2014-10-22 10:40:30 +0000
committerGeorg-Johann Lay <gjl@gcc.gnu.org>2014-10-22 10:40:30 +0000
commit18a3415e239132c0273e306421147d79a7d3ae28 (patch)
tree837d2c93cac1bcce0f8f79f2912cf4abf40baadd /libgcc
parent8584f1c4910165d1ba7d5d3aa37af2834041e03e (diff)
downloadgcc-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/ChangeLog11
-rw-r--r--libgcc/config/avr/lib1funcs.S8
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__)