Message ID | 20200719232647.6996-2-bdm310@gmail.com |
---|---|
State | Superseded |
Delegated to: | Tom Rini |
Headers | show |
Series | Fix SPL_EARLY_BSS applying to normal build | expand |
This felt like a sparsely used feature that I found a bug in and could easily fix as a first contribution to the project. Through more testing on my end, it seems that something is not as it appeared at first glance. Switching branches to build this patch and then back to my main development branch resulted in the same strange malloc behavior that I thought I was fixing here, which only resolved after reverting this patch. I'd like to understand why SPL_CLEAR_BSS needs to be called in both SPL and u-boot, if someone better versed in what's going on here can take the time. On Sun, Jul 19, 2020 at 4:26 PM Brian Moyer <bdm310@gmail.com> 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> > --- > > arch/arm/lib/crt0.S | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/arm/lib/crt0.S b/arch/arm/lib/crt0.S > index df9dd83e40..fd6c4874f8 100644 > --- a/arch/arm/lib/crt0.S > +++ b/arch/arm/lib/crt0.S > @@ -109,7 +109,7 @@ ENTRY(_main) > mov r9, r0 > bl board_init_f_init_reserve > > -#if defined(CONFIG_SPL_EARLY_BSS) > +#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_EARLY_BSS) > SPL_CLEAR_BSS > #endif > > -- > 2.17.1 >
diff --git a/arch/arm/lib/crt0.S b/arch/arm/lib/crt0.S index df9dd83e40..fd6c4874f8 100644 --- a/arch/arm/lib/crt0.S +++ b/arch/arm/lib/crt0.S @@ -109,7 +109,7 @@ ENTRY(_main) mov r9, r0 bl board_init_f_init_reserve -#if defined(CONFIG_SPL_EARLY_BSS) +#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_EARLY_BSS) SPL_CLEAR_BSS #endif
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> --- arch/arm/lib/crt0.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)