util/vgabios: Don't call redefined printk in printk

A few pieces of coreboot code (like the video bios emulator) are
imported from other code bases, and hence might call printf. In
order to see the output, we redefine printf to printk. However,
when we are re-importing this code in a userspace utility, we might
call printk instead of printf if we're not careful.
A good fix for this would be to not call printf in coreboot ever.
As a short term fix to keep testbios from segfaulting, we just
don't call printf from printk, so we don't cause our own stack to
overflow.

Change-Id: I789075422dd8c5f8069d576fa7baf4176f6caf55
Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Reviewed-on: https://review.coreboot.org/20658
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Martin Roth <martinroth@google.com>
This commit is contained in:
Stefan Reinauer 2017-07-20 00:53:53 +02:00 committed by Martin Roth
parent 3876f24221
commit e2804c14a4
1 changed files with 4 additions and 1 deletions

View File

@ -102,7 +102,10 @@ int printk(int msg_level, const char *fmt, ...)
va_list args; va_list args;
int i; int i;
printf ("<%d> ", msg_level); putchar('<');
putchar('0' + msg_level);
putchar('>');
putchar(' ');
va_start(args, fmt); va_start(args, fmt);
i = vprintf(fmt, args); i = vprintf(fmt, args);
va_end(args); va_end(args);