From 07e7a6078533daa2ef86769c29c28966acd62470 Mon Sep 17 00:00:00 2001 From: Thomas Deutschmann Date: Wed, 29 Aug 2018 00:44:38 +0200 Subject: sys-apps/kexec-tools: fix "Unhandled rela relocation: R_X86_64_PLT32" error Package-Manager: Portage-2.3.48, Repoman-2.3.10 --- ...dled-rela-relocation-R_X86_64_PLT32-error.patch | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 sys-apps/kexec-tools/files/kexec-tools-2.0.17-fix-unhandled-rela-relocation-R_X86_64_PLT32-error.patch (limited to 'sys-apps/kexec-tools/files') diff --git a/sys-apps/kexec-tools/files/kexec-tools-2.0.17-fix-unhandled-rela-relocation-R_X86_64_PLT32-error.patch b/sys-apps/kexec-tools/files/kexec-tools-2.0.17-fix-unhandled-rela-relocation-R_X86_64_PLT32-error.patch new file mode 100644 index 000000000000..5d691b34beca --- /dev/null +++ b/sys-apps/kexec-tools/files/kexec-tools-2.0.17-fix-unhandled-rela-relocation-R_X86_64_PLT32-error.patch @@ -0,0 +1,38 @@ +From b9de21ef51a7ceab7122a707c188602eae22c4ee Mon Sep 17 00:00:00 2001 +From: Chris Clayton +Date: Mon, 20 Aug 2018 12:00:31 +0100 +Subject: 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 +Acked-by: Baoquan He +Tested-by: Bhupesh Sharma +Acked-by: Bhupesh Sharma +Signed-off-by: Simon Horman +--- + 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: +-- +cgit 1.2-0.3.lf.el7 + -- cgit v1.2.3-65-gdbad