diff options
author | Andre Przywara <andre.przywara@arm.com> | 2017-01-02 11:48:28 +0000 |
---|---|---|
committer | Jagan Teki <jagan@openedev.com> | 2017-01-04 16:37:40 +0100 |
commit | a28e1d98310e62dc88947b91d17105b58de01889 (patch) | |
tree | d5e21ff49840359140b9d1f661e6c391b4348746 /lib/lz4.c | |
parent | aa9226f0edba6a07c59e2645533e5cf625096cc9 (diff) | |
download | u-boot-a28e1d98310e62dc88947b91d17105b58de01889.tar.gz |
SPL: tiny-printf: add "l" modifier
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.
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.przywara@arm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jagan Teki <jagan@openedev.com>
Diffstat (limited to 'lib/lz4.c')
0 files changed, 0 insertions, 0 deletions