(Possible) fix for "Unhandled rela relocation: R_X86_64_PLT32" error
bhe at redhat.com
Mon Aug 20 01:37:18 PDT 2018
On 07/25/18 at 09:46am, Chris Clayton wrote:
> I haven't rebooted my laptop with kexec for quite some time, but when I tried to this morning I got the error you will
> see in $SUBJECT. The error occurs with both kexec-tools-2.0.17 or -2.0.16 run on either 4.18.0-rc6+ (built from a git
> pull this morning) or 4.14.57 kernels.
> I searched for "R_X86_64_PLT32" and found that there was a change to the kernel that may be related -
> b21ebf2fb4cde1618915a97cc773e287ff49173e x86: Treat R_X86_64_PLT32 as R_X86_64_PC32. So I replicated the change that
> patch made to arch/x86/kernel/machine_kexec_64.c in kexec/arch/x86_64/kexec-elf-rel-x86_64.c and kexec now reboots into
> the new kernel.
> I don't know enough about relocations and the like to know whether my 'fix' is correct and the best way to go about it,
> but I've included it below for your consideration.
> Signed-off-by: Chris Clayton <chris2553 at googlemail.com>
> --- kexec-tools-2.0.17/kexec/arch/x86_64/kexec-elf-rel-x86_64.c.orig 2018-07-25 08:48:24.152054030 +0100
> +++ kexec-tools-2.0.17/kexec/arch/x86_64/kexec-elf-rel-x86_64.c 2018-07-25 08:49:16.860055330 +0100
> @@ -79,6 +79,7 @@ void machine_apply_elf_rel(struct mem_eh
> goto overflow;
> case R_X86_64_PC32:
> + case R_X86_64_PLT32:
Looks like a good fix, could you make a formal patch, e.g rearrange the
patch log, I woule like to ack it.
> *(uint32_t *)location = value - address;
> kexec mailing list
> kexec at lists.infradead.org
More information about the kexec