Thread (63 messages) flat view 63 messages, 11 authors, 2017-11-09

[PATCH 13/15] arm64: fix mrs_s/msr_s macros for clang LTO

From: Maxim Kuvyrkov <hidden>
Date: 2017-11-09 04:48:11
Also in: lkml

On Nov 9, 2017, at 3:02 AM, Andi Kleen [off-list ref] wrote:
quoted
There's the series from Andi Kleen that enables LTO for Linux on x86:
https://lwn.net/Articles/512548/
https://github.com/andikleen/linux-misc/tree/lto-411-1

It has solved many problems you also try to solve, and some patches
are looking very similar. 

At now we have different patchsets for gcc and clang, and it would be
better to have them together. One thing I'm worried is that you introduce
CONFIG_CLANG_LTO and use it for all cases, including that where more
generic CONFIG_LTO should be used.
Yes would be good to merge the two. I've been looking at updating
my old one.

I don't cover any ARM code, but lots of generic code. My patches
also worked on MIPS at least.

There's also older patches to enable single-pass-linking for kallsyms,
which is extremly useful for LTO build performance.
[Yury, thanks for the CC:]

Chiming in from the toolchain side, Linaro's Toolchain team will try to help with any GCC or Clang issues that are exposed by building kernel with LTO on arm64 / arm.

Regarding CONFIG_* options, I would expect most of the configuration changes to be equally valid for both GCC's and Clang's LTO support.  Sami, I don't think it's fair to ask you to support both Clang and GCC in your patchset, but, where changes are obviously toolchain-agnostic, could you use CONFIG_LTO?  And use CONFIG_LTO_CLANG for Clang-specific parts?

This way we will be able to avoid most of the refactoring when adding support for GCC's LTO.

Thank you,

--
Maxim Kuvyrkov
www.linaro.org
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help