Thread (103 messages) 103 messages, 16 authors, 2017-12-04

[PATCH v2 18/18] arm64: select ARCH_SUPPORTS_LTO_CLANG

From: peterz@infradead.org (Peter Zijlstra)
Date: 2017-11-16 16:31:20
Also in: linux-kbuild, lkml

On Thu, Nov 16, 2017 at 08:17:31AM -0800, Sami Tolvanen wrote:
On Thu, Nov 16, 2017 at 11:58:11AM +0000, Will Deacon wrote:
quoted
I'll be honest with you: I'm absolutely terrified about enabling this.
That's understandable, I wouldn't want to enable this by default
quite yet either. This patch doesn't enable LTO for arm64, just makes
it possible to enable the feature. I'm perfectly fine with marking
CONFIG_LTO_CLANG experimental if it makes people more comfortable.
quoted
How much testing has this seen?
I've been running clang LTO kernels for a few months on a Pixel 2 device
without any issues. This is on a 4.4 kernel though.
quoted
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?
I'll have to check with our LLVM experts, but I have not run into these
issues with current compiler versions. Looking at Andi's old patches,
looks like gcc might be more aggressive in reordering things with LTO
than clang.
Ideally we'd get the toolchain people to commit to supporting the kernel
memory model along side the C11 one. That would help a ton.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help