diff options
author | jkim <jkim@FreeBSD.org> | 2015-08-04 00:11:39 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2015-08-04 00:11:39 +0000 |
commit | c6a4c72646fbcbf853accdd2f8331e763972378b (patch) | |
tree | 8375fbc7cb2c964a6ef0a0e1b63a570ef94e50ce /sys/x86 | |
parent | 1511a8a27afa11ee6bba641dcc3e4452e3761600 (diff) | |
download | FreeBSD-src-c6a4c72646fbcbf853accdd2f8331e763972378b.zip FreeBSD-src-c6a4c72646fbcbf853accdd2f8331e763972378b.tar.gz |
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
Diffstat (limited to 'sys/x86')
-rw-r--r-- | sys/x86/include/_types.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/sys/x86/include/_types.h b/sys/x86/include/_types.h index 816a301..20a2bf7 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) |