aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephane Carrez <Stephane.Carrez@worldnet.fr>2002-04-09 20:53:50 +0200
committerStephane Carrez <ciceron@gcc.gnu.org>2002-04-09 20:53:50 +0200
commite8766a39731cfa919099d8d1111f7a1203349d9f (patch)
tree468b707c00ad38e1c6a81e9a3044b71bb0b027e3
parent42aacdfbb8e0f82db83a16facd6662836b648733 (diff)
downloadgcc-e8766a39731cfa919099d8d1111f7a1203349d9f.zip
gcc-e8766a39731cfa919099d8d1111f7a1203349d9f.tar.gz
gcc-e8766a39731cfa919099d8d1111f7a1203349d9f.tar.bz2
larith.asm (__map_data_section): Fix condition and optimize for size.
* config/m68hc11/larith.asm (__map_data_section): Fix condition and optimize for size. (__do_global_ctors): Fix pointer comparison. (__do_global_dtors): Likewise. From-SVN: r52086
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/m68hc11/larith.asm19
2 files changed, 20 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c8dbbaf..cecfe5c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2002-04-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * config/m68hc11/larith.asm (__map_data_section): Fix condition
+ and optimize for size.
+ (__do_global_ctors): Fix pointer comparison.
+ (__do_global_dtors): Likewise.
+
2002-04-09 David S. Miller <davem@redhat.com>
* config/sparc/sparc.c (sparc_extra_constraint_check): New
diff --git a/gcc/config/m68hc11/larith.asm b/gcc/config/m68hc11/larith.asm
index 94e1596..2a0727b 100644
--- a/gcc/config/m68hc11/larith.asm
+++ b/gcc/config/m68hc11/larith.asm
@@ -1083,23 +1083,30 @@ A_low_B_low:
.sect .install2,"ax",@progbits
.globl __map_data_section
.globl __data_image
+#ifdef mc68hc12
.globl __data_section_size
+#endif
__map_data_section:
- ldd #__data_section_size
- beq Done
+#ifdef mc68hc12
ldx #__data_image
ldy #__data_section_start
+ ldd #__data_section_size
+ beq Done
Loop:
-#ifdef mc68hc12
movb 1,x+,1,y+
dbne d,Loop
#else
+ ldx #__data_image
+ ldy #__data_section_start
+ bra Start_map
+Loop:
ldaa 0,x
staa 0,y
inx
iny
+Start_map:
cpx #__data_image_end
- blt Loop
+ blo Loop
#endif
Done:
@@ -1139,7 +1146,7 @@ __do_global_ctors:
ldx #__CTOR_END__-2
ctors_loop:
cpx #__CTOR_LIST__
- blt ctors_done
+ blo ctors_done
pshx
ldx 0,x
jsr 0,x
@@ -1165,7 +1172,7 @@ __do_global_dtors:
ldx #__DTOR_LIST__
dtors_loop:
cpx #__DTOR_END__
- bge dtors_done
+ bhs dtors_done
pshx
ldx 0,x
jsr 0,x