public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ix86: fix vDSO build
@ 2014-07-03 14:35 Jan Beulich
  2014-07-03 15:34 ` Andy Lutomirski
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Jan Beulich @ 2014-07-03 14:35 UTC (permalink / raw)
  To: mingo, tglx, hpa; +Cc: Andy Lutomirski, linux-kernel

Relying on static functions used just once to get inlined (and
subsequently have dead code paths eliminated) is wrong: Compilers are
free to decide whether they do this, regardless of optimization level.
With this not happening for vdso_addr() (observed with gcc 4.1.x), an
unresolved reference to align_vdso_addr() causes the build to fail.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Cc: Andy Lutomirski <luto@amacapital.net>
---
 arch/x86/vdso/vma.c    |    4 ++++
 1 file changed, 4 insertions(+)

--- 3.16-rc3/arch/x86/vdso/vma.c
+++ 3.16-rc3-x86-vdso-build/arch/x86/vdso/vma.c
@@ -62,6 +62,9 @@ struct linux_binprm;
    Only used for the 64-bit and x32 vdsos. */
 static unsigned long vdso_addr(unsigned long start, unsigned len)
 {
+#ifdef CONFIG_X86_32
+	return 0;
+#else
 	unsigned long addr, end;
 	unsigned offset;
 	end = (start + PMD_SIZE - 1) & PMD_MASK;
@@ -83,6 +86,7 @@ static unsigned long vdso_addr(unsigned
 	addr = align_vdso_addr(addr);
 
 	return addr;
+#endif
 }
 
 static int map_vdso(const struct vdso_image *image, bool calculate_addr)




^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2014-07-23  8:08 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-03 14:35 [PATCH] ix86: fix vDSO build Jan Beulich
2014-07-03 15:34 ` Andy Lutomirski
2014-07-03 15:44   ` Jan Beulich
2014-07-03 15:51     ` Andy Lutomirski
2014-07-03 23:10 ` Boris Ostrovsky
2014-07-09 23:30 ` Andrew Morton
2014-07-10 22:58 ` H. Peter Anvin
2014-07-23  8:07   ` Jan Beulich
2014-07-10 23:45 ` [tip:x86/urgent] x86-32, vdso: Fix vDSO build error due to missing align_vdso_addr() tip-bot for Jan Beulich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox