From 3f9613bf6dbf84313b46c3ca364457e28bc00008 Mon Sep 17 00:00:00 2001 From: Thomas Heijligen Date: Mon, 28 Nov 2022 11:46:48 +0100 Subject: [PATCH] commonlib/bsd, libpayload: Do not include helpers.h in stddef.h `stddef.h` should only provide the definitions defined by ISO or Posix. The included `commonlib/bsd/helpers.h` provide a lot of non standard definitions that may interfere with definitions from the application. Change-Id: Ia71edbc3ffe6694ff4b971decf3a41f915264bc8 Signed-off-by: Thomas Heijligen Reviewed-on: https://review.coreboot.org/c/coreboot/+/70116 Reviewed-by: Elyes Haouas Tested-by: build bot (Jenkins) --- payloads/libpayload/arch/x86/boot_media.c | 6 +----- payloads/libpayload/include/stddef.h | 5 ++++- src/commonlib/bsd/cbfs_mcache.c | 1 + src/commonlib/bsd/cbfs_private.c | 1 + 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/payloads/libpayload/arch/x86/boot_media.c b/payloads/libpayload/arch/x86/boot_media.c index 99fb4e3c2a..07e08b6134 100644 --- a/payloads/libpayload/arch/x86/boot_media.c +++ b/payloads/libpayload/arch/x86/boot_media.c @@ -1,11 +1,7 @@ /* SPDX-License-Identifier: BSD-3-Clause */ -#include +#include #include -#include -#include -#include -#include __attribute__((weak)) ssize_t boot_device_read(void *buf, size_t offset, size_t size) { diff --git a/payloads/libpayload/include/stddef.h b/payloads/libpayload/include/stddef.h index fb6ec9bf20..9003ac9550 100644 --- a/payloads/libpayload/include/stddef.h +++ b/payloads/libpayload/include/stddef.h @@ -2,7 +2,10 @@ #define _STDDEF_H #include -#include + +#if !defined(offsetof) +#define offsetof(type, member) __builtin_offsetof(type, member) +#endif #ifndef __WCHAR_TYPE__ #define __WCHAR_TYPE__ int diff --git a/src/commonlib/bsd/cbfs_mcache.c b/src/commonlib/bsd/cbfs_mcache.c index 29ba110d7c..8714cc0ec6 100644 --- a/src/commonlib/bsd/cbfs_mcache.c +++ b/src/commonlib/bsd/cbfs_mcache.c @@ -2,6 +2,7 @@ #include #include +#include /* * A CBFS metadata cache is an in memory data structure storing CBFS file headers (= metadata). diff --git a/src/commonlib/bsd/cbfs_private.c b/src/commonlib/bsd/cbfs_private.c index b9221fc776..7ad29861df 100644 --- a/src/commonlib/bsd/cbfs_private.c +++ b/src/commonlib/bsd/cbfs_private.c @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-or-later */ #include +#include #include static enum cb_err read_next_header(cbfs_dev_t dev, size_t *offset, struct cbfs_file *buffer,