summaryrefslogtreecommitdiffstats
path: root/src/include/stdarg.h
diff options
context:
space:
mode:
authorMichael Brown2008-03-24 01:23:11 +0100
committerMichael Brown2008-03-24 01:23:11 +0100
commitdbf8a02e8f719390cc862866414781801d602ecf (patch)
treea1ec98c03b4b2c11ebd44ed97f04c22b9b0023f8 /src/include/stdarg.h
parent[Settings] copy_settings() should not fail if some settings are missing! (diff)
downloadipxe-dbf8a02e8f719390cc862866414781801d602ecf.tar.gz
ipxe-dbf8a02e8f719390cc862866414781801d602ecf.tar.xz
ipxe-dbf8a02e8f719390cc862866414781801d602ecf.zip
[libc] Use __builtin_va_list et al in stdarg.h
The home-grown versions don't work properly for static variadic functions, when gcc can choose to use a non-standard calling convention.
Diffstat (limited to 'src/include/stdarg.h')
-rw-r--r--src/include/stdarg.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/include/stdarg.h b/src/include/stdarg.h
new file mode 100644
index 00000000..a4eb711d
--- /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 */