[PATCH 2/2] bsps/sparc: Fix BSS initialization

Sebastian Huber sebastian.huber at embedded-brains.de
Wed May 14 08:57:03 UTC 2014


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).
---
 c/src/lib/libbsp/sparc/shared/start/start.S |    2 --
 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 a1b3ff0..65dd559 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
-- 
1.7.7




More information about the devel mailing list