netbsd: build fix with gcc 4.5
authorDavid Brownlee <abs@netbsd.org>
Thu, 5 Jan 2012 15:51:28 +0000 (15:51 +0000)
committerDavid Brownlee <abs@netbsd.org>
Thu, 5 Jan 2012 15:51:28 +0000 (15:51 +0000)
Fix build failure with gcc 4.5:
implicit declaration of __builtin_stdarg_start

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
From: David Brownlee <abs@netbsd.org>
Committed-by: Keir Fraser <keir@xen.org>
xen/include/xen/stdarg.h

index 57e2c0e3bfe717aeedd26c55d49aace01933b76f..8d9de51714036aff6723ece88e902e3cb157134a 100644 (file)
@@ -5,7 +5,17 @@
 #  include "/usr/include/stdarg.h"
 #elif defined (__NetBSD__)
    typedef __builtin_va_list va_list;
-#  define va_start(ap, last)    __builtin_stdarg_start((ap), (last))
+#  ifdef __GNUC__
+#    define __GNUC_PREREQ__(x, y)                                       \
+        ((__GNUC__ == (x) && __GNUC_MINOR__ >= (y)) ||                  \
+         (__GNUC__ > (x)))
+#  else
+#    define __GNUC_PREREQ__(x, y)   0
+#  endif
+#  if !__GNUC_PREREQ__(4, 5)
+#    define __builtin_va_start(ap, last)    __builtin_stdarg_start((ap), (last))
+#  endif
+#  define va_start(ap, last)    __builtin_va_start((ap), (last))
 #  define va_end(ap)            __builtin_va_end(ap)
 #  define va_arg                __builtin_va_arg
 #else