From 249eaf9991ef6d1d6f36223fee5cd3c12803ebdd Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 14 May 2014 10:28:09 +0200 Subject: 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). --- c/src/lib/libbsp/sparc/shared/start/start.S | 2 -- 1 file changed, 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 -- cgit v1.2.3