Messages in this thread | | | Date | Fri, 24 Mar 2023 11:34:26 +0100 | Subject | Re: [PATCH v8 1/3] riscv: Introduce CONFIG_RELOCATABLE | From | Alexandre Ghiti <> |
| |
Hi Nick,
On 3/22/23 19:25, Nick Desaulniers wrote: > On Fri, Feb 24, 2023 at 7:58 AM Björn Töpel <bjorn@kernel.org> wrote: >> Alexandre Ghiti <alex@ghiti.fr> writes: >> >>> +cc linux-kbuild, llvm, Nathan, Nick >>> >>> On 2/15/23 15:36, Alexandre Ghiti wrote: >>>> From: Alexandre Ghiti <alex@ghiti.fr> >>>> >>> I tried a lot of things, but I struggle to understand, does anyone have >>> any idea? FYI, the same problem happens with LLVM. > Off the top of my head, no idea. > > (Maybe as a follow up to this series, I wonder if pursuing > ARCH_HAS_RELR for ARCH=riscv is worthwhile?)
IIUC, the goal for using RELR is to reduce the size of a kernel image: right now, this is not my priority, but I'll add that to my todo list because that may be useful to distros.
> >> Don't ask me *why*, but adding --emit-relocs to your linker flags solves >> "the NULL .rela.dyn" both for GCC and LLVM. >> >> The downside is that you end up with a bunch of .rela cruft in your >> vmlinux. > There was a patch just this week to use $(OBJCOPY) to strip these from > vmlinux (for x86). Looks like x86 uses --emit-relocs for KASLR: > https://lore.kernel.org/lkml/20230320121006.4863-1-petr.pavlu@suse.com/
That's nice, that would be an interesting intermediate step until we find the issue here as I believe it is important to have the relocations in the init section to save memory.
Thanks for your answer Nick, really appreciated,
Alex
| |