On Tue, Aug 22, 2023 at 11:26 PM Justin Stitt justinstitt@google.com wrote:
On Tue, Aug 22, 2023 at 2:15 PM Benjamin Tissoires benjamin.tissoires@redhat.com wrote:
On Tue, Aug 22, 2023 at 11:06 PM Benjamin Tissoires benjamin.tissoires@redhat.com wrote:
On Tue, Aug 22, 2023 at 10:57 PM Justin Stitt justinstitt@google.com wrote:
[...]
> Here's the invocation I am running to build kselftest: > `$ make LLVM=1 ARCH=x86_64 mrproper headers && make LLVM=1 ARCH=x86_64 > -j128 V=1 -C tools/testing/selftests`
I think I fixed the same issue in the script I am running to launch those tests in a VM. This was in commit f9abdcc617dad5f14bbc2ebe96ee99f3e6de0c4e (in the v6.5-rc+ series).
And in the commit log, I wrote:
According to commit 01d6c48a828b ("Documentation: kselftest: "make headers" is a prerequisite"), running the kselftests requires to run "make headers" first.
So my assumption is that you also need to run "make headers" with the proper flags before compiling the selftests themselves (I might be wrong but that's how I read the commit).
In my original email I pasted the invocation I used which includes the headers target. What are the "proper flags" in this case?
"make LLVM=1 ARCH=x86_64 headers" no?
But now I'm starting to wonder if that was not the intent of your combined "make mrproper headers". I honestly never tried to combine the 2. It's worth a try to split them I would say.
Apologies, I just tested it, and it works (combining the 2).
Which kernel are you trying to test? I tested your 2 commands on v6.5-rc7 and it just works.
I'm also on v6.5-rc7 (706a741595047797872e669b3101429ab8d378ef)
I ran these exact commands: | $ make mrproper | $ make LLVM=1 ARCH=x86_64 headers | $ make LLVM=1 ARCH=x86_64 -j128 -C tools/testing/selftests TARGETS=hid &> out
and here's the contents of `out` (still warnings/errors): https://gist.github.com/JustinStitt/d0c30180a2a2e046c32d5f0ce5f59c6d
I have a feeling I'm doing something fundamentally incorrectly. Any ideas?
Sigh... there is a high chance my Makefile is not correct and uses the installed headers (I was running the exact same commands, but on a v6.4-rc7+ kernel).
But sorry, it will have to wait for tomorrow if you want me to have a look at it. It's 11:35 PM here, and I need to go to bed
Cheers, Benjamin
To be clear, I can build the Kernel itself just fine across many configs and architectures. I have, at the very least, the dependencies required to accomplish that.
FTR: $> git checkout v6.5-rc7 $> make LLVM=1 ARCH=x86_64 mrproper headers $> make LLVM=1 ARCH=x86_64 -j8 -C tools/testing/selftests TARGETS=hid
-> BINARY hid_bpf
Cheers, Benjamin