summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/arch/i386/include/stdarg.h22
-rw-r--r--src/include/stdarg.h10
2 files changed, 10 insertions, 22 deletions
diff --git a/src/arch/i386/include/stdarg.h b/src/arch/i386/include/stdarg.h
deleted file mode 100644
index 1742cb3f4..000000000
--- a/src/arch/i386/include/stdarg.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef _STDARG_H
-#define _STDARG_H
-
-typedef void * va_list;
-
-#define va_start( ap, last ) do { \
- ap = ( &last + 1 ); \
- } while ( 0 )
-
-#define va_arg( ap, type ) ({ \
- type *_this = ap; \
- ap = ( _this + 1 ); \
- *(_this); \
- })
-
-#define va_end( ap ) do { } while ( 0 )
-
-#define va_copy( dest, src ) do { \
- dest = src; \
- } while ( 0 )
-
-#endif /* _STDARG_H */
diff --git a/src/include/stdarg.h b/src/include/stdarg.h
new file mode 100644
index 000000000..a4eb711d0
--- /dev/null
+++ b/src/include/stdarg.h
@@ -0,0 +1,10 @@
+#ifndef _STDARG_H
+#define _STDARG_H
+
+typedef __builtin_va_list va_list;
+#define va_start( ap, last ) __builtin_va_start ( ap, last )
+#define va_arg( ap, type ) __builtin_va_arg ( ap, type )
+#define va_end( ap ) __builtin_va_end ( ap )
+#define va_copy( dest, src ) __builtin_va_copy ( dest, src )
+
+#endif /* _STDARG_H */