diff --git a/src/include/console/vtxprintf.h b/src/include/console/vtxprintf.h index f6e985c09d..9babd89322 100644 --- a/src/include/console/vtxprintf.h +++ b/src/include/console/vtxprintf.h @@ -15,19 +15,7 @@ #ifndef __CONSOLE_VTXPRINTF_H #define __CONSOLE_VTXPRINTF_H -/* With GCC we use -nostdinc -ffreestanding to keep out system includes. - * Unfortunately this also gets us rid of the _compiler_ includes, like - * stdarg.h. To work around the issue, we define varargs directly here. - * On LLVM we can still just include stdarg.h. - */ -#ifdef __GNUC__ -#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) -typedef __builtin_va_list va_list; -#else #include -#endif int vtxprintf(void (*tx_byte)(unsigned char byte, void *data), const char *fmt, va_list args, void *data); diff --git a/src/include/stdarg.h b/src/include/stdarg.h new file mode 100644 index 0000000000..c5a8cd8dbe --- /dev/null +++ b/src/include/stdarg.h @@ -0,0 +1,20 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +/** + * Note: This file is only for POSIX compatibility, and is meant to be + * chain-included via string.h. + */ + +#ifndef STDARG_H +#define STDARG_H + +#include + +#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) +typedef __builtin_va_list va_list; + +int vsnprintf(char *buf, size_t size, const char *fmt, va_list args); + +#endif /* STDARG_H */ diff --git a/src/include/stdio.h b/src/include/stdio.h new file mode 100644 index 0000000000..d59b9411ee --- /dev/null +++ b/src/include/stdio.h @@ -0,0 +1,15 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +/** + * Note: This file is only for POSIX compatibility, and is meant to be + * chain-included via string.h. + */ + +#ifndef STDIO_H +#define STDIO_H + +#include + +int snprintf(char *buf, size_t size, const char *fmt, ...); + +#endif /* STDIO_H */ diff --git a/src/include/string.h b/src/include/string.h index b55ca5fba6..f923ca5c02 100644 --- a/src/include/string.h +++ b/src/include/string.h @@ -1,9 +1,11 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + #ifndef STRING_H #define STRING_H +#include #include - -#include +#include /* Stringify a token */ #ifndef STRINGIFY @@ -16,8 +18,6 @@ void *memmove(void *dest, const void *src, size_t n); void *memset(void *s, int c, size_t n); int memcmp(const void *s1, const void *s2, size_t n); void *memchr(const void *s, int c, size_t n); -int snprintf(char *buf, size_t size, const char *fmt, ...); -int vsnprintf(char *buf, size_t size, const char *fmt, va_list args); char *strdup(const char *s); char *strconcat(const char *s1, const char *s2); size_t strnlen(const char *src, size_t max); diff --git a/src/mainboard/intel/tglrvp/mainboard.c b/src/mainboard/intel/tglrvp/mainboard.c index e773df5883..1f24e8baa4 100644 --- a/src/mainboard/intel/tglrvp/mainboard.c +++ b/src/mainboard/intel/tglrvp/mainboard.c @@ -18,6 +18,7 @@ #include #include #include +#include const char *smbios_system_sku(void) { diff --git a/src/soc/intel/xeon_sp/acpi.c b/src/soc/intel/xeon_sp/acpi.c index e10e615cad..4ca406d79e 100644 --- a/src/soc/intel/xeon_sp/acpi.c +++ b/src/soc/intel/xeon_sp/acpi.c @@ -24,6 +24,7 @@ #include #include #include +#include #include "chip.h" static int acpi_sci_irq(void) diff --git a/src/superio/common/ssdt.c b/src/superio/common/ssdt.c index e31660fad1..f5ad765aa1 100644 --- a/src/superio/common/ssdt.c +++ b/src/superio/common/ssdt.c @@ -10,6 +10,7 @@ #include #include #include +#include struct superio_dev { const char *acpi_hid; diff --git a/src/vendorcode/cavium/bdk/libbdk-dram/bdk-dram-test.c b/src/vendorcode/cavium/bdk/libbdk-dram/bdk-dram-test.c index 9c78667116..9304e78d60 100644 --- a/src/vendorcode/cavium/bdk/libbdk-dram/bdk-dram-test.c +++ b/src/vendorcode/cavium/bdk/libbdk-dram/bdk-dram-test.c @@ -37,6 +37,7 @@ * ARISING OUT OF USE OR PERFORMANCE OF THE SOFTWARE LIES WITH YOU. ***********************license end**************************************/ #include +#include #include "libbdk-arch/bdk-csrs-gti.h" #include "libbdk-arch/bdk-csrs-ocx.h"