summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJulius Werner <jwerner@chromium.org>2022-05-27 19:07:14 -0700
committerHung-Te Lin <hungte@chromium.org>2022-06-07 12:34:35 +0000
commit23d24657209d810d39a16c561ea1f68f98f8237b (patch)
tree83b65b131687a2859d7d49aecedc202583876c50 /src
parent6876f49b7e3e8e750dc40ddbe1c37b6ab12c0153 (diff)
commonlib: Clean up compiler.h
This patch contains several minor cleanups related to compiler.h: - Replace __always_unused() (which is a Linux-specific concept that doesn't make sense without also having __maybe_unused(), and had zero uses in the codebase) with __unused() which moves here from helpers.h - Add __underscores__ to the names of all attributes in the compiler attribute shorthand macros. This is necessary to make them work in files where the same name was already used for an identifier (e.g. cbfstool/cbfs.h's `unused` array of file types). - Remove libpayload's own copy of compiler.h and make it directly pull in the commonlib/bsd copy. Signed-off-by: Julius Werner <jwerner@chromium.org> Change-Id: I9644da594bb69133843c6b7f12ce50b2e45fd24b Reviewed-on: https://review.coreboot.org/c/coreboot/+/64737 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Yu-Ping Wu <yupingso@google.com> Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
Diffstat (limited to 'src')
-rw-r--r--src/arch/riscv/opensbi.c4
-rw-r--r--src/commonlib/bsd/include/commonlib/bsd/compiler.h18
-rw-r--r--src/commonlib/include/commonlib/helpers.h4
3 files changed, 13 insertions, 13 deletions
diff --git a/src/arch/riscv/opensbi.c b/src/arch/riscv/opensbi.c
index 3a738ec83a..eb557d240a 100644
--- a/src/arch/riscv/opensbi.c
+++ b/src/arch/riscv/opensbi.c
@@ -1,5 +1,9 @@
/* SPDX-License-Identifier: GPL-2.0-only */
+/* OpenSBI wants to make its own definitions for some of our compiler.h macros. */
+#undef __packed
+#undef __noreturn
+
#include <sbi/fw_dynamic.h>
#include <arch/boot.h>
/* DO NOT INCLUDE COREBOOT HEADERS HERE */
diff --git a/src/commonlib/bsd/include/commonlib/bsd/compiler.h b/src/commonlib/bsd/include/commonlib/bsd/compiler.h
index ebf017900d..42f9235e8e 100644
--- a/src/commonlib/bsd/include/commonlib/bsd/compiler.h
+++ b/src/commonlib/bsd/include/commonlib/bsd/compiler.h
@@ -5,34 +5,34 @@
#ifndef __packed
#if defined(__WIN32) || defined(__WIN64)
-#define __packed __attribute__((gcc_struct, packed))
+#define __packed __attribute__((__gcc_struct__, __packed__))
#else
-#define __packed __attribute__((packed))
+#define __packed __attribute__((__packed__))
#endif
#endif
#ifndef __aligned
-#define __aligned(x) __attribute__((aligned(x)))
+#define __aligned(x) __attribute__((__aligned__(x)))
#endif
-#ifndef __always_unused
-#define __always_unused __attribute__((unused))
+#ifndef __unused
+#define __unused __attribute__((__unused__))
#endif
#ifndef __must_check
-#define __must_check __attribute__((warn_unused_result))
+#define __must_check __attribute__((__warn_unused_result__))
#endif
#ifndef __weak
-#define __weak __attribute__((weak))
+#define __weak __attribute__((__weak__))
#endif
#ifndef __noreturn
-#define __noreturn __attribute__((noreturn))
+#define __noreturn __attribute__((__noreturn__))
#endif
#ifndef __always_inline
-#define __always_inline inline __attribute__((always_inline))
+#define __always_inline inline __attribute__((__always_inline__))
#endif
#ifndef __fallthrough
diff --git a/src/commonlib/include/commonlib/helpers.h b/src/commonlib/include/commonlib/helpers.h
index b073e0e492..c294bee117 100644
--- a/src/commonlib/include/commonlib/helpers.h
+++ b/src/commonlib/include/commonlib/helpers.h
@@ -34,10 +34,6 @@
const __typeof__(((type *)0)->member) *__mptr = (ptr); \
(type *)((char *)__mptr - offsetof(type, member)); })
-#ifndef __unused
-#define __unused __attribute__((unused))
-#endif
-
#ifndef alloca
#define alloca(x) __builtin_alloca(x)
#endif