[build] Disable dangling pointer checking for GCC The dangling pointer warning introduced in GCC 12 reports false positives that result in build failures. In particular, storing the address of a local code label used to record the current state of a state machine (as done in crypto/deflate.c) is reported as an error. There seems to be no way to mark the pointer type as being permitted to hold such a value, so unconditionally disable the warning. Signed-off-by: Michael Brown <mcb30@ipxe.org>
diff --git a/src/Makefile.housekeeping b/src/Makefile.housekeeping index 61a9cf0..658b84b 100644 --- a/src/Makefile.housekeeping +++ b/src/Makefile.housekeeping
@@ -461,8 +461,10 @@ ifeq ($(CCTYPE),gcc) CFLAGS += -ffreestanding CFLAGS += -fcommon -CFLAGS += -Wall -W -Wformat-nonliteral -Wno-array-bounds -HOST_CFLAGS += -Wall -W -Wformat-nonliteral -Wno-array-bounds +CFLAGS += -Wall -W -Wformat-nonliteral +CFLAGS += -Wno-array-bounds -Wno-dangling-pointer +HOST_CFLAGS += -Wall -W -Wformat-nonliteral +HOST_CFLAGS += -Wno-array-bounds -Wno-dangling-pointer endif CFLAGS += $(WORKAROUND_CFLAGS) $(EXTRA_CFLAGS) ASFLAGS += $(WORKAROUND_ASFLAGS) $(EXTRA_ASFLAGS)