2022-08-09 14:32:12

by Guillaume Tucker

[permalink] [raw]
Subject: [PATCH] selftests: fix LLVM build for i386 and x86_64

Add missing cases for the i386 and x86_64 architectures when
determining the LLVM target for building kselftest.

Fixes: 795285ef2425 ("selftests: Fix clang cross compilation")
Signed-off-by: Guillaume Tucker <[email protected]>
---
tools/testing/selftests/lib.mk | 2 ++
1 file changed, 2 insertions(+)

diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk
index b1c62914366b..cc4c443d5b14 100644
--- a/tools/testing/selftests/lib.mk
+++ b/tools/testing/selftests/lib.mk
@@ -10,12 +10,14 @@ endif
CLANG_TARGET_FLAGS_arm := arm-linux-gnueabi
CLANG_TARGET_FLAGS_arm64 := aarch64-linux-gnu
CLANG_TARGET_FLAGS_hexagon := hexagon-linux-musl
+CLANG_TARGET_FLAGS_i386 := i386-linux-gnu
CLANG_TARGET_FLAGS_m68k := m68k-linux-gnu
CLANG_TARGET_FLAGS_mips := mipsel-linux-gnu
CLANG_TARGET_FLAGS_powerpc := powerpc64le-linux-gnu
CLANG_TARGET_FLAGS_riscv := riscv64-linux-gnu
CLANG_TARGET_FLAGS_s390 := s390x-linux-gnu
CLANG_TARGET_FLAGS_x86 := x86_64-linux-gnu
+CLANG_TARGET_FLAGS_x86_64 := x86_64-linux-gnu
CLANG_TARGET_FLAGS := $(CLANG_TARGET_FLAGS_$(ARCH))

ifeq ($(CROSS_COMPILE),)
--
2.30.2


2022-08-09 16:53:53

by Nathan Chancellor

[permalink] [raw]
Subject: Re: [PATCH] selftests: fix LLVM build for i386 and x86_64

On Tue, Aug 09, 2022 at 04:22:31PM +0200, Guillaume Tucker wrote:
> Add missing cases for the i386 and x86_64 architectures when
> determining the LLVM target for building kselftest.
>
> Fixes: 795285ef2425 ("selftests: Fix clang cross compilation")
> Signed-off-by: Guillaume Tucker <[email protected]>

Right, I think this is the correct thing to do for the selftests. For
the main kernel build, we use CLANG_TARGETS_FLAGS_x86 because ARCH=i386
and ARCH=x86_64 are covered by SUBARCH=x86, which is what we switch on,
rather than ARCH. I do see a couple of references to SUBARCH in the
tools directory but I am not sure if that is usable for this part so:

Reviewed-by: Nathan Chancellor <[email protected]>

> ---
> tools/testing/selftests/lib.mk | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk
> index b1c62914366b..cc4c443d5b14 100644
> --- a/tools/testing/selftests/lib.mk
> +++ b/tools/testing/selftests/lib.mk
> @@ -10,12 +10,14 @@ endif
> CLANG_TARGET_FLAGS_arm := arm-linux-gnueabi
> CLANG_TARGET_FLAGS_arm64 := aarch64-linux-gnu
> CLANG_TARGET_FLAGS_hexagon := hexagon-linux-musl
> +CLANG_TARGET_FLAGS_i386 := i386-linux-gnu
> CLANG_TARGET_FLAGS_m68k := m68k-linux-gnu
> CLANG_TARGET_FLAGS_mips := mipsel-linux-gnu
> CLANG_TARGET_FLAGS_powerpc := powerpc64le-linux-gnu
> CLANG_TARGET_FLAGS_riscv := riscv64-linux-gnu
> CLANG_TARGET_FLAGS_s390 := s390x-linux-gnu
> CLANG_TARGET_FLAGS_x86 := x86_64-linux-gnu
> +CLANG_TARGET_FLAGS_x86_64 := x86_64-linux-gnu
> CLANG_TARGET_FLAGS := $(CLANG_TARGET_FLAGS_$(ARCH))
>
> ifeq ($(CROSS_COMPILE),)
> --
> 2.30.2
>

2023-02-04 13:21:17

by Guillaume Tucker

[permalink] [raw]
Subject: Re: [PATCH] selftests: fix LLVM build for i386 and x86_64

Hi Shuah, Nathan,

On 09/08/2022 18:41, Nathan Chancellor wrote:
> On Tue, Aug 09, 2022 at 04:22:31PM +0200, Guillaume Tucker wrote:
>> Add missing cases for the i386 and x86_64 architectures when
>> determining the LLVM target for building kselftest.
>>
>> Fixes: 795285ef2425 ("selftests: Fix clang cross compilation")
>> Signed-off-by: Guillaume Tucker <[email protected]>
>
> Right, I think this is the correct thing to do for the selftests. For
> the main kernel build, we use CLANG_TARGETS_FLAGS_x86 because ARCH=i386
> and ARCH=x86_64 are covered by SUBARCH=x86, which is what we switch on,
> rather than ARCH. I do see a couple of references to SUBARCH in the
> tools directory but I am not sure if that is usable for this part so:
>
> Reviewed-by: Nathan Chancellor <[email protected]>

Thanks for the review.

Could you please apply this patch? It looks like it was
forgotten like the one with the missing trailing ')' I sent
around that time (now fixed with Mark's patch).

Alternatively, please let me know if anything else needs to be
done for it.

Thanks,
Guillaume

>> ---
>> tools/testing/selftests/lib.mk | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk
>> index b1c62914366b..cc4c443d5b14 100644
>> --- a/tools/testing/selftests/lib.mk
>> +++ b/tools/testing/selftests/lib.mk
>> @@ -10,12 +10,14 @@ endif
>> CLANG_TARGET_FLAGS_arm := arm-linux-gnueabi
>> CLANG_TARGET_FLAGS_arm64 := aarch64-linux-gnu
>> CLANG_TARGET_FLAGS_hexagon := hexagon-linux-musl
>> +CLANG_TARGET_FLAGS_i386 := i386-linux-gnu
>> CLANG_TARGET_FLAGS_m68k := m68k-linux-gnu
>> CLANG_TARGET_FLAGS_mips := mipsel-linux-gnu
>> CLANG_TARGET_FLAGS_powerpc := powerpc64le-linux-gnu
>> CLANG_TARGET_FLAGS_riscv := riscv64-linux-gnu
>> CLANG_TARGET_FLAGS_s390 := s390x-linux-gnu
>> CLANG_TARGET_FLAGS_x86 := x86_64-linux-gnu
>> +CLANG_TARGET_FLAGS_x86_64 := x86_64-linux-gnu
>> CLANG_TARGET_FLAGS := $(CLANG_TARGET_FLAGS_$(ARCH))
>>
>> ifeq ($(CROSS_COMPILE),)
>> --
>> 2.30.2
>>