From d62085e5c5eb47cc2442899b125c799cb90e6d7b Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Fri, 6 Apr 2012 21:17:05 +0200 Subject: Do not take address of va_list variable This breaks on x86_64, where it is an array and thus gets bogus results. * ddb/db_output.c (db_printf, kdbprintf): Pass copy of va_list variable instead of its address. * kern/debug.c (panic, log): Likewise. * kern/printf.c (vprintf, iprintf, sprintf, vsnprintf): Likewise. (_doprnt): Take va_list instead of va_list *, fix usage and comment accordingly. * kern/printf.h (_doprnt): Take va_list instead of va_list *. --- kern/printf.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'kern/printf.h') diff --git a/kern/printf.h b/kern/printf.h index fcf2b3b0..8b4e7606 100644 --- a/kern/printf.h +++ b/kern/printf.h @@ -30,7 +30,7 @@ extern void printf_init (void); extern void _doprnt (const char *fmt, - va_list *argp, + va_list argp, void (*putc)(char, vm_offset_t), int radix, vm_offset_t putc_arg); -- cgit v1.2.3