Re: [PATCH v4 1/6] arm64: vdso32: Fix syncconfig errors.

From: Vincenzo Frascino
Date: Thu Oct 03 2019 - 12:20:52 EST


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 <will@xxxxxxxxxx>
>> Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
>> Reported-by: Will Deacon <will@xxxxxxxxxx>
>> Signed-off-by: Vincenzo Frascino <vincenzo.frascino@xxxxxxx>
>> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx>
>> Tested-by: Catalin Marinas <catalin.marinas@xxxxxxx>
>
> 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

Attachment: pEpkey.asc
Description: application/pgp-keys