about summary refs log tree commit diff
path: root/arch/i386
diff options
authorRich Felker <dalias@aerifal.cx>2016-12-15 12:18:24 -0500
committerRich Felker <dalias@aerifal.cx>2016-12-15 12:18:24 -0500
commitffaaa6d230512f3a7f3d040b943517728f3dc3cf (patch)
tree1a902f53f6a5203d8aa7c5dd73a8e79cac47eb26 /arch/i386
parent6f1866768a86239672ed811777dfe89994d64a65 (diff)
remove legacy i386 fallback stdarg implementation and framework
this has been slated for removal for a long time. there is
fundamentally no way to implement stdarg without compiler assistance;
any attempt to do so has serious undefined behavior; its working
depends not just (as a common misconception goes) on ABI, but also on
assumptions about compiler code generation internal to a translation
unit, which is not subject to external ABI constraints.
Diffstat (limited to 'arch/i386')
1 files changed, 0 insertions, 9 deletions
diff --git a/arch/i386/bits/stdarg.h b/arch/i386/bits/stdarg.h
deleted file mode 100644
index 6b1830d2..00000000
--- a/arch/i386/bits/stdarg.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#define __VA_ALIGNED_SIZE(x) ((sizeof(x) + sizeof(int) - 1) & ~(sizeof(int) - 1))
-#define va_start(ap, last) ((ap) = (void *)(((char *)&(last)) + __VA_ALIGNED_SIZE(last)))
-#define va_end(ap) ((void)0)
-#define va_copy(dest, src) ((dest) = (src))
-#define va_arg(ap, type) \
-	( ((ap) = (va_list)((char *)(ap) + __VA_ALIGNED_SIZE(type))), \
-	*(type *)(void *)((char *)(ap) - __VA_ALIGNED_SIZE(type)) )