diff options
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.patch | 37 |
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; + |