diff options
| author | Peter Jones <pjones@redhat.com> | 2021-03-09 11:42:34 -0500 |
|---|---|---|
| committer | Peter Jones <pjones@redhat.com> | 2021-03-10 15:54:20 -0500 |
| commit | f033a1da9f4c3acf7e3dfef906d01e348b6fcf42 (patch) | |
| tree | 1c325b0dd61cb1bd78b585ca870298fb74f857d4 /include/system/stdarg.h | |
| parent | 758b795a86589994065099d0af02eb30626a3c21 (diff) | |
| download | efi-boot-shim-f033a1da9f4c3acf7e3dfef906d01e348b6fcf42.tar.gz efi-boot-shim-f033a1da9f4c3acf7e3dfef906d01e348b6fcf42.zip | |
Restructure our includes.
This re-structures our includes so we can be sure everything is always
including all the system headers in a uniform, predictable way.
Temporarily it also adds a bunch of junk at all the places we use
variadic functions to specifically pick either the MS (cdecl) or ELF
ABIs.
I'm not 100% sure that's all correct (see later patch) but it's enough
to allow this to build.
Signed-off-by: Peter Jones <pjones@redhat.com>
Diffstat (limited to 'include/system/stdarg.h')
| -rw-r--r-- | include/system/stdarg.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/include/system/stdarg.h b/include/system/stdarg.h new file mode 100644 index 00000000..346b760d --- /dev/null +++ b/include/system/stdarg.h @@ -0,0 +1,31 @@ +// SPDX-License-Identifier: BSD-2-Clause-Patent +/* + * stdarg.h - try to make consistent va_* handling for EFI + */ +#ifdef SHIM_UNIT_TEST +#include_next <stdarg.h> +#else +#ifndef _STDARG_H +#define _STDARG_H + +#include <efistdarg.h> + +#endif /* !_STDARG_H */ +#endif +#ifndef SHIM_STDARG_H_ +#define SHIM_STDARG_H_ + +typedef __builtin_ms_va_list ms_va_list; +#define ms_va_copy(dest, start) __builtin_ms_va_copy(dest, start) +#define ms_va_start(marker, arg) __builtin_ms_va_start(marker, arg) +#define ms_va_arg(marker, type) __builtin_va_arg(marker, type) +#define ms_va_end(marker) __builtin_ms_va_end(marker) + +typedef __builtin_va_list elf_va_list; +#define elf_va_copy(dest, start) __builtin_va_copy(dest, start) +#define elf_va_start(marker, arg) __builtin_va_start(marker, arg) +#define elf_va_arg(marker, type) __builtin_va_arg(marker, type) +#define elf_va_end(marker) __builtin_va_end(marker) + +#endif /* !SHIM_STDARG_H_ */ +// vim:fenc=utf-8:tw=75:noet |
