From 668ea970757c1191f408a32fc47be7684dea2e30 Mon Sep 17 00:00:00 2001 From: Elyes Haouas Date: Wed, 24 Sep 2025 16:57:57 +0200 Subject: [PATCH] commonlib/endian: Silence GCC -Warray-bounds false positives Recent GCC versions (>=12) warn about out-of-bounds accesses when writing through *(volatile uint8_t *)dest in endian.h. This is a false positive since these pointers intentionally alias hardware/physical memory. Change-Id: Ia47aa1214998dbc17bd4a58f7d996bcc6fff7b6a Signed-off-by: Elyes Haouas Reviewed-on: https://review.coreboot.org/c/coreboot/+/89328 Tested-by: build bot (Jenkins) Reviewed-by: Martin L Roth --- src/commonlib/include/commonlib/endian.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/commonlib/include/commonlib/endian.h b/src/commonlib/include/commonlib/endian.h index 971854c2b3..24b10826f4 100644 --- a/src/commonlib/include/commonlib/endian.h +++ b/src/commonlib/include/commonlib/endian.h @@ -7,6 +7,11 @@ #include #include +/* GCC >= 12 triggers false positives (-Warray-bounds) on + * deliberate low-level memory accesses here. */ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Warray-bounds" + /* Endian agnostic functions working on single byte. */ static inline uint8_t read_ble8(const void *src) @@ -247,4 +252,4 @@ static inline void zero_n(void *dest, size_t n) memset(dest, 0, n); } -#endif +#endif /* _COMMONLIB_ENDIAN_H_ */