Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2015-10-21 04:37:06 +0300
committerDJ Delorie <dj@redhat.com>2015-10-21 04:37:06 +0300
commit9e8f75612433be5719b029e8175b2100d97df1db (patch)
tree60fb60280954c8c15508a92687ba3c9c92612d87 /libgloss
parent67364cbfd92058a32e11331702255e8bec835e37 (diff)
* rl78/crt0.S (_start): Fixed code that clears .bss
Diffstat (limited to 'libgloss')
-rw-r--r--libgloss/ChangeLog4
-rw-r--r--libgloss/rl78/crt0.S22
2 files changed, 16 insertions, 10 deletions
diff --git a/libgloss/ChangeLog b/libgloss/ChangeLog
index be11a3c48..d372c6977 100644
--- a/libgloss/ChangeLog
+++ b/libgloss/ChangeLog
@@ -1,3 +1,7 @@
+2015-10-20 Kaushik Phatak <kaushik.phatak@kpit.com>
+
+ * rl78/crt0.S (_start): Fixed code that clears .bss
+
2015-10-06 Nick Clifton <nickc@redhat.com>
* msp430/msp430-sim.ld: Add .persistent section.
diff --git a/libgloss/rl78/crt0.S b/libgloss/rl78/crt0.S
index fbba093a3..649178c46 100644
--- a/libgloss/rl78/crt0.S
+++ b/libgloss/rl78/crt0.S
@@ -176,16 +176,18 @@ _start:
;; block fill to .bss
- movw bc, #__bsssize
- movw ax, #0
-1:
- cmpw ax, bc
- bz $1f
- movw __bssstart[bc], ax
- decw bc
- decw bc
- br $1b
-1:
+ movw bc, #__bsssize
+ movw ax, #0
+ cmpw ax, bc
+ bz $_bss_zero_done
+1:
+ decw bc
+ decw bc
+ movw __bssstart[bc], ax
+ cmpw ax, bc
+ bnz $1b
+
+_bss_zero_done:
call !!__rl78_init