Re: [PATCH v3 00/30] Add support for Clang LTO

From: Sami Tolvanen
Date: Fri Sep 18 2020 - 16:50:17 EST


On Fri, Sep 18, 2020 at 1:22 PM Sedat Dilek <sedat.dilek@xxxxxxxxx> wrote:
>
> On Fri, Sep 18, 2020 at 10:14 PM 'Sami Tolvanen' via Clang Built Linux
> <clang-built-linux@xxxxxxxxxxxxxxxx> wrote:
> >
> > This patch series adds support for building x86_64 and arm64 kernels
> > with Clang's Link Time Optimization (LTO).
> >
> > In addition to performance, the primary motivation for LTO is
> > to allow Clang's Control-Flow Integrity (CFI) to be used in the
> > kernel. Google has shipped millions of Pixel devices running three
> > major kernel versions with LTO+CFI since 2018.
> >
> > Most of the patches are build system changes for handling LLVM
> > bitcode, which Clang produces with LTO instead of ELF object files,
> > postponing ELF processing until a later stage, and ensuring initcall
> > ordering.
> >
> > Note that patches 1-5 are not directly related to LTO, but are
> > needed to compile LTO kernels with ToT Clang, so I'm including them
> > in the series for your convenience:
> >
> > - Patches 1-3 fix build issues with LLVM and they are already in
> > linux-next.
> >
> > - Patch 4 fixes x86 builds with LLVM IAS, but it hasn't yet been
> > picked up by maintainers.
> >
> > - Patch 5 is from Masahiro's kbuild tree and makes the LTO linker
> > script changes much cleaner.
> >
>
> Hi Sami,
>
> might be good to point to your GitHub tree and corresponding
> release-tag for easy fetching.

Ah, true. You can also pull this series from

https://github.com/samitolvanen/linux.git lto-v3

Sami