diff mbox series

[v2,1/1] arm: Add SPL build check to SPL early bss clear

Message ID 20200726201753.28004-2-bdm310@gmail.com
State Accepted
Commit dfd2390dff9cd1000469c59f40afe143699088ea
Delegated to: Tom Rini
Headers show
Series Fix SPL_EARLY_BSS applying to normal build | expand

Commit Message

Brian Moyer July 26, 2020, 8:17 p.m. UTC
SPL_CLEAR_BSS is called regardless of build type if
CONFIG_SPL_EARLY_BSS is defined. Add a guard for CONFIG_SPL_BUILD
to fix.

Signed-off-by: Brian Moyer <bdm310@gmail.com>
---

Changes in v2:
- Adding a check to the first SPL_CLEAR_BSS resulted in BSS never
  getting cleared for u-boot proper. Added an or condition to the
  second call.
- SPL_CLEAR_BSS is the only bss clearing operation. Renamed to
  just CLEAR_BSS for clarity.

 arch/arm/lib/crt0.S | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

Comments

Tom Rini Aug. 5, 2020, 8:28 p.m. UTC | #1
On Sun, Jul 26, 2020 at 01:17:53PM -0700, Brian Moyer wrote:

> SPL_CLEAR_BSS is called regardless of build type if
> CONFIG_SPL_EARLY_BSS is defined. Add a guard for CONFIG_SPL_BUILD
> to fix.
> 
> Signed-off-by: Brian Moyer <bdm310@gmail.com>

Applied to u-boot/master, thanks!
diff mbox series

Patch

diff --git a/arch/arm/lib/crt0.S b/arch/arm/lib/crt0.S
index df9dd83e40..46b6be21a8 100644
--- a/arch/arm/lib/crt0.S
+++ b/arch/arm/lib/crt0.S
@@ -64,7 +64,7 @@ 
  * can afford it due to sufficient memory being available early.
  */
 
-.macro SPL_CLEAR_BSS
+.macro CLEAR_BSS
 	ldr	r0, =__bss_start	/* this is auto-relocated! */
 
 #ifdef CONFIG_USE_ARCH_MEMSET
@@ -109,8 +109,8 @@  ENTRY(_main)
 	mov	r9, r0
 	bl	board_init_f_init_reserve
 
-#if defined(CONFIG_SPL_EARLY_BSS)
-	SPL_CLEAR_BSS
+#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_EARLY_BSS)
+	CLEAR_BSS
 #endif
 
 	mov	r0, #0
@@ -150,8 +150,8 @@  here:
 #endif
 #if !defined(CONFIG_SPL_BUILD) || CONFIG_IS_ENABLED(FRAMEWORK)
 
-#if !defined(CONFIG_SPL_EARLY_BSS)
-	SPL_CLEAR_BSS
+#if !defined(CONFIG_SPL_BUILD) || !defined(CONFIG_SPL_EARLY_BSS)
+	CLEAR_BSS
 #endif
 
 # ifdef CONFIG_SPL_BUILD