diff options
author | Rich Felker <dalias@aerifal.cx> | 2016-12-15 12:18:24 -0500 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2016-12-15 12:18:24 -0500 |
commit | ffaaa6d230512f3a7f3d040b943517728f3dc3cf (patch) | |
tree | 1a902f53f6a5203d8aa7c5dd73a8e79cac47eb26 /arch | |
parent | 6f1866768a86239672ed811777dfe89994d64a65 (diff) | |
download | musl-ffaaa6d230512f3a7f3d040b943517728f3dc3cf.tar.gz musl-ffaaa6d230512f3a7f3d040b943517728f3dc3cf.tar.bz2 musl-ffaaa6d230512f3a7f3d040b943517728f3dc3cf.tar.xz musl-ffaaa6d230512f3a7f3d040b943517728f3dc3cf.zip |
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')
-rw-r--r-- | arch/generic/bits/stdarg.h | 4 | ||||
-rw-r--r-- | arch/i386/bits/stdarg.h | 9 |
2 files changed, 0 insertions, 13 deletions
diff --git a/arch/generic/bits/stdarg.h b/arch/generic/bits/stdarg.h deleted file mode 100644 index fde37814..00000000 --- a/arch/generic/bits/stdarg.h +++ /dev/null @@ -1,4 +0,0 @@ -#define va_start(v,l) __builtin_va_start(v,l) -#define va_end(v) __builtin_va_end(v) -#define va_arg(v,l) __builtin_va_arg(v,l) -#define va_copy(d,s) __builtin_va_copy(d,s) 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)) ) |