[PATCH] selftests: Fix arm64 test installation
John Hubbard
jhubbard at nvidia.com
Mon Jul 10 16:10:14 PDT 2023
On 7/10/23 15:30, Mark Brown wrote:
...
> There is a floor on binutils version for the kselftests that's more
> aggressive than that for the kernel itself, though that looks like RHEL
> 8 which has binutils 2.30 which *should* be fine for most things - the
> MTE tests won't build but they do have version detection so should skip,
> I guess you might have trouble with PAC support which doesn't have
> detection in the tests? It's certainly old enough that I'm surprised to
> hear someone doing development for anything current with it.
This used to be a development machine, but now it is sufficiently old
that it is lightly used--that would explain how I could reserve it on
short notice for this. Maybe I'll adopt it and upgrade to a modern
distro, now that I seem to need an arm64 box.
>
> I just tried a Debian based GCC 8 container which seems pretty happy
> for arm64, the command was:
>
> make -j16 O=/tmp/out INSTALL_PATH=/tmp/kselftest \
> ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- \
> CROSS_COMPILE_COMPAT=arm-linux-gnueabihf- kselftest-install
>
> (the compat toolchain isn't used here IIRC). It does skip the MTE tests
> but otherwise isn't showing any obvious issues in the arm64 tests.
>
Thank you for providing a snapshot of what it looks like on gcc 8
over there.
OK, so actually, many of the failures were due to the "all" target
getting run too early (recursive make, again, uggh). With the fix below,
there are still a dozen failures in selftests, but only one in the arm64
tree, after all.
...
> That does seem to work around the issue at least with a quick out of
> tree build, including with GCC 8.
Great news! That's really helpful. And in fact, I have discovered two
more things:
1) The "emit_tests" target is there apparently because commit
313a4db7f3387 ("kselftest: arm64: extend toplevel skeleton Makefile")
believed that it was necessary to skip emitting tests if not on the
right native platform. I'm tempted to delete the entire emit_tests
target in both arm64 and riscv selftests (and that also seems to work
just fine) in order to simplify things, perhaps as a follow up step.
For now I'll just post the simpler fix, though.
2) riscv has copied this Makefile subtest technique to its (very small
so far) set of selftests. I have no native system to test any fixes on,
but I'm probably going to post a "blind" fix for that one, too.
thanks,
--
John Hubbard
NVIDIA
More information about the linux-arm-kernel
mailing list