[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <75e07bb8-e9e2-428f-85d7-5c5b9dc7b1c5@ghiti.fr>
Date: Mon, 21 Apr 2025 08:04:21 +0200
From: Alexandre Ghiti <alex@...ti.fr>
To: Alexandre Ghiti <alexghiti@...osinc.com>,
Paul Walmsley <paul.walmsley@...ive.com>, Palmer Dabbelt
<palmer@...belt.com>, Björn Töpel <bjorn@...osinc.com>,
Masahiro Yamada <masahiroy@...nel.org>, Nathan Chancellor
<nathan@...nel.org>, Nicolas Schier <nicolas@...sle.eu>,
Ard Biesheuvel <ardb@...nel.org>, Charlie Jenkins <charlie@...osinc.com>,
linux-kernel@...r.kernel.org, linux-riscv@...ts.infradead.org,
linux-kbuild@...r.kernel.org
Subject: Re: [PATCH v3] scripts: Do not strip .rela.dyn section
Hi Masahiro,
On 08/04/2025 09:28, Alexandre Ghiti wrote:
> The .rela.dyn section contains runtime relocations and is only emitted
> for a relocatable kernel.
>
> riscv uses this section to relocate the kernel at runtime but that section
> is stripped from vmlinux. That prevents kexec to successfully load vmlinux
> since it does not contain the relocations info needed.
>
> Fixes: 559d1e45a16d ("riscv: Use --emit-relocs in order to move .rela.dyn in init")
> Tested-by: Björn Töpel <bjorn@...osinc.com>
> Reviewed-by: Björn Töpel <bjorn@...osinc.com>
> Acked-by: Ard Biesheuvel <ardb@...nel.org>
> Signed-off-by: Alexandre Ghiti <alexghiti@...osinc.com>
> ---
>
> Changes in v3:
> - Rebase on top of 6.15-rc1
> - Change the fixes tag
>
> Changes in v2:
> - Changelog modification (Ard)
> - Remove ARCH_WANTS_RELA_DYN (Ard)
>
> scripts/Makefile.vmlinux | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/Makefile.vmlinux b/scripts/Makefile.vmlinux
> index b0a6cd5b818c..85d60d986401 100644
> --- a/scripts/Makefile.vmlinux
> +++ b/scripts/Makefile.vmlinux
> @@ -13,7 +13,7 @@ ifdef CONFIG_ARCH_VMLINUX_NEEDS_RELOCS
> vmlinux-final := vmlinux.unstripped
>
> quiet_cmd_strip_relocs = RSTRIP $@
> - cmd_strip_relocs = $(OBJCOPY) --remove-section='.rel*' $< $@
> + cmd_strip_relocs = $(OBJCOPY) --remove-section='.rel*' --remove-section=!'.rel*.dyn' $< $@
>
> vmlinux: $(vmlinux-final) FORCE
> $(call if_changed,strip_relocs)
Do you think you can merge that in the next rc? If not, I can merge it
if you add your AB :)
Thanks,
Alex
Powered by blists - more mailing lists