summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/include/console/vtxprintf.h12
-rw-r--r--src/include/stdarg.h20
-rw-r--r--src/include/stdio.h15
-rw-r--r--src/include/string.h8
-rw-r--r--src/mainboard/intel/tglrvp/mainboard.c1
-rw-r--r--src/soc/intel/xeon_sp/acpi.c1
-rw-r--r--src/superio/common/ssdt.c1
-rw-r--r--src/vendorcode/cavium/bdk/libbdk-dram/bdk-dram-test.c1
8 files changed, 43 insertions, 16 deletions
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 <stdarg.h>
-#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 <stddef.h>
+
+#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 <stddef.h>
+
+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 <stdarg.h>
#include <stddef.h>
-
-#include <console/vtxprintf.h>
+#include <stdio.h>
/* 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 <soc/gpio.h>
#include <vendorcode/google/chromeos/chromeos.h>
#include <smbios.h>
+#include <string.h>
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 <soc/pci_devs.h>
#include <soc/soc_util.h>
#include <soc/pm.h>
+#include <string.h>
#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 <device/pnp_def.h>
#include <console/console.h>
#include <types.h>
+#include <string.h>
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 <bdk.h>
+#include <string.h>
#include "libbdk-arch/bdk-csrs-gti.h"
#include "libbdk-arch/bdk-csrs-ocx.h"