mirror of
https://github.com/torvalds/linux.git
synced 2024-11-21 19:41:42 +00:00
kbuild: replace cc-name test with CONFIG_CC_IS_CLANG
Evaluating cc-name invokes the compiler every time even when you are not compiling anything, like 'make help'. This is not efficient. The compiler type has been already detected in the Kconfig stage. Use CONFIG_CC_IS_CLANG, instead. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc) Acked-by: Paul Burton <paul.burton@mips.com> (MIPS) Acked-by: Joel Stanley <joel@jms.id.au>
This commit is contained in:
parent
2cd3faf87d
commit
076f421da5
2
Makefile
2
Makefile
@ -702,7 +702,7 @@ stackp-flags-$(CONFIG_STACKPROTECTOR_STRONG) := -fstack-protector-strong
|
||||
|
||||
KBUILD_CFLAGS += $(stackp-flags-y)
|
||||
|
||||
ifeq ($(cc-name),clang)
|
||||
ifdef CONFIG_CC_IS_CLANG
|
||||
KBUILD_CPPFLAGS += $(call cc-option,-Qunused-arguments,)
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning, format-invalid-specifier)
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning, gnu)
|
||||
|
@ -128,7 +128,7 @@ cflags-y += -ffreestanding
|
||||
# clang's output will be based upon the build machine. So for clang we simply
|
||||
# unconditionally specify -EB or -EL as appropriate.
|
||||
#
|
||||
ifeq ($(cc-name),clang)
|
||||
ifdef CONFIG_CC_IS_CLANG
|
||||
cflags-$(CONFIG_CPU_BIG_ENDIAN) += -EB
|
||||
cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -EL
|
||||
else
|
||||
|
@ -10,7 +10,7 @@ ccflags-vdso := \
|
||||
$(filter -march=%,$(KBUILD_CFLAGS)) \
|
||||
-D__VDSO__
|
||||
|
||||
ifeq ($(cc-name),clang)
|
||||
ifdef CONFIG_CC_IS_CLANG
|
||||
ccflags-vdso += $(filter --target=%,$(KBUILD_CFLAGS))
|
||||
endif
|
||||
|
||||
|
@ -96,7 +96,7 @@ aflags-$(CONFIG_CPU_BIG_ENDIAN) += $(call cc-option,-mabi=elfv1)
|
||||
aflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -mabi=elfv2
|
||||
endif
|
||||
|
||||
ifneq ($(cc-name),clang)
|
||||
ifndef CONFIG_CC_IS_CLANG
|
||||
cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -mno-strict-align
|
||||
endif
|
||||
|
||||
@ -175,7 +175,7 @@ endif
|
||||
# Work around gcc code-gen bugs with -pg / -fno-omit-frame-pointer in gcc <= 4.8
|
||||
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44199
|
||||
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52828
|
||||
ifneq ($(cc-name),clang)
|
||||
ifndef CONFIG_CC_IS_CLANG
|
||||
CC_FLAGS_FTRACE += $(call cc-ifversion, -lt, 0409, -mno-sched-epilog)
|
||||
endif
|
||||
endif
|
||||
|
@ -64,7 +64,7 @@ endif
|
||||
KBUILD_CFLAGS += $(warning)
|
||||
else
|
||||
|
||||
ifeq ($(cc-name),clang)
|
||||
ifdef CONFIG_CC_IS_CLANG
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning, initializer-overrides)
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning, unused-value)
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning, format)
|
||||
|
Loading…
Reference in New Issue
Block a user