From 85f576054a4d5496706bbd37a520942f51cb74b9 Mon Sep 17 00:00:00 2001 From: Tom Hochstein Date: Mon, 16 May 2022 13:45:16 -0500 Subject: [PATCH] Makefile: Suppress array-bounds error The array-bounds error is triggered now in cases where it was silent before, causing errors like: ``` plat/imx/imx8m/hab.c: In function 'imx_hab_handler': plat/imx/imx8m/hab.c:64:57: error: array subscript 0 is outside array bounds of 'uint32_t[0]' {aka 'unsigned int[]'} [-Werror=array-bounds] 64 | #define HAB_RVT_CHECK_TARGET_ARM64 ((unsigned long)*(uint32_t *)(HAB_RVT_BASE + 0x18)) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` The error is a false-positive and is entered as a bug [1]. The problem is fixed partially in GCC 12 and fully in GCC 13 [2]. The partial fix does not work here because the constant addresses used are less than the 4kB boundary chosen for the partial fix, so suppress the error until GCC is upgraded to 13. [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99578 [2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99578#c39 Upstream-Status: Inappropriate [other] Signed-off-by: Tom Hochstein --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index c87c3ae08..2d6b90f47 100644 --- a/Makefile +++ b/Makefile @@ -346,7 +346,7 @@ WARNINGS += -Wshift-overflow -Wshift-sign-overflow \ endif ifneq (${E},0) -ERRORS := -Werror +ERRORS := -Werror -Wno-error=array-bounds endif CPPFLAGS = ${DEFINES} ${INCLUDES} ${MBEDTLS_INC} -nostdinc \ -- 2.17.1