Re: [PATCH 0/9] tools/nolibc: fix build issues on aarch64 after unistd cleanup

From: Mark Rutland
Date: Thu Jan 21 2021 - 06:16:18 EST


Hi Willy, Paul,

On Thu, Jan 21, 2021 at 08:20:22AM +0100, Willy Tarreau wrote:
> Hi Paul,
>
> as per the recent discussion with Mark, I've updated the nolibc header to
> reflect latest upstream which is needed to build on arm64, and I performed
> the few cleanups that Mark rightfully suggested.
>
> The following patches were taken from the upstream code and this time I
> carefully copied the original commit IDs in hope not to miss such fixes
> anymore in the future.
>
> I've build-tested these on x86_64, i586, arm(v5 & v7), arm64, mips and
> mipsel, using compilers ranging from gcc 3.4 to gcc 9.3 so I think we're
> good for these archs now.

I've given this a spin atop v5.11-rc4, building natively on arm64 on a
Debian 10.7 system, and with the whole series applied I'm able to run
the rcutorture kvm.sh script without issue (the CONFIG warnings are
unrelated to nolibc):

| [mark@gravadlaks:~/src/linux]% ./tools/testing/selftests/rcutorture/bin/kvm.sh --cpus 255 --configs "TREE03" --kmake-arg "CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64" --duration 1
| Creating a statically linked C-language initrd
| Done creating a statically linked C-language initrd
| Results directory: /home/mark/src/linux/tools/testing/selftests/rcutorture/res/2021.01.21-10.53.24
| ./tools/testing/selftests/rcutorture/bin/kvm.sh --cpus 255 --configs TREE03 --kmake-arg CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 --duration 1
| ----Start batch 1: Thu 21 Jan 10:53:24 GMT 2021
| TREE03 16: Starting build. Thu 21 Jan 10:53:24 GMT 2021
| TREE03 16: Waiting for build to complete. Thu 21 Jan 10:53:24 GMT 2021
| TREE03 16: Build complete. Thu 21 Jan 10:56:25 GMT 2021
| ---- TREE03 16: Kernel present. Thu 21 Jan 10:56:25 GMT 2021
| ---- Starting kernels. Thu 21 Jan 10:56:25 GMT 2021
| ---- All kernel runs complete. Thu 21 Jan 10:57:35 GMT 2021
| ---- TREE03 16: Build/run results:
| --- Thu 21 Jan 10:53:24 GMT 2021: Starting build
| :CONFIG_HYPERVISOR_GUEST=y: improperly set
| :CONFIG_KVM_GUEST=y: improperly set
| --- Thu 21 Jan 10:56:25 GMT 2021: Starting kernel
| QEMU 3.1.0 monitor - type 'help' for more information
| (qemu) Monitoring qemu job at pid 258620
| Grace period for qemu job at pid 258620
|
|
| --- Thu 21 Jan 10:53:24 GMT 2021 Test summary:
| Results directory: /home/mark/src/linux/tools/testing/selftests/rcutorture/res/2021.01.21-10.53.24
| ./tools/testing/selftests/rcutorture/bin/kvm.sh --cpus 255 --configs TREE03 --kmake-arg CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 --duration 1
| TREE03 ------- 475 GPs (7.91667/s) [rcu: g5737 f0x0 total-gps=1713]
| :CONFIG_HYPERVISOR_GUEST=y: improperly set
| :CONFIG_KVM_GUEST=y: improperly set

So FWIW:

Tested-by: Mark Rutland <mark.rutland@xxxxxxx> [arm64]

It would be great if this could be applied soon so that it's possible to
use the rcutorture scripts without applying local hacks.

Willy, thanks for sorting this out, especially so quickly!

Thanks,
Mark.