summaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel
diff options
context:
space:
mode:
authorMingli Yu <Mingli.Yu@windriver.com>2018-08-30 16:36:25 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-09-10 12:13:06 +0100
commitf7d1b79cc1d41d24a620417a455c026e8e26224e (patch)
treeb7afffb9b409bcb29d65631c55dfe08f6d60f910 /meta/recipes-kernel
parent195e60ba96f925de226a5578a1c725aeecf3eaf7 (diff)
downloadpoky-f7d1b79cc1d41d24a620417a455c026e8e26224e.tar.gz
kexec-tools: 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 as below when rebooting via kexec. # kexec -l /boot/bzImage --append="console=ttyS0,115200 root=/dev/sda1" Unhandled rela relocation: R_X86_64_PLT32 Fix this by replicating the change in kexec. (From OE-Core rev: 734a1bb8944caef1336f3a9cc98ea104d6be1f57) Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-kernel')
-rw-r--r--meta/recipes-kernel/kexec/kexec-tools/0001-kexec-fix-for-Unhandled-rela-relocation-R_X86_64_PLT.patch41
-rw-r--r--meta/recipes-kernel/kexec/kexec-tools_2.0.17.bb1
2 files changed, 42 insertions, 0 deletions
diff --git a/meta/recipes-kernel/kexec/kexec-tools/0001-kexec-fix-for-Unhandled-rela-relocation-R_X86_64_PLT.patch b/meta/recipes-kernel/kexec/kexec-tools/0001-kexec-fix-for-Unhandled-rela-relocation-R_X86_64_PLT.patch
new file mode 100644
index 0000000000..e0cced55c1
--- /dev/null
+++ b/meta/recipes-kernel/kexec/kexec-tools/0001-kexec-fix-for-Unhandled-rela-relocation-R_X86_64_PLT.patch
@@ -0,0 +1,41 @@
1From b9de21ef51a7ceab7122a707c188602eae22c4ee Mon Sep 17 00:00:00 2001
2From: Chris Clayton <chris2553@googlemail.com>
3Date: Mon, 20 Aug 2018 12:00:31 +0100
4Subject: [PATCH] kexec: fix for "Unhandled rela relocation: R_X86_64_PLT32" error
5
6In response to a change in binutils, commit b21ebf2fb4c
7(x86: Treat R_X86_64_PLT32 as R_X86_64_PC32) was applied to
8the linux kernel during the 4.16 development cycle and has
9since been backported to earlier stable kernel series. The
10change results in the failure message in $SUBJECT when
11rebooting via kexec.
12
13Fix this by replicating the change in kexec.
14
15Upstream-Status: Backport[https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git/commit/?id=b9de21ef51a7ceab7122a707c188602eae22c4ee]
16
17Signed-off-by: Chris Clayton <chris2553@googlemail.com>
18Acked-by: Baoquan He <bhe@redhat.com>
19Tested-by: Bhupesh Sharma <bhsharma@redhat.com>
20Acked-by: Bhupesh Sharma <bhsharma@redhat.com>
21Signed-off-by: Simon Horman <horms@verge.net.au>
22Signed-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
27diff --git a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
28index 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--
402.7.4
41
diff --git a/meta/recipes-kernel/kexec/kexec-tools_2.0.17.bb b/meta/recipes-kernel/kexec/kexec-tools_2.0.17.bb
index f4ec5865e3..dd46901197 100644
--- a/meta/recipes-kernel/kexec/kexec-tools_2.0.17.bb
+++ b/meta/recipes-kernel/kexec/kexec-tools_2.0.17.bb
@@ -18,6 +18,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/kexec/kexec-tools-${PV}.tar.gz
18 file://0010-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch \ 18 file://0010-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch \
19 file://kexec-x32.patch \ 19 file://kexec-x32.patch \
20 file://0001-Disable-PIE-during-link.patch \ 20 file://0001-Disable-PIE-during-link.patch \
21 file://0001-kexec-fix-for-Unhandled-rela-relocation-R_X86_64_PLT.patch \
21 " 22 "
22 23
23SRC_URI[md5sum] = "8e071ca473694a71e4ae60ed7ef6f377" 24SRC_URI[md5sum] = "8e071ca473694a71e4ae60ed7ef6f377"