x86, vdso: Remove compat vdso support
The compat vDSO is a complicated hack that's needed to maintain compatibility with a small range of glibc versions. This removes it and replaces it with a much simpler hack: a config option to disable the 32-bit vDSO by default. This also changes the default value of CONFIG_COMPAT_VDSO to n -- users configuring kernels from scratch almost certainly want that choice. Signed-off-by: Andy Lutomirski <luto@amacapital.net> Link: http://lkml.kernel.org/r/4bb4690899106eb11430b1186d5cc66ca9d1660c.1394751608.git.luto@amacapital.net Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
This commit is contained in:

committed by
H. Peter Anvin

parent
fa389e2202
commit
b0b49f2673
@@ -2,8 +2,6 @@
|
||||
#define _ASM_X86_VDSO_H
|
||||
|
||||
#if defined CONFIG_X86_32 || defined CONFIG_COMPAT
|
||||
extern const char VDSO32_PRELINK[];
|
||||
|
||||
/*
|
||||
* Given a pointer to the vDSO image, find the pointer to VDSO32_name
|
||||
* as that symbol is defined in the vDSO sources or linker script.
|
||||
@@ -11,8 +9,7 @@ extern const char VDSO32_PRELINK[];
|
||||
#define VDSO32_SYMBOL(base, name) \
|
||||
({ \
|
||||
extern const char VDSO32_##name[]; \
|
||||
(void __user *)(VDSO32_##name - VDSO32_PRELINK + \
|
||||
(unsigned long)(base)); \
|
||||
(void __user *)(VDSO32_##name + (unsigned long)(base)); \
|
||||
})
|
||||
#endif
|
||||
|
||||
|
Reference in New Issue
Block a user