Message ID | 20201009161338.657380-26-samitolvanen@google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add support for Clang LTO | expand |
On Fri, Oct 09, 2020 at 09:13:34AM -0700, Sami Tolvanen wrote: > Allow CONFIG_LTO_CLANG and CONFIG_THINLTO to be enabled. > > Signed-off-by: Sami Tolvanen <samitolvanen@google.com> > Reviewed-by: Kees Cook <keescook@chromium.org> > --- > arch/arm64/Kconfig | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig > index ad522b021f35..7016d193864f 100644 > --- a/arch/arm64/Kconfig > +++ b/arch/arm64/Kconfig > @@ -72,6 +72,8 @@ config ARM64 > select ARCH_USE_SYM_ANNOTATIONS > select ARCH_SUPPORTS_MEMORY_FAILURE > select ARCH_SUPPORTS_SHADOW_CALL_STACK if CC_HAVE_SHADOW_CALL_STACK > + select ARCH_SUPPORTS_LTO_CLANG > + select ARCH_SUPPORTS_THINLTO Please don't enable this for arm64 until we have the dependency stuff sorted out. I posted patches [1] for this before, but I think they should be part of this series as they don't make sense on their own. Will [1] https://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git/log/?h=rwonce/read-barrier-depends
On Mon, Oct 12, 2020 at 09:31:16AM +0100, Will Deacon wrote: > On Fri, Oct 09, 2020 at 09:13:34AM -0700, Sami Tolvanen wrote: > > Allow CONFIG_LTO_CLANG and CONFIG_THINLTO to be enabled. > > > > Signed-off-by: Sami Tolvanen <samitolvanen@google.com> > > Reviewed-by: Kees Cook <keescook@chromium.org> > > --- > > arch/arm64/Kconfig | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig > > index ad522b021f35..7016d193864f 100644 > > --- a/arch/arm64/Kconfig > > +++ b/arch/arm64/Kconfig > > @@ -72,6 +72,8 @@ config ARM64 > > select ARCH_USE_SYM_ANNOTATIONS > > select ARCH_SUPPORTS_MEMORY_FAILURE > > select ARCH_SUPPORTS_SHADOW_CALL_STACK if CC_HAVE_SHADOW_CALL_STACK > > + select ARCH_SUPPORTS_LTO_CLANG > > + select ARCH_SUPPORTS_THINLTO > > Please don't enable this for arm64 until we have the dependency stuff sorted > out. I posted patches [1] for this before, but I think they should be part > of this series as they don't make sense on their own. Oh, hm. We've been trying to trim down this series, since it's already quite large. Why can't [1] land first? It would make this easier to deal with, IMO. > [1] https://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git/log/?h=rwonce/read-barrier-depends
On Mon, Oct 12, 2020 at 01:44:56PM -0700, Kees Cook wrote: > On Mon, Oct 12, 2020 at 09:31:16AM +0100, Will Deacon wrote: > > On Fri, Oct 09, 2020 at 09:13:34AM -0700, Sami Tolvanen wrote: > > > Allow CONFIG_LTO_CLANG and CONFIG_THINLTO to be enabled. > > > > > > Signed-off-by: Sami Tolvanen <samitolvanen@google.com> > > > Reviewed-by: Kees Cook <keescook@chromium.org> > > > --- > > > arch/arm64/Kconfig | 2 ++ > > > 1 file changed, 2 insertions(+) > > > > > > diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig > > > index ad522b021f35..7016d193864f 100644 > > > --- a/arch/arm64/Kconfig > > > +++ b/arch/arm64/Kconfig > > > @@ -72,6 +72,8 @@ config ARM64 > > > select ARCH_USE_SYM_ANNOTATIONS > > > select ARCH_SUPPORTS_MEMORY_FAILURE > > > select ARCH_SUPPORTS_SHADOW_CALL_STACK if CC_HAVE_SHADOW_CALL_STACK > > > + select ARCH_SUPPORTS_LTO_CLANG > > > + select ARCH_SUPPORTS_THINLTO > > > > Please don't enable this for arm64 until we have the dependency stuff sorted > > out. I posted patches [1] for this before, but I think they should be part > > of this series as they don't make sense on their own. > > Oh, hm. We've been trying to trim down this series, since it's already > quite large. Why can't [1] land first? It would make this easier to deal > with, IMO. I'm happy to handle [1] along with the LTO Kconfig change when the time comes, if that helps. I just don't want to merge dead code! Will > > [1] https://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git/log/?h=rwonce/read-barrier-depends
On Mon, Oct 12, 2020 at 09:51:09PM +0100, Will Deacon wrote: > On Mon, Oct 12, 2020 at 01:44:56PM -0700, Kees Cook wrote: > > On Mon, Oct 12, 2020 at 09:31:16AM +0100, Will Deacon wrote: > > > On Fri, Oct 09, 2020 at 09:13:34AM -0700, Sami Tolvanen wrote: > > > > Allow CONFIG_LTO_CLANG and CONFIG_THINLTO to be enabled. > > > > > > > > Signed-off-by: Sami Tolvanen <samitolvanen@google.com> > > > > Reviewed-by: Kees Cook <keescook@chromium.org> > > > > --- > > > > arch/arm64/Kconfig | 2 ++ > > > > 1 file changed, 2 insertions(+) > > > > > > > > diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig > > > > index ad522b021f35..7016d193864f 100644 > > > > --- a/arch/arm64/Kconfig > > > > +++ b/arch/arm64/Kconfig > > > > @@ -72,6 +72,8 @@ config ARM64 > > > > select ARCH_USE_SYM_ANNOTATIONS > > > > select ARCH_SUPPORTS_MEMORY_FAILURE > > > > select ARCH_SUPPORTS_SHADOW_CALL_STACK if CC_HAVE_SHADOW_CALL_STACK > > > > + select ARCH_SUPPORTS_LTO_CLANG > > > > + select ARCH_SUPPORTS_THINLTO > > > > > > Please don't enable this for arm64 until we have the dependency stuff sorted > > > out. I posted patches [1] for this before, but I think they should be part > > > of this series as they don't make sense on their own. > > > > Oh, hm. We've been trying to trim down this series, since it's already > > quite large. Why can't [1] land first? It would make this easier to deal > > with, IMO. > > I'm happy to handle [1] along with the LTO Kconfig change when the time > comes, if that helps. I just don't want to merge dead code! Okay, understood. Thanks! > > Will > > > > [1] https://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git/log/?h=rwonce/read-barrier-depends
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index ad522b021f35..7016d193864f 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -72,6 +72,8 @@ config ARM64 select ARCH_USE_SYM_ANNOTATIONS select ARCH_SUPPORTS_MEMORY_FAILURE select ARCH_SUPPORTS_SHADOW_CALL_STACK if CC_HAVE_SHADOW_CALL_STACK + select ARCH_SUPPORTS_LTO_CLANG + select ARCH_SUPPORTS_THINLTO select ARCH_SUPPORTS_ATOMIC_RMW select ARCH_SUPPORTS_INT128 if CC_HAS_INT128 && (GCC_VERSION >= 50000 || CC_IS_CLANG) select ARCH_SUPPORTS_NUMA_BALANCING