Messages in this thread | ![/](/images/icornerl.gif) | | From | Nick Desaulniers <> | Date | Tue, 14 Dec 2021 11:34:02 -0800 | Subject | Re: [PATCH 0/3] MIPS: Add support for LTO |
| |
On Mon, Dec 13, 2021 at 2:49 PM Paul Cercueil <paul@crapouillou.net> wrote: > > Hi, > > With this set of patches, it becomes possible to build a LTO'd kernel > with LLVM/Clang on MIPS.
Paul, Overall, nice work pursuing this and working through all the related issues; thanks for the series!
We should clarify whether this is LTO_CLANG_THIN or LTO_CLANG_FULL. Getting support for either would be nice, but for each architecture has had its own distinct challenges.
> > This was tested on a Ingenic JZ4770 based system. It requires the > linking step of the vmlinuz.bin to be done with binutils' LD instead of > LLVM's ld.lld [1], but the vmlinuz ELF itself can be completely built > with LLVM.
eh, this patch set sounds incomplete then; Can we wait to resolve https://github.com/ClangBuiltLinux/linux/issues/1333 BEFORE this series? Hacking up arch/mips/boot/compressed/Makefile to force a different linker is not something we should encourage.
> > Strangely, the LTO'd kernel is bigger in size (3.6 MiB vs. 3.1 MiB > without LTO), which might be completely normal and I just have wrong > expectations.
Are you building with CC_OPTIMIZE_FOR_SIZE or CC_OPTIMIZE_FOR_SIZE? LTO != LD_DEAD_CODE_DATA_ELIMINATION
> > Cheers, > -Paul > > [1]: https://github.com/ClangBuiltLinux/linux/issues/1333 > > Paul Cercueil (3): > MIPS: boot/compressed: Disable abicalls > MIPS: boot/compressed: Build without LTO > MIPS: Add support for LTO > > arch/mips/Kconfig | 1 + > arch/mips/boot/compressed/Makefile | 7 +++++-- > 2 files changed, 6 insertions(+), 2 deletions(-) > > -- > 2.33.0 >
-- Thanks, ~Nick Desaulniers
| ![\](/images/icornerr.gif) |