Thread (6 messages) 6 messages, 5 authors, 2016-09-29

Re: linux-next: Tree for Jul 21

From: Segher Boessenkool <hidden>
Date: 2016-09-29 19:35:00
Also in: lkml
Subsystem: the rest, x86 architecture (32-bit and 64-bit), x86 entry code, x86 vdso · Maintainers: Linus Torvalds, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, Andy Lutomirski

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: [off-list ref]
From: Segher Boessenkool <redacted>
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.

Signed-off-by: Segher Boessenkool <redacted>

---
 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help