forked from mirrors/linux
		
	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. Suggested-by: Sedat Dilek <sedat.dilek@gmail.com> Suggested-by: Nathan Chancellor <natechancellor@gmail.com> Suggested-by: Kees Cook <keescook@chromium.org> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Tested-by: Sedat Dilek <sedat.dilek@gmail.com> Reviewed-by: Kees Cook <keescook@chromium.org> Reviewed-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> Reviewed-by: Sedat Dilek <sedat.dilek@gmail.com> Acked-by: Marco Elver <elver@google.com> Acked-by: Nathan Chancellor <natechancellor@gmail.com> Acked-by: Sedat Dilek <sedat.dilek@gmail.com> Cc: Andrey Konovalov <andreyknvl@google.com> Cc: Fangrui Song <maskray@google.com> Cc: Masahiro Yamada <masahiroy@kernel.org> Cc: Daniel Borkmann <daniel@iogearbox.net> Cc: Alexei Starovoitov <ast@kernel.org> Cc: Will Deacon <will@kernel.org> Cc: Vincenzo Frascino <vincenzo.frascino@arm.com> Link: https://lkml.kernel.org/r/20200902225911.209899-1-ndesaulniers@google.com Link: https://lkml.kernel.org/r/20200902225911.209899-2-ndesaulniers@google.com Link: https://github.com/ClangBuiltLinux/linux/issues/9 Link: https://github.com/ClangBuiltLinux/linux/issues/941 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
		
							parent
							
								
									029f56db6a
								
							
						
					
					
						commit
						1f7a44f63e
					
				
					 1 changed files with 8 additions and 0 deletions
				
			
		|  | @ -3,6 +3,14 @@ | ||||||
| #error "Please don't include <linux/compiler-clang.h> directly, include <linux/compiler.h> instead." | #error "Please don't include <linux/compiler-clang.h> directly, include <linux/compiler.h> instead." | ||||||
| #endif | #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 */ | /* Compiler specific definitions for Clang compiler */ | ||||||
| 
 | 
 | ||||||
| /* same as gcc, this was present in clang-2.6 so we can assume it works
 | /* same as gcc, this was present in clang-2.6 so we can assume it works
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Nick Desaulniers
						Nick Desaulniers