Message ID | 20240125-bump-min-llvm-ver-to-13-0-1-v1-5-f5ff9bda41c5@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Bump the minimum supported version of LLVM to 13.0.1 | expand |
On Thu, Jan 25, 2024 at 03:55:11PM -0700, Nathan Chancellor wrote: > Now that the minimum supported version of LLVM for building the kernel > has been bumped to 13.0.1, several conditions become tautologies, as > they will always be true because the build will fail during the > configuration stage for older LLVM versions. Drop them, as they are > unnecessary. > > Signed-off-by: Nathan Chancellor <nathan@kernel.org> > --- > Cc: catalin.marinas@arm.com > Cc: will@kernel.org > Cc: mark.rutland@arm.com > Cc: linux-arm-kernel@lists.infradead.org > --- > arch/arm64/Kconfig | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig > index 5a8acca4dbf4..cb34e7d780c0 100644 > --- a/arch/arm64/Kconfig > +++ b/arch/arm64/Kconfig > @@ -383,7 +383,7 @@ config BUILTIN_RETURN_ADDRESS_STRIPS_PAC > bool > # Clang's __builtin_return_adddress() strips the PAC since 12.0.0 > # https://github.com/llvm/llvm-project/commit/2a96f47c5ffca84cd774ad402cacd137f4bf45e2 > - default y if CC_IS_CLANG && (CLANG_VERSION >= 120000) > + default y if CC_IS_CLANG > # GCC's __builtin_return_address() strips the PAC since 11.1.0, > # and this was backported to 10.2.0, 9.4.0, 8.5.0, but not earlier > # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94891 > @@ -1387,7 +1387,6 @@ choice > > config CPU_BIG_ENDIAN > bool "Build big-endian kernel" > - depends on !LD_IS_LLD || LLD_VERSION >= 130000 > # https://github.com/llvm/llvm-project/commit/1379b150991f70a5782e9a143c2ba5308da1161c We can delete the URL here, since that was just to describe why this depended upon LLVM 13+; it's weird for it to sit here on its own. The URL above for __builtin_return_address() can stay or go; it may as well stay since we have the comment aboout LLvm 12+ above it. With that: Acked-by: Mark Rutland <mark.rutland@arm.com> Mark. > depends on AS_IS_GNU || AS_VERSION >= 150000 > help > @@ -2018,8 +2017,6 @@ config ARM64_BTI_KERNEL > depends on !CC_IS_GCC || GCC_VERSION >= 100100 > # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106671 > depends on !CC_IS_GCC > - # https://github.com/llvm/llvm-project/commit/a88c722e687e6780dcd6a58718350dc76fcc4cc9 > - depends on !CC_IS_CLANG || CLANG_VERSION >= 120000 > depends on (!FUNCTION_GRAPH_TRACER || DYNAMIC_FTRACE_WITH_ARGS) > help > Build the kernel with Branch Target Identification annotations > > -- > 2.43.0 >
On Fri, Jan 26, 2024 at 12:59:55PM +0000, Mark Rutland wrote: > On Thu, Jan 25, 2024 at 03:55:11PM -0700, Nathan Chancellor wrote: > > Now that the minimum supported version of LLVM for building the kernel > > has been bumped to 13.0.1, several conditions become tautologies, as > > they will always be true because the build will fail during the > > configuration stage for older LLVM versions. Drop them, as they are > > unnecessary. > > > > Signed-off-by: Nathan Chancellor <nathan@kernel.org> > > --- > > Cc: catalin.marinas@arm.com > > Cc: will@kernel.org > > Cc: mark.rutland@arm.com > > Cc: linux-arm-kernel@lists.infradead.org > > --- > > arch/arm64/Kconfig | 5 +---- > > 1 file changed, 1 insertion(+), 4 deletions(-) > > > > diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig > > index 5a8acca4dbf4..cb34e7d780c0 100644 > > --- a/arch/arm64/Kconfig > > +++ b/arch/arm64/Kconfig > > @@ -383,7 +383,7 @@ config BUILTIN_RETURN_ADDRESS_STRIPS_PAC > > bool > > # Clang's __builtin_return_adddress() strips the PAC since 12.0.0 > > # https://github.com/llvm/llvm-project/commit/2a96f47c5ffca84cd774ad402cacd137f4bf45e2 > > - default y if CC_IS_CLANG && (CLANG_VERSION >= 120000) > > + default y if CC_IS_CLANG > > # GCC's __builtin_return_address() strips the PAC since 11.1.0, > > # and this was backported to 10.2.0, 9.4.0, 8.5.0, but not earlier > > # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94891 > > @@ -1387,7 +1387,6 @@ choice > > > > config CPU_BIG_ENDIAN > > bool "Build big-endian kernel" > > - depends on !LD_IS_LLD || LLD_VERSION >= 130000 > > # https://github.com/llvm/llvm-project/commit/1379b150991f70a5782e9a143c2ba5308da1161c > > We can delete the URL here, since that was just to describe why this depended > upon LLVM 13+; it's weird for it to sit here on its own. I think this is the URL for the fix for the problem brought up by commit 146a15b87335 ("arm64: Restrict CPU_BIG_ENDIAN to GNU as or LLVM IAS 15.x or newer"), so I think it should stay? It does not look like I ever added a link or context for the LLD line, I definitely should have. > The URL above for __builtin_return_address() can stay or go; it may as well > stay since we have the comment aboout LLvm 12+ above it. That's the conclusion I came to as well. Thanks a lot for taking a look! Cheers, Nathan > With that: > > Acked-by: Mark Rutland <mark.rutland@arm.com> > > Mark. > > > depends on AS_IS_GNU || AS_VERSION >= 150000 > > help > > @@ -2018,8 +2017,6 @@ config ARM64_BTI_KERNEL > > depends on !CC_IS_GCC || GCC_VERSION >= 100100 > > # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106671 > > depends on !CC_IS_GCC > > - # https://github.com/llvm/llvm-project/commit/a88c722e687e6780dcd6a58718350dc76fcc4cc9 > > - depends on !CC_IS_CLANG || CLANG_VERSION >= 120000 > > depends on (!FUNCTION_GRAPH_TRACER || DYNAMIC_FTRACE_WITH_ARGS) > > help > > Build the kernel with Branch Target Identification annotations > > > > -- > > 2.43.0 > > >
On Fri, Jan 26, 2024 at 09:10:25AM -0700, Nathan Chancellor wrote: > On Fri, Jan 26, 2024 at 12:59:55PM +0000, Mark Rutland wrote: > > On Thu, Jan 25, 2024 at 03:55:11PM -0700, Nathan Chancellor wrote: > > > config CPU_BIG_ENDIAN > > > bool "Build big-endian kernel" > > > - depends on !LD_IS_LLD || LLD_VERSION >= 130000 > > > # https://github.com/llvm/llvm-project/commit/1379b150991f70a5782e9a143c2ba5308da1161c > > > > We can delete the URL here, since that was just to describe why this depended > > upon LLVM 13+; it's weird for it to sit here on its own. > > I think this is the URL for the fix for the problem brought up by > commit 146a15b87335 ("arm64: Restrict CPU_BIG_ENDIAN to GNU as or LLVM > IAS 15.x or newer"), so I think it should stay? It does not look like I > ever added a link or context for the LLD line, I definitely should have. Whoops; I clearly misread that, and yes it should stay. Sorry about that; for the patch as-is: Acked-by: Mark Rutland <mark.rutland@arm.com> Mark.
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 5a8acca4dbf4..cb34e7d780c0 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -383,7 +383,7 @@ config BUILTIN_RETURN_ADDRESS_STRIPS_PAC bool # Clang's __builtin_return_adddress() strips the PAC since 12.0.0 # https://github.com/llvm/llvm-project/commit/2a96f47c5ffca84cd774ad402cacd137f4bf45e2 - default y if CC_IS_CLANG && (CLANG_VERSION >= 120000) + default y if CC_IS_CLANG # GCC's __builtin_return_address() strips the PAC since 11.1.0, # and this was backported to 10.2.0, 9.4.0, 8.5.0, but not earlier # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94891 @@ -1387,7 +1387,6 @@ choice config CPU_BIG_ENDIAN bool "Build big-endian kernel" - depends on !LD_IS_LLD || LLD_VERSION >= 130000 # https://github.com/llvm/llvm-project/commit/1379b150991f70a5782e9a143c2ba5308da1161c depends on AS_IS_GNU || AS_VERSION >= 150000 help @@ -2018,8 +2017,6 @@ config ARM64_BTI_KERNEL depends on !CC_IS_GCC || GCC_VERSION >= 100100 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106671 depends on !CC_IS_GCC - # https://github.com/llvm/llvm-project/commit/a88c722e687e6780dcd6a58718350dc76fcc4cc9 - depends on !CC_IS_CLANG || CLANG_VERSION >= 120000 depends on (!FUNCTION_GRAPH_TRACER || DYNAMIC_FTRACE_WITH_ARGS) help Build the kernel with Branch Target Identification annotations
Now that the minimum supported version of LLVM for building the kernel has been bumped to 13.0.1, several conditions become tautologies, as they will always be true because the build will fail during the configuration stage for older LLVM versions. Drop them, as they are unnecessary. Signed-off-by: Nathan Chancellor <nathan@kernel.org> --- Cc: catalin.marinas@arm.com Cc: will@kernel.org Cc: mark.rutland@arm.com Cc: linux-arm-kernel@lists.infradead.org --- arch/arm64/Kconfig | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-)