diff options
author | Chris Clayton <chris2553@googlemail.com> | 2018-08-20 12:00:31 +0100 |
---|---|---|
committer | Simon Horman <horms@verge.net.au> | 2018-08-24 09:54:06 +0200 |
commit | b9de21ef51a7ceab7122a707c188602eae22c4ee (patch) | |
tree | 1b798d6dab0e4a9cdf3abc59274cc0389180b155 | |
parent | ca4823aa2fc28e00400e65473caeede5cadd0da0 (diff) | |
download | kexec-tools-b9de21ef51a7ceab7122a707c188602eae22c4ee.tar.gz |
kexec: fix for "Unhandled rela relocation: R_X86_64_PLT32" error
In response to a change in binutils, commit b21ebf2fb4c
(x86: Treat R_X86_64_PLT32 as R_X86_64_PC32) was applied to
the linux kernel during the 4.16 development cycle and has
since been backported to earlier stable kernel series. The
change results in the failure message in $SUBJECT when
rebooting via kexec.
Fix this by replicating the change in kexec.
Signed-off-by: Chris Clayton <chris2553@googlemail.com>
Acked-by: Baoquan He <bhe@redhat.com>
Tested-by: Bhupesh Sharma <bhsharma@redhat.com>
Acked-by: Bhupesh Sharma <bhsharma@redhat.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
-rw-r--r-- | kexec/arch/x86_64/kexec-elf-rel-x86_64.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c index 7fdde73a..db85b443 100644 --- a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c +++ b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c @@ -79,6 +79,7 @@ void machine_apply_elf_rel(struct mem_ehdr *UNUSED(ehdr), goto overflow; break; case R_X86_64_PC32: + case R_X86_64_PLT32: *(uint32_t *)location = value - address; break; default: |