[U-Boot] [PATCH] arm: Don't use printf() in SPL builds

Sughosh Ganu urwithsughosh at gmail.com
Sat Mar 10 09:33:45 CET 2012


hi Simon,

On Sat Mar 03, 2012 at 12:33:15PM -0800, Simon Glass wrote:
> raise() likes to call printf() if it is available, but in SPL builds it
> either is not available, or adds a large chunk to the resulting image
> size.
> 
> So don't call it even if it is available.
> 
> This change reduces SPL size from 10KB to 6.3KB on hawkboard, for
> example, using generic relocation.
> 
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>  arch/arm/lib/eabi_compat.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/arm/lib/eabi_compat.c b/arch/arm/lib/eabi_compat.c
> index 2028dbd..44eebe0 100644
> --- a/arch/arm/lib/eabi_compat.c
> +++ b/arch/arm/lib/eabi_compat.c
> @@ -13,7 +13,8 @@
>  
>  int raise (int signum)
>  {
> -#if !defined(CONFIG_SPL_BUILD) || defined(CONFIG_SPL_LIBCOMMON_SUPPORT)
> +	/* Even if printf() is available, it's large. Punt it for SPL builds */
> +#if !defined(CONFIG_SPL_BUILD)
>  	printf("raise: Signal # %d caught\n", signum);
>  #endif

   I tested with this change on hawkboard, and after applying this
   change, the spl size increase is 412 bytes against the 4k increase
   that we get with libcommon changes introduced. So this patch works
   fine.

   Can you please check if libcommon support is needed for the
   cam_enc_4xx board -- your relocation patch series did not add
   CONFIG_SPL_LIBCOMMON_SUPPORT to this board. This will affect my
   patch to initialise gd and bd objects for hawkboard. Please let me
   know, and i will spin a patch accordingly.

-sughosh


More information about the U-Boot mailing list