Commit 7424ee2b authored by Will Deacon's avatar Will Deacon

arm64: vdso32: Pass '--target' option to clang via VDSO_CAFLAGS

Directly passing the '--target' option to clang by appending to
COMPATCC does not work if COMPATCC has been specified explicitly as
an argument to Make unless the 'override' directive is used, which is
ugly and different to what is done in the top-level Makefile.

Move the '--target' option for clang out of COMPATCC and into
VDSO_CAFLAGS, where it will be picked up when compiling and assembling
the 32-bit vDSO under clang.
Reported-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
Acked-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
Signed-off-by: default avatarWill Deacon <will@kernel.org>
parent c71e88c4
...@@ -10,7 +10,7 @@ include $(srctree)/lib/vdso/Makefile ...@@ -10,7 +10,7 @@ include $(srctree)/lib/vdso/Makefile
# Same as cc-*option, but using COMPATCC instead of CC # Same as cc-*option, but using COMPATCC instead of CC
ifeq ($(CONFIG_CC_IS_CLANG), y) ifeq ($(CONFIG_CC_IS_CLANG), y)
COMPATCC ?= $(CC) --target=$(notdir $(CROSS_COMPILE_COMPAT:%-=%)) COMPATCC ?= $(CC)
else else
COMPATCC ?= $(CROSS_COMPILE_COMPAT)gcc COMPATCC ?= $(CROSS_COMPILE_COMPAT)gcc
endif endif
...@@ -38,6 +38,10 @@ VDSO_CPPFLAGS += $(LINUXINCLUDE) ...@@ -38,6 +38,10 @@ VDSO_CPPFLAGS += $(LINUXINCLUDE)
# Common C and assembly flags # Common C and assembly flags
# From top-level Makefile # From top-level Makefile
VDSO_CAFLAGS := $(VDSO_CPPFLAGS) VDSO_CAFLAGS := $(VDSO_CPPFLAGS)
ifneq ($(shell $(COMPATCC) --version 2>&1 | head -n 1 | grep clang),)
VDSO_CAFLAGS += --target=$(notdir $(CROSS_COMPILE_COMPAT:%-=%))
endif
VDSO_CAFLAGS += $(call cc32-option,-fno-PIE) VDSO_CAFLAGS += $(call cc32-option,-fno-PIE)
ifdef CONFIG_DEBUG_INFO ifdef CONFIG_DEBUG_INFO
VDSO_CAFLAGS += -g VDSO_CAFLAGS += -g
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment