From bd4ca67cf42d73495106f6f6f206c0cce8fef284 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Sun, 27 Apr 2025 18:01:24 +0100 Subject: [PATCH] [build] Disable gcc unterminated-string-initializer warnings GCC 15 generates a warning when a string initializer is too large to allow for a trailing NUL terminator byte. This type of initializer is fairly common in signature strings such as ACPI table identifiers. Fix by disabling the warning. Signed-off-by: Michael Brown --- src/Makefile.housekeeping | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/Makefile.housekeeping b/src/Makefile.housekeeping index 11aab7a50..b29173213 100644 --- a/src/Makefile.housekeeping +++ b/src/Makefile.housekeeping @@ -368,6 +368,15 @@ WNAPM_FLAGS := $(shell $(WNAPM_TEST) && \ WORKAROUND_CFLAGS += $(WNAPM_FLAGS) endif +# gcc 15 generates warnings for fixed-length character array +# initializers that lack a terminating NUL. Inhibit the warnings. +# +WNUSI_TEST = $(CC) -Wunterminated-string-initialization -x c -c /dev/null \ + -o /dev/null >/dev/null 2>&1 +WNUSI_FLAGS := $(shell $(WNUSI_TEST) && \ + $(ECHO) '-Wno-unterminated-string-initialization') +WORKAROUND_CFLAGS += $(WNUSI_FLAGS) + # Some versions of gas choke on division operators, treating them as # comment markers. Specifying --divide will work around this problem, # but isn't available on older gas versions. -- 2.47.2