Re: [PATCH-next v5 0/7] x86/boot: Remove run-time relocations from compressed kernel

From: Nick Desaulniers
Date: Fri Jul 17 2020 - 19:46:42 EST


On Fri, Jul 17, 2020 at 1:18 PM Arvind Sankar <nivedita@xxxxxxxxxxxx> wrote:
>
> Same as v5 previously posted, but rebased onto next-20200717.
>
> v5: https://lore.kernel.org/lkml/20200715004133.1430068-1-nivedita@xxxxxxxxxxxx/
>
> Ard Biesheuvel (3):
> x86/boot/compressed: Move .got.plt entries out of the .got section
> x86/boot/compressed: Force hidden visibility for all symbol references
> x86/boot/compressed: Get rid of GOT fixup code
>
> Arvind Sankar (4):
> x86/boot: Add .text.* to setup.ld
> x86/boot: Remove run-time relocations from .head.text code
> x86/boot: Remove run-time relocations from head_{32,64}.S
> x86/boot: Check that there are no run-time relocations

Thank you Arvind for the series. I did quick build+boot tests of x86
defconfigs with `make LLVM=1` which look good.

Further, I was able to build+boot i386 defconfigs with `make LLVM=1`
with your series, Mr. Rothwell's proposed fixed for today's linux-next
breakage: https://lore.kernel.org/linux-next/20200717213127.3bd426e1@xxxxxxxxxxxxxxxx/,
and Mr. Gerst's series for i386+clang support. So that looks like
with this series, we can now link i386 defconfig with LLD! Nice!

Tested-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>

>
> arch/x86/boot/compressed/Makefile | 39 +-----
> arch/x86/boot/compressed/head_32.S | 99 +++++----------
> arch/x86/boot/compressed/head_64.S | 165 ++++++++++---------------
> arch/x86/boot/compressed/mkpiggy.c | 6 +
> arch/x86/boot/compressed/vmlinux.lds.S | 24 +++-
> arch/x86/boot/setup.ld | 2 +-
> drivers/firmware/efi/libstub/Makefile | 2 +-
> drivers/firmware/efi/libstub/hidden.h | 6 -
> include/linux/hidden.h | 19 +++
> 9 files changed, 153 insertions(+), 209 deletions(-)
> delete mode 100644 drivers/firmware/efi/libstub/hidden.h
> create mode 100644 include/linux/hidden.h
>
>
> base-commit: aab7ee9f8ff0110bfcd594b33dc33748dc1baf46
> --
> 2.26.2
>


--
Thanks,
~Nick Desaulniers