[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <74494efd-7cfc-4535-a33d-b86fbae1c322@cs-soprasteria.com>
Date: Mon, 2 Sep 2024 12:39:17 +0000
From: LEROY Christophe <christophe.leroy2@...soprasteria.com>
To: "Jason A. Donenfeld" <Jason@...c4.com>, LEROY Christophe
<christophe.leroy2@...soprasteria.com>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-kselftest@...r.kernel.org" <linux-kselftest@...r.kernel.org>,
Adhemerval Zanella <adhemerval.zanella@...aro.org>, Xi Ruoyao
<xry111@...111.site>, "broonie@...nel.org" <broonie@...nel.org>
Subject: Re: [PATCH] selftests: vDSO: Do not rely on $ARCH for
vdso_test_getrandom && vdso_test_chacha
Le 02/09/2024 à 03:20, Jason A. Donenfeld a écrit :
> On Sun, Sep 01, 2024 at 08:43:10PM +0200, Christophe Leroy wrote:
>>>> How would this fit in the logic where IIUC you just remove '_64' from
>>>> 'x86_64' to get 'x86'
>>>
>>> Huh? That's not what tools/scripts/Makefile.arch does.
>>
>> Hum ... yes sorry I looked at it too quickly and mixed things up with
>> the other patch.
>>
>> Nevertheless, if I understand well what tools/scripts/Makefile.arch does
>> on an x86_64 for instance:
>>
>> uname -m returns x86_64
>> HOSTARCH = x86 (sed -e s/x86_64/x86)
>> ARCH = x86
>> SRCARCH = x86
>>
>> If you build with make ARCH=x86_64,
>> SRCARCH = x86
>>
>> So I still can't see how you can use that to know if it is a x86_64 or not.
>
> By the use of CONFIG_X86_32, which is also used elsewhere in that
> samme makefile for something else (so I assume it's wired up in the
> context where it counts, and if not, that's a bug that affects both
> spots and should be fixed)..
I looks like it is a left-over from the time vDSO selftests were in
Documentation/vDSO and were likely built with kernel config.
CONFIG_X86_32 was brought into tools/testing/selftests/vDSO by commit
f9b6b0ef6034 ("selftests: move vDSO tests from Documentation/vDSO") and
was meant to pass -lgcc_s when building vdso_standalone_test_x86 for
i386, but obviously it doesn't work:
$ make ARCH=i386 V=1
gcc -std=gnu99 -O2 -D_GNU_SOURCE= vdso_test_gettimeofday.c
parse_vdso.c -o
/home/chleroy/linux-powerpc/tools/testing/selftests/vDSO/vdso_test_gettimeofday
gcc -std=gnu99 -O2 -D_GNU_SOURCE= vdso_test_getcpu.c parse_vdso.c -o
/home/chleroy/linux-powerpc/tools/testing/selftests/vDSO/vdso_test_getcpu
gcc -std=gnu99 -O2 -D_GNU_SOURCE= vdso_test_abi.c parse_vdso.c -o
/home/chleroy/linux-powerpc/tools/testing/selftests/vDSO/vdso_test_abi
gcc -std=gnu99 -O2 -D_GNU_SOURCE= vdso_test_clock_getres.c -o
/home/chleroy/linux-powerpc/tools/testing/selftests/vDSO/vdso_test_clock_getres
gcc -std=gnu99 -O2 -D_GNU_SOURCE= -ldl vdso_test_correctness.c -o
/home/chleroy/linux-powerpc/tools/testing/selftests/vDSO/vdso_test_correctness
In another place in selftests (tools/testing/selftests/ipc/), they
manually add it:
ifeq ($(ARCH),i386)
ARCH := x86
CFLAGS := -DCONFIG_X86_32 -D__i386__
endif
ifeq ($(ARCH),x86_64)
ARCH := x86
CFLAGS := -DCONFIG_X86_64 -D__x86_64__
endif
So I think this is a confirmation that CONFIG_X86_32 doesn't exist in
selftests.
Christophe
Powered by blists - more mailing lists