[U-Boot] CFG_64BIT_xxx and friends
Haavard Skinnemoen
haavard.skinnemoen at atmel.com
Mon Sep 8 13:54:21 CEST 2008
Matthias Fuchs <matthias.fuchs at esd-electronics.com> wrote:
> Here is the U-Boot size for the PLU405 board (405EP-based) with
> and without
>
> #define CFG_64BIT_VSPRINTF
> #define CFG_64BIT_STRTOUL
> .
>
> without:
> # ppc_4xx-size u-boot
> text data bss dec hex filename
> 289568 17532 301312 608412 9489c u-boot
>
> with 64bit format handling:
> # ppc_4xx-size u-boot
> text data bss dec hex filename
> 291368 17532 301312 610212 94fa4 u-boot
>
> So the difference is 1800 bytes on this architecture.
Thanks.
That's a bit more than expected. Is this with or without --gc-sections?
Linking with --gc-sections should make simple_strtoull() go away unless
it's actually used.
Another thing that might hurt is that lib_generic/vsprintf.c reinvents
do_div() without the out-of-line __div_64_32() bit. Converting it to
use do_div() from include/div64.h should help.
In fact, enabling CFG_64BIT_VSPRINTF unconditionally without fixing
this first will probably break all architectures that don't link with
libgcc.
Haavard
More information about the U-Boot
mailing list