printf as currently implemented in u-boot has a problem where it can overflow an internal buffer if it prints an expanded string that's too long. Our command lines are long enough to cause this problem. A fix should be coming, but in the mean time this change replaces a problematic printf with a few calls to puts that have the same effect. This may perform slightly better because it should avoid a copy and scanning for format specifiers. The amount of time it actually takes up is very tiny relative to everything else so in practice that's probably irrelevant.
Signed-off-by: Gabe Black <gabebl...@chromium.org> --- arch/x86/lib/zimage.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/arch/x86/lib/zimage.c b/arch/x86/lib/zimage.c index d2dd6fd..a48ae6c 100644 --- a/arch/x86/lib/zimage.c +++ b/arch/x86/lib/zimage.c @@ -78,7 +78,9 @@ static void build_command_line(char *command_line, int auto_boot) } - printf("Kernel command line: \"%s\"\n", command_line); + puts("Kernel command line: \""); + puts(command_line); + puts("\"\n"); } void *load_zimage(char *image, unsigned long kernel_size, -- 1.7.3.1 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot