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

Baoquan He bhe at redhat.com
Mon Aug 20 05:21:31 PDT 2018


Hi Chris,

On 08/20/18 at 08:17pm, Baoquan He wrote:
> 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>

I adjusted the patch log a little bit, you have tested it on upstream
kernel, right?

Thanks
Baoquan

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



More information about the kexec mailing list