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

Brian Moyer bdm310 at gmail.com
Sun Jul 26 22:17:53 CEST 2020


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 at 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(-)

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
-- 
2.17.1



More information about the U-Boot mailing list