Hi Sami, On Wed, Nov 15, 2017 at 01:34:28PM -0800, Sami Tolvanen wrote: > Allow CONFIG_LTO_CLANG to be enabled for the architecture. > > Signed-off-by: Sami Tolvanen <samitolvanen@xxxxxxxxxx> > --- > arch/arm64/Kconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig > index 3a70f763e18a..58504327b9f6 100644 > --- a/arch/arm64/Kconfig > +++ b/arch/arm64/Kconfig > @@ -40,6 +40,7 @@ config ARM64 > select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE if !PREEMPT > select ARCH_USE_CMPXCHG_LOCKREF > select ARCH_USE_QUEUED_RWLOCKS > + select ARCH_SUPPORTS_LTO_CLANG I'll be honest with you: I'm absolutely terrified about enabling this. How much testing has this seen? The main thing that worries me is that this gives the toolchain a lot more freedom to break dependency ordering with RCU, leading to subtle concurrency issues that would actually break on arm64. Specifically, I'm worried about value analysis that could potentially convert an address dependency into a control dependency. Right now, the C standard isn't on our side here and we're relying on the compiler not doing this kind of thing. Can we continue to rely on that in the face of LTO? Will -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html