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:
Родитель
2cd3faf87d
Коммит
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)
|
||||
|
|
Загрузка…
Ссылка в новой задаче