aboutsummaryrefslogtreecommitdiff
path: root/libgcc/config/avr
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/config/avr
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/config/avr')
-rw-r--r--libgcc/config/avr/lib1funcs.S8
1 files changed, 6 insertions, 2 deletions
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__)