Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame^] | 1 | From b9de21ef51a7ceab7122a707c188602eae22c4ee Mon Sep 17 00:00:00 2001 |
| 2 | From: Chris Clayton <chris2553@googlemail.com> |
| 3 | Date: Mon, 20 Aug 2018 12:00:31 +0100 |
| 4 | Subject: [PATCH] kexec: fix for "Unhandled rela relocation: R_X86_64_PLT32" error |
| 5 | |
| 6 | In response to a change in binutils, commit b21ebf2fb4c |
| 7 | (x86: Treat R_X86_64_PLT32 as R_X86_64_PC32) was applied to |
| 8 | the linux kernel during the 4.16 development cycle and has |
| 9 | since been backported to earlier stable kernel series. The |
| 10 | change results in the failure message in $SUBJECT when |
| 11 | rebooting via kexec. |
| 12 | |
| 13 | Fix this by replicating the change in kexec. |
| 14 | |
| 15 | Upstream-Status: Backport[https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git/commit/?id=b9de21ef51a7ceab7122a707c188602eae22c4ee] |
| 16 | |
| 17 | Signed-off-by: Chris Clayton <chris2553@googlemail.com> |
| 18 | Acked-by: Baoquan He <bhe@redhat.com> |
| 19 | Tested-by: Bhupesh Sharma <bhsharma@redhat.com> |
| 20 | Acked-by: Bhupesh Sharma <bhsharma@redhat.com> |
| 21 | Signed-off-by: Simon Horman <horms@verge.net.au> |
| 22 | Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> |
| 23 | --- |
| 24 | kexec/arch/x86_64/kexec-elf-rel-x86_64.c | 1 + |
| 25 | 1 file changed, 1 insertion(+) |
| 26 | |
| 27 | diff --git a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c |
| 28 | index 7fdde73..db85b44 100644 |
| 29 | --- a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c |
| 30 | +++ b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c |
| 31 | @@ -79,6 +79,7 @@ void machine_apply_elf_rel(struct mem_ehdr *UNUSED(ehdr), |
| 32 | goto overflow; |
| 33 | break; |
| 34 | case R_X86_64_PC32: |
| 35 | + case R_X86_64_PLT32: |
| 36 | *(uint32_t *)location = value - address; |
| 37 | break; |
| 38 | default: |
| 39 | -- |
| 40 | 2.7.4 |
| 41 | |