https://bugs.gentoo.org/931972 https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=027b2d37a8cd56973d117107acc25a64cfe0a92f From b7028334f2dfbb0b11cf1fa34ecb89d5287c367b Mon Sep 17 00:00:00 2001 From: Gwendal Grignou Date: Wed, 15 May 2024 14:30:59 -0700 Subject: [PATCH] Makefile: Do not call gcc directly When mdadm is compiled with clang, direct gcc will fail. Make sure to use $(CC) variable instead. Note that Clang does not support --help=warnings -- -print-diagnostic-options should be used instead. So with Clang, the compilation will go through, but the extra warning flags will never be added. Signed-off-by: Gwendal Grignou --- Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index adac7905..ec8c4226 100644 --- a/Makefile +++ b/Makefile @@ -56,21 +56,21 @@ CWFLAGS += -Wp -O3 endif ifeq ($(origin FALLTHROUGH), undefined) - FALLTHROUGH := $(shell gcc -Q --help=warnings 2>&1 | grep "implicit-fallthrough" | wc -l) + FALLTHROUGH := $(shell $(CC) $(CFLAGS) -Q --help=warnings 2>&1 | grep "implicit-fallthrough" | wc -l) ifneq "$(FALLTHROUGH)" "0" CWFLAGS += -Wimplicit-fallthrough=0 endif endif ifeq ($(origin FORMATOVERFLOW), undefined) - FORMATOVERFLOW := $(shell gcc -Q --help=warnings 2>&1 | grep "format-overflow" | wc -l) + FORMATOVERFLOW := $(shell $(CC) $(CFLAGS) -Q --help=warnings 2>&1 | grep "format-overflow" | wc -l) ifneq "$(FORMATOVERFLOW)" "0" CWFLAGS += -Wformat-overflow endif endif ifeq ($(origin STRINGOPOVERFLOW), undefined) - STRINGOPOVERFLOW := $(shell gcc -Q --help=warnings 2>&1 | grep "stringop-overflow" | wc -l) + STRINGOPOVERFLOW := $(shell $(CC) $(CFLAGS) -Q --help=warnings 2>&1 | grep "stringop-overflow" | wc -l) ifneq "$(STRINGOPOVERFLOW)" "0" CWFLAGS += -Wstringop-overflow endif -- 2.45.0.215.g3402c0e53f-goog