1 |
commit: 307b5fc0d087437474633e0ddd21ff104b74a537 |
2 |
Author: XU Benda <heroxbd <AT> gmail <DOT> com> |
3 |
AuthorDate: Mon Sep 2 16:58:43 2013 +0000 |
4 |
Commit: Benda XU <heroxbd <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon Sep 2 16:58:43 2013 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=dev/heroxbd.git;a=commit;h=307b5fc0 |
7 |
|
8 |
vdso patch |
9 |
|
10 |
--- |
11 |
.../2.15/glibc-2.15-localstatedir-backport.patch | 13 +++++++++ |
12 |
sys-libs/glibc/files/2.17/vdso-disable.patch | 34 ++++++++++++++++++++++ |
13 |
sys-libs/glibc/files/2.17/vdso.patch | 17 +++++++++++ |
14 |
3 files changed, 64 insertions(+) |
15 |
|
16 |
diff --git a/sys-libs/glibc/files/2.15/glibc-2.15-localstatedir-backport.patch b/sys-libs/glibc/files/2.15/glibc-2.15-localstatedir-backport.patch |
17 |
new file mode 100644 |
18 |
index 0000000..5f8f15a |
19 |
--- /dev/null |
20 |
+++ b/sys-libs/glibc/files/2.15/glibc-2.15-localstatedir-backport.patch |
21 |
@@ -0,0 +1,13 @@ |
22 |
+Index: work/glibc-2.15/Makeconfig |
23 |
+=================================================================== |
24 |
+--- work.orig/glibc-2.15/Makeconfig |
25 |
++++ work/glibc-2.15/Makeconfig |
26 |
+@@ -293,7 +293,7 @@ inst_sysconfdir = $(install_root)$(sysco |
27 |
+ |
28 |
+ # Directory for the database files and Makefile for nss_db. |
29 |
+ ifndef vardbdir |
30 |
+-vardbdir = /var/db |
31 |
++vardbdir = $(prefix)/var/db |
32 |
+ endif |
33 |
+ inst_vardbdir = $(install_root)$(vardbdir) |
34 |
+ |
35 |
|
36 |
diff --git a/sys-libs/glibc/files/2.17/vdso-disable.patch b/sys-libs/glibc/files/2.17/vdso-disable.patch |
37 |
new file mode 100644 |
38 |
index 0000000..0354ae9 |
39 |
--- /dev/null |
40 |
+++ b/sys-libs/glibc/files/2.17/vdso-disable.patch |
41 |
@@ -0,0 +1,34 @@ |
42 |
+Index: work/glibc-2.17/elf/dl-support.c |
43 |
+=================================================================== |
44 |
+--- work.orig/glibc-2.17/elf/dl-support.c |
45 |
++++ work/glibc-2.17/elf/dl-support.c |
46 |
+@@ -212,16 +212,6 @@ _dl_aux_init (ElfW(auxv_t) *av) |
47 |
+ case AT_HWCAP: |
48 |
+ GLRO(dl_hwcap) = (unsigned long int) av->a_un.a_val; |
49 |
+ break; |
50 |
+-#ifdef NEED_DL_SYSINFO |
51 |
+- case AT_SYSINFO: |
52 |
+- GL(dl_sysinfo) = av->a_un.a_val; |
53 |
+- break; |
54 |
+-#endif |
55 |
+-#if defined NEED_DL_SYSINFO || defined NEED_DL_SYSINFO_DSO |
56 |
+- case AT_SYSINFO_EHDR: |
57 |
+- GL(dl_sysinfo_dso) = (void *) av->a_un.a_val; |
58 |
+- break; |
59 |
+-#endif |
60 |
+ case AT_UID: |
61 |
+ uid ^= av->a_un.a_val; |
62 |
+ seen |= 1; |
63 |
+Index: work/glibc-2.17/elf/setup-vdso.h |
64 |
+=================================================================== |
65 |
+--- work.orig/glibc-2.17/elf/setup-vdso.h |
66 |
++++ work/glibc-2.17/elf/setup-vdso.h |
67 |
+@@ -20,7 +20,7 @@ static inline void __attribute__ ((alway |
68 |
+ setup_vdso (struct link_map *main_map __attribute__ ((unused)), |
69 |
+ struct link_map ***first_preload __attribute__ ((unused))) |
70 |
+ { |
71 |
+-#if defined NEED_DL_SYSINFO || defined NEED_DL_SYSINFO_DSO |
72 |
++#if 0 |
73 |
+ if (GLRO(dl_sysinfo_dso) == NULL) |
74 |
+ return; |
75 |
+ |
76 |
|
77 |
diff --git a/sys-libs/glibc/files/2.17/vdso.patch b/sys-libs/glibc/files/2.17/vdso.patch |
78 |
new file mode 100644 |
79 |
index 0000000..eb9a492 |
80 |
--- /dev/null |
81 |
+++ b/sys-libs/glibc/files/2.17/vdso.patch |
82 |
@@ -0,0 +1,17 @@ |
83 |
+Index: glibc-2.17/sysdeps/unix/sysv/linux/x86_64/gettimeofday.c |
84 |
+=================================================================== |
85 |
+--- glibc-2.17.orig/sysdeps/unix/sysv/linux/x86_64/gettimeofday.c |
86 |
++++ glibc-2.17/sysdeps/unix/sysv/linux/x86_64/gettimeofday.c |
87 |
+@@ -28,11 +28,7 @@ void *gettimeofday_ifunc (void) __asm__ |
88 |
+ void * |
89 |
+ gettimeofday_ifunc (void) |
90 |
+ { |
91 |
+- PREPARE_VERSION (linux26, "LINUX_2.6", 61765110); |
92 |
+- |
93 |
+- /* If the vDSO is not available we fall back on the old vsyscall. */ |
94 |
+- return (_dl_vdso_vsym ("__vdso_gettimeofday", &linux26) |
95 |
+- ?: (void *) VSYSCALL_ADDR_vgettimeofday); |
96 |
++ return (void *) VSYSCALL_ADDR_vgettimeofday; |
97 |
+ } |
98 |
+ asm (".type __gettimeofday, %gnu_indirect_function"); |
99 |
+ |