[PATCH 0/3] MIPS: Add support for LTO

From: Paul Cercueil
Date: Mon Dec 13 2021 - 17:49:30 EST


Hi,

With this set of patches, it becomes possible to build a LTO'd kernel
with LLVM/Clang on MIPS.

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.

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.

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