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 <chris2...@googlemail.com>
---
 kexec/arch/x86_64/kexec-elf-rel-x86_64.c | 1 +
 1 file changed, 1 insertion(+)

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 7fdde73..db85b44 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:
-- 
2.13.6


_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

Reply via email to