[build] Disable array bounds checking for GCC

The array bounds checker on GCC 12 and newer reports a very large
number of false positives that result in build failures.  In
particular, accesses through pointers to zero-length arrays (such as
those used by the linker table mechanism in include/ipxe/tables.h) are
reported as errors, contrary to the GCC documentation.

Work around this GCC issue by unconditionally disabling the warning.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
pull/838/head
Michael Brown 2022-12-14 00:51:00 +00:00
parent 563bff4722
commit 54c4c1d403
1 changed files with 2 additions and 2 deletions

View File

@ -461,8 +461,8 @@ CFLAGS += -g
ifeq ($(CCTYPE),gcc)
CFLAGS += -ffreestanding
CFLAGS += -fcommon
CFLAGS += -Wall -W -Wformat-nonliteral
HOST_CFLAGS += -Wall -W -Wformat-nonliteral
CFLAGS += -Wall -W -Wformat-nonliteral -Wno-array-bounds
HOST_CFLAGS += -Wall -W -Wformat-nonliteral -Wno-array-bounds
endif
CFLAGS += $(WORKAROUND_CFLAGS) $(EXTRA_CFLAGS)
ASFLAGS += $(WORKAROUND_ASFLAGS) $(EXTRA_ASFLAGS)