On 4 December 2016 at 18:52, Andre Przywara <andre.przyw...@arm.com> wrote:
> tiny-printf does not know about the "l" modifier so far, which breaks
> the crash dump on AArch64, because it uses %lx to print the registers.
> Add an easy way of handling longs correctly. Also there are printfs
> using the '-' modifier, which we choose to ignore for simplicity.
>
> Using a relatively decent compiler (GCC 5.3.0) this does _not_ increase
> the code size of tiny-printf.o for 32-bit builds (where long and int
> are actually the same), actually it looses three (ARM Thumb2) instructions
> from the actual SPL (numbers for orangepi_plus_defconfig):
>   text    data     bss     dec     hex filename
>    758       0       0     758     2f6 spl/lib/tiny-printf.o    before
>  18839     488     232   19559    4c67 spl/u-boot-spl           before
>    758       0       0     758     2f6 spl/lib/tiny-printf.o    after
>  18833     488     232   19553    4c61 spl/u-boot-spl           after
>
> This adds some substantial amount of code to a 64-bit build, though:
> (taken after a later commit, which enables the ARM64 SPL build for sunxi)
>   text    data     bss     dec     hex filename
>   1542       0       0    1542     606 spl/lib/tiny-printf.o    before
>  25830     392     360   26582    67d6 spl/u-boot-spl           before
>   1758       0       0    1758     6de spl/lib/tiny-printf.o    after
>  26040     392     360   26792    68a8 spl/u-boot-spl           after
>
> Signed-off-by: Andre Przywara <andre.przyw...@arm.com>
> ---
>  lib/tiny-printf.c | 50 +++++++++++++++++++++++++++++++++++++++-----------
>  1 file changed, 39 insertions(+), 11 deletions(-)

Reviewed-by: Simon Glass <s...@chromium.org>
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to