From 45c2c9a84a7bf9df33c9a4239692256aa2ece3ca Mon Sep 17 00:00:00 2001 From: Jung-uk Kim Date: Tue, 4 Aug 2015 00:11:39 +0000 Subject: [PATCH] Always define __va_list for amd64 and restore pre-r232261 behavior for i386. Note it allows exotic compilers, e.g., TCC, to build with our stdio.h, etc. PR: 201749 MFC after: 1 week --- sys/x86/include/_types.h | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/sys/x86/include/_types.h b/sys/x86/include/_types.h index 816a3012327..20a2bf76622 100644 --- a/sys/x86/include/_types.h +++ b/sys/x86/include/_types.h @@ -152,8 +152,17 @@ typedef int ___wchar_t; */ #ifdef __GNUCLIKE_BUILTIN_VARARGS typedef __builtin_va_list __va_list; /* internally known to gcc */ -#elif defined(lint) -typedef char * __va_list; /* pretend */ +#else +#ifdef __LP64__ +typedef struct { + unsigned int __gpo; + unsigned int __fpo; + void *__oaa; + void *__rsa; +} __va_list; +#else +typedef char * __va_list; +#endif #endif #if defined(__GNUC_VA_LIST_COMPATIBILITY) && !defined(__GNUC_VA_LIST) \ && !defined(__NO_GNUC_VA_LIST)