Commit-ID: d093601be5e97d2729614419d0d256ed3b6a56b0 Gitweb: http://git.kernel.org/tip/d093601be5e97d2729614419d0d256ed3b6a56b0 Author: Jan Beulich <JBeulich@xxxxxxxx> AuthorDate: Thu, 3 Jul 2014 15:35:07 +0100 Committer: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> CommitDate: Thu, 10 Jul 2014 16:06:04 -0700 x86-32, vdso: Fix vDSO build error due to missing align_vdso_addr() 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. [ hpa: vdso_addr() is never actually used on x86-32, as calculate_addr in map_vdso() is always false. It ought to be possible to clean this up further, but this fixes the immediate problem. ] Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Link: http://lkml.kernel.org/r/53B5863B02000078000204D5@xxxxxxxxxxxxxxxxxxxx Acked-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Tested-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Tested-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> --- arch/x86/vdso/vma.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/x86/vdso/vma.c b/arch/x86/vdso/vma.c index e1513c4..5a5176d 100644 --- a/arch/x86/vdso/vma.c +++ b/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 long start, unsigned len) addr = align_vdso_addr(addr); return addr; +#endif } static int map_vdso(const struct vdso_image *image, bool calculate_addr) -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html