[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