On 03/10/2019 17:00, Catalin Marinas wrote: > On Wed, Oct 02, 2019 at 03:41:51PM +0100, Vincenzo Frascino wrote: >> Cc: Will Deacon >> Cc: Catalin Marinas >> Reported-by: Will Deacon >> Signed-off-by: Vincenzo Frascino >> Reviewed-by: Catalin Marinas >> Tested-by: Catalin Marinas > > If you changed the patch, please drop my reviewed/tested-by. > Sorry, forgot it in this patch. >> diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile >> index 84a3d502c5a5..dfa6a5cb99e4 100644 >> --- a/arch/arm64/Makefile >> +++ b/arch/arm64/Makefile >> @@ -53,20 +53,12 @@ $(warning Detected assembler with broken .inst; disassembly will be unreliable) >> endif >> endif >> >> +COMPATCC ?= $(CROSS_COMPILE_COMPAT)gcc >> +export COMPATCC >> + >> ifeq ($(CONFIG_GENERIC_COMPAT_VDSO), y) >> - CROSS_COMPILE_COMPAT ?= $(CONFIG_CROSS_COMPILE_COMPAT_VDSO:"%"=%) >> - >> - ifeq ($(CONFIG_CC_IS_CLANG), y) >> - $(warning CROSS_COMPILE_COMPAT is clang, the compat vDSO will not be built) >> - else ifeq ($(strip $(CROSS_COMPILE_COMPAT)),) >> - $(warning CROSS_COMPILE_COMPAT not defined or empty, the compat vDSO will not be built) >> - else ifeq ($(shell which $(CROSS_COMPILE_COMPAT)gcc 2> /dev/null),) >> - $(error $(CROSS_COMPILE_COMPAT)gcc not found, check CROSS_COMPILE_COMPAT) >> - else >> - export CROSS_COMPILE_COMPAT >> - export CONFIG_COMPAT_VDSO := y >> - compat_vdso := -DCONFIG_COMPAT_VDSO=1 >> - endif >> + export CONFIG_COMPAT_VDSO := y >> + compat_vdso := -DCONFIG_COMPAT_VDSO=1 >> endif > > With this change, if I don't have any CROSS_COMPILE_COMPAT in my > environment, the kernel fails to build because COMPATCC becomes gcc > which cannot build the vdso32. What I really want is not to warn me, nor > fail to build the kernel when I don't care about the compat vDSO (e.g. I > have a 64-bit only machine). > > What saved us before was the COMPATCC_IS_ARM_GCC check and a selection > of the GENERIC_COMPAT_VDSO dependent on this check. This was now dropped > from the previous version of the patch. We could add something like > COMPATCC_CAN_LINK. > Seems not solving the problem, I am trying with COMPATCC_EMPTY as test -z $CROSS_COMPILER_COMPAT. -- Regards, Vincenzo