Re: [PATCH v3 00/30] Add support for Clang LTO
From: Nick Desaulniers
Date: Fri Sep 18 2020 - 16:53:31 EST
On Fri, Sep 18, 2020 at 1:50 PM Sami Tolvanen <samitolvanen@xxxxxxxxxx> wrote:
>
> 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
Also, I've been using b4 happily for a short while now.
https://people.kernel.org/monsieuricon/introducing-b4-and-patch-attestation
My workflow would be: check lore.kernel.org/lkml/
for the series in question. In this case:
https://lore.kernel.org/lkml/CABCJKueyWvNB2MQw_PCLtZb8F1+sA1QOLJi_5qMKwdFCcwSMGg@xxxxxxxxxxxxxx/T/#t
is the cover letter. Then in my tree:
$ b4 am https://lore.kernel.org/lkml/CABCJKueyWvNB2MQw_PCLtZb8F1+sA1QOLJi_5qMKwdFCcwSMGg@xxxxxxxxxxxxxx/T/#t
-o - | git am
--
Thanks,
~Nick Desaulniers