[oe-commits] [openembedded-core] 23/36: kexec-tools: fix for "Unhandled rela relocation: R_X86_64_PLT32" error

git at git.openembedded.org git at git.openembedded.org
Thu Sep 6 13:50:51 UTC 2018


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch master-next
in repository openembedded-core.

commit 6c3ef02d3bd497ed3227b5e6f38750d9496c9086
Author: Mingli Yu <Mingli.Yu at windriver.com>
AuthorDate: Thu Aug 30 16:36:25 2018 +0800

    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.
    
    Signed-off-by: Mingli Yu <Mingli.Yu at windriver.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 ...or-Unhandled-rela-relocation-R_X86_64_PLT.patch | 41 ++++++++++++++++++++++
 meta/recipes-kernel/kexec/kexec-tools_2.0.17.bb    |  1 +
 2 files changed, 42 insertions(+)

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 0000000..e0cced5
--- /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 @@
+From b9de21ef51a7ceab7122a707c188602eae22c4ee Mon Sep 17 00:00:00 2001
+From: Chris Clayton <chris2553 at googlemail.com>
+Date: Mon, 20 Aug 2018 12:00:31 +0100
+Subject: [PATCH] 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.
+
+Upstream-Status: Backport[https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git/commit/?id=b9de21ef51a7ceab7122a707c188602eae22c4ee]
+
+Signed-off-by: Chris Clayton <chris2553 at googlemail.com>
+Acked-by: Baoquan He <bhe at redhat.com>
+Tested-by: Bhupesh Sharma <bhsharma at redhat.com>
+Acked-by: Bhupesh Sharma <bhsharma at redhat.com>
+Signed-off-by: Simon Horman <horms at verge.net.au>
+Signed-off-by: Mingli Yu <Mingli.Yu at windriver.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.7.4
+
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 f4ec586..dd46901 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
            file://0010-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch \
            file://kexec-x32.patch \
            file://0001-Disable-PIE-during-link.patch \
+           file://0001-kexec-fix-for-Unhandled-rela-relocation-R_X86_64_PLT.patch \
            "
 
 SRC_URI[md5sum] = "8e071ca473694a71e4ae60ed7ef6f377"

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list