LTO with MODVERSIONS will fail in generating correct CRC because the makefile rule doesn't work for make with version 3.8X.[1] Thus we need to check make version during selecting on LTO Kconfig. and the suitable version should be 4.2(40200) which released in 2016[2]. [1] https://lore.kernel.org/lkml/20210616080252.32046-1-lecopzer.chen@xxxxxxxxxxxx/ [2] https://ftp.gnu.org/gnu/make/ Signed-off-by: Lecopzer Chen <lecopzer.chen@xxxxxxxxxxxx> --- arch/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/Kconfig b/arch/Kconfig index 129df498a8e1..beee68149da8 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -639,6 +639,7 @@ config HAS_LTO_CLANG def_bool y # Clang >= 11: https://github.com/ClangBuiltLinux/linux/issues/510 depends on CC_IS_CLANG && CLANG_VERSION >= 110000 && LD_IS_LLD && AS_IS_LLVM + depends on !MODVERSIONS || MAKE_VERSION >= 40200 depends on $(success,$(NM) --help | head -n 1 | grep -qi llvm) depends on $(success,$(AR) --help | head -n 1 | grep -qi llvm) depends on ARCH_SUPPORTS_LTO_CLANG -- 2.18.0