Messages in this thread | | | Date | Wed, 16 Nov 2022 13:48:28 -0800 | From | Florian Fainelli <> | Subject | Re: kbuild: check the minimum compiler version in Kconfig |
| |
Hi Masahiro, Nick,
The compiler version check performed with aec6c60a01d3a3170242d6a99372a388e1136dc6 ("kbuild: check the minimum compiler version in Kconfig") can be defeated and prevent running the *config targets if specifying LLVM=1 on the command line, in that way:
BR_BINARIES_DIR=/local/users/fainelli/buildroot-llvm/output/arm64/images LLVM=1 LLVM_IAS=1 PKG_CONFIG_PATH="" /usr/bin/make -j49 -C /local/users/fainelli/buildroot-llvm/output/arm64/build/linux-custom HOSTCC="/usr/bin/gcc" HOSTCC="/local/users/fainelli/buildroot-llvm/output/arm64/host/bin/ccache /usr/bin/gcc -O2 -I/local/users/fainelli/buildroot-llvm/output/arm64/host/include -DNDEBUG -L/local/users/fainelli/buildroot-llvm/output/arm64/host/lib -Wl,-rpath,/local/users/fainelli/buildroot-llvm/output/arm64/host/lib" ARCH=arm64 INSTALL_MOD_PATH=/local/users/fainelli/buildroot-llvm/output/arm64/target CROSS_COMPILE="/local/users/fainelli/buildroot-llvm/output/arm64/host/bin/aarch64-linux-" WERROR=0 DEPMOD=/local/users/fainelli/buildroot-llvm/output/arm64/host/sbin/depmod INSTALL_MOD_STRIP=1 HOSTCC="/usr/bin/gcc" menuconfig UPD scripts/kconfig/mconf-cfg HOSTCC scripts/kconfig/mconf.o HOSTCC scripts/kconfig/lxdialog/checklist.o HOSTCC scripts/kconfig/lxdialog/inputbox.o HOSTCC scripts/kconfig/lxdialog/menubox.o HOSTCC scripts/kconfig/lxdialog/textbox.o HOSTCC scripts/kconfig/lxdialog/util.o HOSTCC scripts/kconfig/lxdialog/yesno.o HOSTLD scripts/kconfig/mconf *** *** Compiler is too old. *** Your Clang version: 10.0.0 *** Minimum Clang version: 10.0.1 *** scripts/Kconfig.include:44: Sorry, this compiler is not supported.
Here, the compiler check is actually checking the host compiler clang version installed on my Ubuntu 20.04 system, as opposed to the cross compiler clang version that is being used.
It is not clear to me how to best address that, short of not specifying LLVM=1 on the kernel *config targets, but IMHO there is still an actual issue where we do not check the compiler that we would want to check.
Thanks! -- Florian
| |