Messages in this thread | | | Date | Mon, 10 Jul 2023 16:10:14 -0700 | Subject | Re: [PATCH] selftests: Fix arm64 test installation | From | John Hubbard <> |
| |
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
| |