+--- a/arch/arm/bits/alltypes.h.sh
++++ b/arch/arm/bits/alltypes.h.sh
+@@ -22,6 +22,7 @@
+
+ TYPEDEF __builtin_va_list va_list;
+ TYPEDEF __builtin_va_list __isoc_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
+@@ -27,6 +27,7 @@
+ TYPEDEF struct __va_list * va_list;
+ TYPEDEF struct __va_list * __isoc_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
+@@ -22,6 +22,7 @@
+
+ TYPEDEF __builtin_va_list va_list;
+ TYPEDEF __builtin_va_list __isoc_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
+@@ -22,6 +22,7 @@
+
+ TYPEDEF __builtin_va_list va_list;
+ TYPEDEF __builtin_va_list __isoc_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
+@@ -22,6 +22,7 @@
+
+ TYPEDEF __builtin_va_list va_list;
+ TYPEDEF __builtin_va_list __isoc_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
+@@ -21,6 +21,7 @@
+ TYPEDEF long ptrdiff_t;
+ TYPEDEF __builtin_va_list va_list;
+ TYPEDEF __builtin_va_list __isoc_va_list;
++#define __gnuc_va_list va_list
+
+ #ifndef __cplusplus
+ TYPEDEF int wchar_t;