Dear Linux folks,
Playing with rcutorture
(`tools/testing/selftests/rcutorture/bin/torture.sh`), a Linux kernel
build failed, because the script sets and exports the environment
variable `KVM`. I was able to reproduce that manually (on x86_64):
$ make defconfig
$ scripts/config -m KVM
$ scripts/config -m KVM_INTEL
$ scripts/config -d KVM_AMD
$ scripts/config -d KVM_XEN
$ scripts/config -d KVM_MMU_AUDIT
$ export KVM=XXX
$ make arch/x86/kvm/kvm.o
[…]
LINK /dev/shm/linux-kvm/tools/objtool/objtool
make[2]: *** No rule to make target 'arch/x86/kvm/XXX/kvm_main.o',
needed by 'arch/x86/kvm/kvm.o'. Stop.
make[1]: *** [scripts/Makefile.build:550: arch/x86/kvm] Error 2
make: *** [Makefile:1831: arch/x86] Error 2
The directory `arch/x86/kvm/XXX` is created somehow.
Is that expected? Do you know what is going on? I wasn’t able to
reproduce this with other variables like `SND_HDA` for example.
Kind regards,
Paul
Dear Paul
Thank you for your trust in me.
I think the following patch has a good explanation of what happened ;-)
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/tools/testing/selftests/rcutorture/bin/torture.sh?id=a7d89cfb8e1269cb6d22453adba56b8d0218589f
"The torture-test scripting's long-standing use of KVM as the
environment variable tracking the pathname of the rcutorture directory
now conflicts with allmodconfig builds due to the
virt/kvm/Makefile.kvm file's use of this as a makefile variable"
Thanks
Zhouyi
On Sun, Feb 13, 2022 at 2:03 PM Paul Menzel <[email protected]> wrote:
>
> Dear Linux folks,
>
>
> Playing with rcutorture
> (`tools/testing/selftests/rcutorture/bin/torture.sh`), a Linux kernel
> build failed, because the script sets and exports the environment
> variable `KVM`. I was able to reproduce that manually (on x86_64):
>
> $ make defconfig
> $ scripts/config -m KVM
> $ scripts/config -m KVM_INTEL
> $ scripts/config -d KVM_AMD
> $ scripts/config -d KVM_XEN
> $ scripts/config -d KVM_MMU_AUDIT
> $ export KVM=XXX
> $ make arch/x86/kvm/kvm.o
> […]
> LINK /dev/shm/linux-kvm/tools/objtool/objtool
> make[2]: *** No rule to make target 'arch/x86/kvm/XXX/kvm_main.o',
> needed by 'arch/x86/kvm/kvm.o'. Stop.
> make[1]: *** [scripts/Makefile.build:550: arch/x86/kvm] Error 2
> make: *** [Makefile:1831: arch/x86] Error 2
>
> The directory `arch/x86/kvm/XXX` is created somehow.
>
> Is that expected? Do you know what is going on? I wasn’t able to
> reproduce this with other variables like `SND_HDA` for example.
>
>
> Kind regards,
>
> Paul