summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-libs/glibc/files/2.19/glibc-2.19-vdso-disable.patch')
-rw-r--r--sys-libs/glibc/files/2.19/glibc-2.19-vdso-disable.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/sys-libs/glibc/files/2.19/glibc-2.19-vdso-disable.patch b/sys-libs/glibc/files/2.19/glibc-2.19-vdso-disable.patch
new file mode 100644
index 0000000..31ed0d4
--- /dev/null
+++ b/sys-libs/glibc/files/2.19/glibc-2.19-vdso-disable.patch
@@ -0,0 +1,37 @@
+Disable vdso for some buggy kernels
+http://thread.gmane.org/gmane.comp.lib.glibc.user/1903
+
+Index: glibc-2.19/elf/dl-support.c
+===================================================================
+--- glibc-2.19.orig/elf/dl-support.c
++++ glibc-2.19/elf/dl-support.c
+@@ -260,16 +260,6 @@ _dl_aux_init (ElfW(auxv_t) *av)
+ case AT_FPUCW:
+ GLRO(dl_fpu_control) = av->a_un.a_val;
+ break;
+-#ifdef NEED_DL_SYSINFO
+- case AT_SYSINFO:
+- GL(dl_sysinfo) = av->a_un.a_val;
+- break;
+-#endif
+-#ifdef NEED_DL_SYSINFO_DSO
+- case AT_SYSINFO_EHDR:
+- GL(dl_sysinfo_dso) = (void *) av->a_un.a_val;
+- break;
+-#endif
+ case AT_UID:
+ uid ^= av->a_un.a_val;
+ seen |= 1;
+Index: glibc-2.19/elf/setup-vdso.h
+===================================================================
+--- glibc-2.19.orig/elf/setup-vdso.h
++++ glibc-2.19/elf/setup-vdso.h
+@@ -20,7 +20,7 @@ static inline void __attribute__ ((alway
+ setup_vdso (struct link_map *main_map __attribute__ ((unused)),
+ struct link_map ***first_preload __attribute__ ((unused)))
+ {
+-#ifdef NEED_DL_SYSINFO_DSO
++#if 0
+ if (GLRO(dl_sysinfo_dso) == NULL)
+ return;
+