Subject: Re: linux-next: Tree for Jul 21

From: Stephen Rothwell <[email-masked]>
Date: Fri, 30 Sep 2016 09:14:56 +1000

Hi Segher,

[Adding more cc's]

On Thu, 29 Sep 2016 14:34:42 -0500 Segher Boessenkool <[email-masked]> wrote:
>
> On Thu, Jul 21, 2016 at 07:52:43PM -0400, Paul Gortmaker wrote:
> > A new i386-allmodconfig fail showed up relating to VDSO:
> > 
> > I tried to reproduce it locally with x86-64 build host and could
> > not, so I wonder if it is a missing HOSTCC vs. CC since next
> > coverage is power host...
> > 
> >   VDSO2C  arch/x86/entry/vdso/vdso-image-32.c
> > Error: input is not a shared object
> > make[4]: *** [arch/x86/entry/vdso/vdso-image-32.c] Error 1
> > make[3]: *** [arch/x86/entry/vdso] Error 2
> > make[2]: *** [arch/x86/entry] Error 2  
> 
> This is caused by building on a BE (better-endian) host.  See patch.
> 
> 
> Segher
> 
> 
> ===
> From 7f098efa4d184ab1216c6cf8214c44a3abe50a14 Mon Sep 17 00:00:00 2001
> Message-Id: <[email-masked]>
> From: Segher Boessenkool <[email-masked]>
> Date: Thu, 29 Sep 2016 11:51:00 +0000
> Subject: [PATCH] x86: Fix building on BE
> 
> We need to call GET_LE to read hdr->e_type.
> 

Fixes: 57f90c3dfc75 ("x86/vdso: Error out if the vDSO isn't a valid DSO")

> Signed-off-by: Segher Boessenkool <[email-masked]>

57f90c3dfc75 was merged as part of the last merge window, so this is a
fix for Linus' tree.

> ---
>  arch/x86/entry/vdso/vdso2c.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/x86/entry/vdso/vdso2c.h b/arch/x86/entry/vdso/vdso2c.h
> index 4f74119..3dab75f 100644
> --- a/arch/x86/entry/vdso/vdso2c.h
> +++ b/arch/x86/entry/vdso/vdso2c.h
> @@ -22,7 +22,7 @@ static void BITSFUNC(go)(void *raw_addr, size_t raw_len,
>  
>  	ELF(Phdr) *pt = (ELF(Phdr) *)(raw_addr + GET_LE(&hdr->e_phoff));
>  
> -	if (hdr->e_type != ET_DYN)
> +	if (GET_LE(&hdr->e_type) != ET_DYN)
>  		fail("input is not a shared object\n");
>  
>  	/* Walk the segment table. */
> -- 
> 1.9.3

-- 
Cheers,
Stephen Rothwell