hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/tools/scripts/Makefile.include
....@@ -32,15 +32,12 @@
3232 EXTRA_WARNINGS += -Wold-style-definition
3333 EXTRA_WARNINGS += -Wpacked
3434 EXTRA_WARNINGS += -Wredundant-decls
35
-EXTRA_WARNINGS += -Wshadow
3635 EXTRA_WARNINGS += -Wstrict-prototypes
3736 EXTRA_WARNINGS += -Wswitch-default
3837 EXTRA_WARNINGS += -Wswitch-enum
3938 EXTRA_WARNINGS += -Wundef
4039 EXTRA_WARNINGS += -Wwrite-strings
4140 EXTRA_WARNINGS += -Wformat
42
-
43
-CC_NO_CLANG := $(shell $(CC) -dM -E -x c /dev/null | grep -Fq "__clang__"; echo $$?)
4441
4542 # Makefiles suck: This macro sets a default value of $(2) for the
4643 # variable named by $(1), unless the variable has been set by
....@@ -53,12 +50,22 @@
5350 $(eval $(1) = $(2)))
5451 endef
5552
53
+ifneq ($(LLVM),)
54
+$(call allow-override,CC,clang)
55
+$(call allow-override,AR,llvm-ar)
56
+$(call allow-override,LD,ld.lld)
57
+$(call allow-override,CXX,clang++)
58
+$(call allow-override,STRIP,llvm-strip)
59
+else
5660 # Allow setting various cross-compile vars or setting CROSS_COMPILE as a prefix.
5761 $(call allow-override,CC,$(CROSS_COMPILE)gcc)
5862 $(call allow-override,AR,$(CROSS_COMPILE)ar)
5963 $(call allow-override,LD,$(CROSS_COMPILE)ld)
6064 $(call allow-override,CXX,$(CROSS_COMPILE)g++)
6165 $(call allow-override,STRIP,$(CROSS_COMPILE)strip)
66
+endif
67
+
68
+CC_NO_CLANG := $(shell $(CC) -dM -E -x c /dev/null | grep -Fq "__clang__"; echo $$?)
6269
6370 ifneq ($(LLVM),)
6471 HOSTAR ?= llvm-ar
....@@ -79,8 +86,16 @@
7986 # will do for now and keep the above -Wstrict-aliasing=3 in place
8087 # in newer systems.
8188 # Needed for the __raw_cmpxchg in tools/arch/x86/include/asm/cmpxchg.h
89
+#
90
+# See https://lkml.org/lkml/2006/11/28/253 and https://gcc.gnu.org/gcc-4.8/changes.html,
91
+# that takes into account Linus's comments (search for Wshadow) for the reasoning about
92
+# -Wshadow not being interesting before gcc 4.8.
93
+
8294 ifneq ($(filter 3.%,$(MAKE_VERSION)),) # make-3
8395 EXTRA_WARNINGS += -fno-strict-aliasing
96
+EXTRA_WARNINGS += -Wno-shadow
97
+else
98
+EXTRA_WARNINGS += -Wshadow
8499 endif
85100
86101 ifneq ($(findstring $(MAKEFLAGS), w),w)
....@@ -109,6 +124,7 @@
109124 ifneq ($(V),1)
110125 QUIET_CC = @echo ' CC '$@;
111126 QUIET_CC_FPIC = @echo ' CC FPIC '$@;
127
+ QUIET_CLANG = @echo ' CLANG '$@;
112128 QUIET_AR = @echo ' AR '$@;
113129 QUIET_LINK = @echo ' LINK '$@;
114130 QUIET_MKDIR = @echo ' MKDIR '$@;