kexec: fix for "Unhandled rela relocation: R_X86_64_PLT32" error

Baoquan He bhe at redhat.com
Fri Aug 24 07:57:28 PDT 2018


On 08/24/18 at 09:56am, Simon Horman wrote:
> On Tue, Aug 21, 2018 at 04:51:49PM +0530, Bhupesh Sharma wrote:
 
> Thanks, and apologies for the delay - I was travelling.
> 
> For some reason the patch did not apply cleanly so I did so by hand.
> The result is as follows:

Thanks a lot for your help, Simon. You can still take the 2 weeks as a
period to merge patch, no hurry.

Thanks
Baoquan

> 
> 
> 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.
> 
> 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>
> ---
>  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 7fdde73a5eca..db85b443238d 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.11.0
> 
> 
> _______________________________________________
> kexec mailing list
> kexec at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/kexec



More information about the kexec mailing list