On 07/25/18 at 09:46am, Chris Clayton wrote: > Hi. > > 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@xxxxxxxxxxxxxx> > > --- 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; > break; > 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; > break; > default: > > _______________________________________________ > kexec mailing list > kexec@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/kexec _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec