Re: linux-next: Tree for Jul 21

From: Stephen Rothwell
Date: Thu Sep 29 2016 - 19:15:11 EST


Hi Segher,

[Adding more cc's]

On Thu, 29 Sep 2016 14:34:42 -0500 Segher Boessenkool <segher@xxxxxxxxxxxxxxxxxxx> 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: <7f098efa4d184ab1216c6cf8214c44a3abe50a14.1475177310.git.segher@xxxxxxxxxxxxxxxxxxx>
> From: Segher Boessenkool <segher@xxxxxxxxxxxxxxxxxxx>
> 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 <segher@xxxxxxxxxxxxxxxxxxx>

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