summaryrefslogtreecommitdiffstats
path: root/sys/x86
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2015-08-04 00:11:39 +0000
committerjkim <jkim@FreeBSD.org>2015-08-04 00:11:39 +0000
commitc6a4c72646fbcbf853accdd2f8331e763972378b (patch)
tree8375fbc7cb2c964a6ef0a0e1b63a570ef94e50ce /sys/x86
parent1511a8a27afa11ee6bba641dcc3e4452e3761600 (diff)
downloadFreeBSD-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.h13
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)
OpenPOWER on IntegriCloud