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

Simon Glass sjg at chromium.org
Thu Mar 15 04:47:43 CET 2012


Hi Sughosh,

On Sat, Mar 10, 2012 at 12:33 AM, Sughosh Ganu <urwithsughosh at gmail.com> wrote:
> 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.

OK good.

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

Yes I think this board needs both of these:

#define CONFIG_SPL_LIBCOMMON_SUPPORT
#define CONFIG_SPL_LIBGENERIC_SUPPORT

Regards,
Simon

>
> -sughosh


More information about the U-Boot mailing list