The patch titled Subject: compiler-clang: add build check for clang 10.0.1 has been added to the -mm tree. Its filename is compiler-clang-add-build-check-for-clang-1001.patch This patch should soon appear at https://ozlabs.org/~akpm/mmots/broken-out/compiler-clang-add-build-check-for-clang-1001.patch and later at https://ozlabs.org/~akpm/mmotm/broken-out/compiler-clang-add-build-check-for-clang-1001.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> Subject: compiler-clang: add build check for clang 10.0.1 Patch series "set clang minimum version to 10.0.1", v3. Adds a compile time #error to compiler-clang.h setting the effective minimum supported version to clang 10.0.1. A separate patch has already been picked up into the Documentation/ tree also confirming the version. Next are a series of reverts. One for 32b arm is a partial revert. Then Marco suggested fixes to KASAN docs. Finally, improve the warning for GCC too as per Kees. This patch (of 7): During Plumbers 2020, we voted to just support the latest release of Clang for now. Add a compile time check for this. We plan to remove workarounds for older versions now, which will break in subtle and not so subtle ways. Link: https://lkml.kernel.org/r/20200902225911.209899-1-ndesaulniers@xxxxxxxxxx Link: https://lkml.kernel.org/r/20200902225911.209899-2-ndesaulniers@xxxxxxxxxx Link: https://github.com/ClangBuiltLinux/linux/issues/9 Link: https://github.com/ClangBuiltLinux/linux/issues/941 Signed-off-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> Suggested-by: Sedat Dilek <sedat.dilek@xxxxxxxxx> Suggested-by: Nathan Chancellor <natechancellor@xxxxxxxxx> Suggested-by: Kees Cook <keescook@xxxxxxxxxxxx> Tested-by: Sedat Dilek <sedat.dilek@xxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> Reviewed-by: Miguel Ojeda <miguel.ojeda.sandonis@xxxxxxxxx> Reviewed-by: Sedat Dilek <sedat.dilek@xxxxxxxxx> Acked-by: Marco Elver <elver@xxxxxxxxxx> Acked-by: Nathan Chancellor <natechancellor@xxxxxxxxx> Acked-by: Sedat Dilek <sedat.dilek@xxxxxxxxx> Cc: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Cc: Fangrui Song <maskray@xxxxxxxxxx> Cc: Masahiro Yamada <masahiroy@xxxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxx> Cc: Will Deacon <will@xxxxxxxxxx> Cc: Vincenzo Frascino <vincenzo.frascino@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- include/linux/compiler-clang.h | 8 ++++++++ 1 file changed, 8 insertions(+) --- a/include/linux/compiler-clang.h~compiler-clang-add-build-check-for-clang-1001 +++ a/include/linux/compiler-clang.h @@ -3,6 +3,14 @@ #error "Please don't include <linux/compiler-clang.h> directly, include <linux/compiler.h> instead." #endif +#define CLANG_VERSION (__clang_major__ * 10000 \ + + __clang_minor__ * 100 \ + + __clang_patchlevel__) + +#if CLANG_VERSION < 100001 +# error Sorry, your version of Clang is too old - please use 10.0.1 or newer. +#endif + /* Compiler specific definitions for Clang compiler */ /* same as gcc, this was present in clang-2.6 so we can assume it works _ Patches currently in -mm which might be from ndesaulniers@xxxxxxxxxx are maintainers-add-llvm-maintainers.patch lib-stringc-implement-stpcpy.patch compiler-clang-add-build-check-for-clang-1001.patch revert-kbuild-disable-clangs-default-use-of-fmerge-all-constants.patch revert-arm64-bti-require-clang-=-1001-for-in-kernel-bti-support.patch revert-arm64-vdso-fix-compilation-with-clang-older-than-8.patch partially-revert-arm-8905-1-emit-__gnu_mcount_nc-when-using-clang-1000-or-newer.patch compiler-gcc-improve-version-error.patch