summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2014-05-14 10:28:09 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2014-05-14 14:46:20 +0200
commit249eaf9991ef6d1d6f36223fee5cd3c12803ebdd (patch)
tree1a1751a3b72f0b64f78e8773795a69aeaf756fe8
parentbsps/sparc: Fix data copy in start procedure (diff)
downloadrtems-249eaf9991ef6d1d6f36223fee5cd3c12803ebdd.tar.bz2
bsps/sparc: Fix BSS initialization
Use __bss_start available via %g2 to clear the BSS section. The usage of _edata resulted in a copy of [_edata, __bss_start) from ROM to RAM and then a clear to zero of this area. Clear now only [__bss_start, _end).
-rw-r--r--c/src/lib/libbsp/sparc/shared/start/start.S2
1 files changed, 0 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/sparc/shared/start/start.S b/c/src/lib/libbsp/sparc/shared/start/start.S
index a1b3ff086b..65dd559376 100644
--- a/c/src/lib/libbsp/sparc/shared/start/start.S
+++ b/c/src/lib/libbsp/sparc/shared/start/start.S
@@ -344,8 +344,6 @@ copy_data:
/* clear the bss */
1:
- sethi %hi(_edata),%g2
- or %g2,%lo(_edata),%g2 ! g2 = start of bss
sethi %hi(_end),%g3
or %g3,%lo(_end),%g3 ! g3 = end of bss
mov %g0,%g1 ! so std has two zeros