diff options
author | Jacob Garber <jgarber1@ualberta.ca> | 2020-11-04 21:49:49 -0700 |
---|---|---|
committer | Nico Huber <nico.h@gmx.de> | 2020-11-08 11:37:04 +0000 |
commit | c98baa7a80ff5bc0a2f8c4d2a5fa24cd8f139979 (patch) | |
tree | 6cf5b0f56e7880ff36299a6c34bc9105233a78e4 /payloads/libpayload | |
parent | 3190ba863daecf6ac9300f57beb8c7eae74b8c50 (diff) | |
download | coreboot-c98baa7a80ff5bc0a2f8c4d2a5fa24cd8f139979.tar.gz coreboot-c98baa7a80ff5bc0a2f8c4d2a5fa24cd8f139979.tar.bz2 coreboot-c98baa7a80ff5bc0a2f8c4d2a5fa24cd8f139979.zip |
libpayload: Add compiler.h to compiler parameters
Headers in libpayload define various structs like so:
struct struct_name { ... } __packed;
However, these header files do not include the compiler.h macro that
defines what __packed is, so they are actually defining a variable named
__packed and *not* declaring a packed struct. This leads to defining the
same variable multiple times, which was caught by GCC 10. Add compiler.h
to the compiler parameters so it is included in all files automatically.
Signed-off-by: Jacob Garber <jgarber1@ualberta.ca>
Change-Id: Ia67182520dc94149e06fe9e03a14b3fc2ee29973
Reviewed-on: https://review.coreboot.org/c/coreboot/+/47153
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Diffstat (limited to 'payloads/libpayload')
-rw-r--r-- | payloads/libpayload/Makefile.inc | 3 | ||||
-rwxr-xr-x | payloads/libpayload/bin/lpgcc | 3 | ||||
-rw-r--r-- | payloads/libpayload/include/cbfs_core.h | 1 | ||||
-rw-r--r-- | payloads/libpayload/include/libpayload.h | 1 |
4 files changed, 4 insertions, 4 deletions
diff --git a/payloads/libpayload/Makefile.inc b/payloads/libpayload/Makefile.inc index 1b2a883b16d8..6188ddefa7b2 100644 --- a/payloads/libpayload/Makefile.inc +++ b/payloads/libpayload/Makefile.inc @@ -55,7 +55,8 @@ subdirs-$(CONFIG_LP_CBFS) += libcbfs subdirs-$(CONFIG_LP_LZMA) += liblzma subdirs-$(CONFIG_LP_LZ4) += liblz4 -INCLUDES := -Iinclude -Iinclude/$(ARCHDIR-y) -I$(obj) -include include/kconfig.h +INCLUDES := -Iinclude -Iinclude/$(ARCHDIR-y) -I$(obj) +INCLUDES += -include include/kconfig.h -include include/compiler.h CFLAGS += $(EXTRA_CFLAGS) $(INCLUDES) -Os -pipe -nostdinc -ggdb3 CFLAGS += -nostdlib -fno-builtin -ffreestanding -fomit-frame-pointer diff --git a/payloads/libpayload/bin/lpgcc b/payloads/libpayload/bin/lpgcc index 2657a1a1b181..aa09c1d1164a 100755 --- a/payloads/libpayload/bin/lpgcc +++ b/payloads/libpayload/bin/lpgcc @@ -152,7 +152,8 @@ fi trygccoption -fno-stack-protector [ $? -eq 0 ] && _CFLAGS="$_CFLAGS -fno-stack-protector" -_CFLAGS="$_CFLAGS -include $BASE/../include/kconfig.h -I`$DEFAULT_CC $_ARCHEXTRA -print-search-dirs | head -n 1 | cut -d' ' -f2`include" +_CFLAGS="$_CFLAGS -include $BASE/../include/kconfig.h -include $BASE/../include/compiler.h" +_CFLAGS="$_CFLAGS -I`$DEFAULT_CC $_ARCHEXTRA -print-search-dirs | head -n 1 | cut -d' ' -f2`include" _LDFLAGS="-L$BASE/../lib -L$_LIBDIR $_LDSCRIPT -static" diff --git a/payloads/libpayload/include/cbfs_core.h b/payloads/libpayload/include/cbfs_core.h index 397e08b301f1..fc4caa44177c 100644 --- a/payloads/libpayload/include/cbfs_core.h +++ b/payloads/libpayload/include/cbfs_core.h @@ -49,7 +49,6 @@ #include <stddef.h> #include <stdint.h> #include <stdlib.h> -#include <compiler.h> /** These are standard values for the known compression alogrithms that coreboot knows about for stages and diff --git a/payloads/libpayload/include/libpayload.h b/payloads/libpayload/include/libpayload.h index fa501a78015a..f206fea2f97a 100644 --- a/payloads/libpayload/include/libpayload.h +++ b/payloads/libpayload/include/libpayload.h @@ -44,7 +44,6 @@ #include <stdbool.h> #include <libpayload-config.h> -#include <compiler.h> #include <cbgfx.h> #include <ctype.h> #include <die.h> |