[OE-core] [PATCH] kexec-tools: fix for "Unhandled rela relocation: R_X86_64_PLT32" error

Yu, Mingli mingli.yu at windriver.com
Thu Sep 6 01:21:45 UTC 2018


Ping.

Thanks,

On 2018年09月03日 09:26, Yu, Mingli wrote:
>
>
> On 2018年08月31日 22:07, Andrea Adami wrote:
>> On Fri, Aug 31, 2018 at 8:34 AM Yu, Mingli <mingli.yu at windriver.com>
>> wrote:
>>>
>>> Ping.
>>>
>> Hi,
>> FYI it is in master upstream as of  b9de21ef51a7 so you could just
>> upgrade the recipe.
>> Cheers
>> Andrea
>
> Thanks Andrea! But the current kexec-tools version is already 2.0.17
> which is the latest version.
>
> Thanks,
>
>>
>>
>>
>>> On 2018年08月30日 16:36, mingli.yu at windriver.com wrote:
>>>> From: Mingli Yu <Mingli.Yu at windriver.com>
>>>>
>>>> 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>
>>>> ---
>>>>    ...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(+)
>>>>    create mode 100644
>>>> meta/recipes-kernel/kexec/kexec-tools/0001-kexec-fix-for-Unhandled-rela-relocation-R_X86_64_PLT.patch
>>>>
>>>>
>>>> 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"
>>>>
>>> --
>>> _______________________________________________
>>> Openembedded-core mailing list
>>> Openembedded-core at lists.openembedded.org
>>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>>



More information about the Openembedded-core mailing list