--- a/arch/arm/bits/alltypes.h.sh
+++ b/arch/arm/bits/alltypes.h.sh
@@ -21,6 +21,7 @@ TYPEDEF int ssize_t;
 TYPEDEF int ptrdiff_t;
 
 TYPEDEF __builtin_va_list va_list;
+#define __gnuc_va_list va_list
 
 #ifndef __cplusplus
 TYPEDEF unsigned wchar_t;
--- a/arch/i386/bits/alltypes.h.sh
+++ b/arch/i386/bits/alltypes.h.sh
@@ -25,6 +25,7 @@ TYPEDEF __builtin_va_list va_list;
 #else
 TYPEDEF struct __va_list * va_list;
 #endif
+#define __gnuc_va_list va_list
 
 #ifndef __cplusplus
 #ifdef __WCHAR_TYPE__
--- a/arch/microblaze/bits/alltypes.h.sh
+++ b/arch/microblaze/bits/alltypes.h.sh
@@ -21,6 +21,7 @@ TYPEDEF int ssize_t;
 TYPEDEF int ptrdiff_t;
 
 TYPEDEF __builtin_va_list va_list;
+#define __gnuc_va_list va_list
 
 #ifndef __cplusplus
 TYPEDEF int wchar_t;
--- a/arch/mips/bits/alltypes.h.sh
+++ b/arch/mips/bits/alltypes.h.sh
@@ -21,6 +21,7 @@ TYPEDEF int ssize_t;
 TYPEDEF int ptrdiff_t;
 
 TYPEDEF __builtin_va_list va_list;
+#define __gnuc_va_list va_list
 
 #ifndef __cplusplus
 TYPEDEF int wchar_t;
--- a/arch/powerpc/bits/alltypes.h.sh
+++ b/arch/powerpc/bits/alltypes.h.sh
@@ -21,6 +21,7 @@ TYPEDEF int ssize_t;
 TYPEDEF int ptrdiff_t;
 
 TYPEDEF __builtin_va_list va_list;
+#define __gnuc_va_list va_list
 
 #ifndef __cplusplus
 TYPEDEF long wchar_t;
--- a/arch/x86_64/bits/alltypes.h.sh
+++ b/arch/x86_64/bits/alltypes.h.sh
@@ -20,6 +20,7 @@ TYPEDEF unsigned long size_t;
 TYPEDEF long ssize_t;
 TYPEDEF long ptrdiff_t;
 TYPEDEF __builtin_va_list va_list;
+#define __gnuc_va_list va_list
 
 #ifndef __cplusplus
 TYPEDEF int wchar_t;
