1 |
vapier 17/02/09 12:18:54 |
2 |
|
3 |
Added: 00_all_0001-disable-ldconfig-during-install.patch |
4 |
00_all_0002-reload-etc-resolv.conf-when-it-has-changed.patch |
5 |
00_all_0003-rtld-do-not-ignore-arch-specific-CFLAGS.patch |
6 |
00_all_0004-gentoo-support-running-tests-under-sandbox.patch |
7 |
00_all_0005-sys-types.h-drop-sys-sysmacros.h-include.patch |
8 |
README.history |
9 |
Log: |
10 |
initial 2.25 patchset |
11 |
|
12 |
Revision Changes Path |
13 |
1.1 src/patchsets/glibc/2.25/00_all_0001-disable-ldconfig-during-install.patch |
14 |
|
15 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.25/00_all_0001-disable-ldconfig-during-install.patch?rev=1.1&view=markup |
16 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.25/00_all_0001-disable-ldconfig-during-install.patch?rev=1.1&content-type=text/plain |
17 |
|
18 |
Index: 00_all_0001-disable-ldconfig-during-install.patch |
19 |
=================================================================== |
20 |
From 1eff1226630034286c3ae5fa1376eb76211690df Mon Sep 17 00:00:00 2001 |
21 |
From: Mike Frysinger <vapier@g.o> |
22 |
Date: Wed, 1 Apr 2009 02:15:48 -0400 |
23 |
Subject: [PATCH] disable ldconfig during install |
24 |
|
25 |
Do not bother running ldconfig on DESTDIR. It's a waste of time as we |
26 |
won't use the result (portage will rebuild the cache after install). |
27 |
Also, the Gentoo sandbox does not currently catch chroot() behavior so |
28 |
we end up (incorrectly) flagging it as a violation as a write to /etc. |
29 |
|
30 |
http://sourceware.org/ml/libc-alpha/2012-08/msg00118.html |
31 |
https://bugs.gentoo.org/431038 |
32 |
--- |
33 |
Makefile | 1 + |
34 |
1 file changed, 1 insertion(+) |
35 |
|
36 |
diff --git a/Makefile b/Makefile |
37 |
index 425cb796dba6..bf44b0467282 100644 |
38 |
--- a/Makefile |
39 |
+++ b/Makefile |
40 |
@@ -107,6 +107,7 @@ install-symbolic-link: subdir_install |
41 |
rm -f $(symbolic-link-list) |
42 |
|
43 |
install: |
44 |
+dont-bother-with-destdir: |
45 |
-test ! -x $(elf-objpfx)ldconfig || LC_ALL=C \ |
46 |
$(elf-objpfx)ldconfig $(addprefix -r ,$(install_root)) \ |
47 |
$(slibdir) $(libdir) |
48 |
-- |
49 |
2.11.0 |
50 |
|
51 |
|
52 |
|
53 |
|
54 |
1.1 src/patchsets/glibc/2.25/00_all_0002-reload-etc-resolv.conf-when-it-has-changed.patch |
55 |
|
56 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.25/00_all_0002-reload-etc-resolv.conf-when-it-has-changed.patch?rev=1.1&view=markup |
57 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.25/00_all_0002-reload-etc-resolv.conf-when-it-has-changed.patch?rev=1.1&content-type=text/plain |
58 |
|
59 |
Index: 00_all_0002-reload-etc-resolv.conf-when-it-has-changed.patch |
60 |
=================================================================== |
61 |
From fedd527e768b6b90c087d19268f41e7709e527a4 Mon Sep 17 00:00:00 2001 |
62 |
From: Thorsten Kukuk <kukuk@××××.de> |
63 |
Date: Wed, 15 Sep 2004 21:17:10 +0200 |
64 |
Subject: [PATCH] reload /etc/resolv.conf when it has changed |
65 |
|
66 |
if /etc/resolv.conf is updated, then make sure applications |
67 |
already running get the updated information. |
68 |
|
69 |
https://bugs.gentoo.org/177416 |
70 |
https://sourceware.org/bugzilla/show_bug.cgi?id=984 |
71 |
https://sourceware.org/ml/libc-alpha/2004-09/msg00130.html |
72 |
https://sourceware.org/ml/libc-alpha/2016-12/msg00023.html |
73 |
https://build.opensuse.org/package/view_file/openSUSE:Factory/glibc/glibc-resolv-reload.diff?expand=1 |
74 |
--- |
75 |
resolv/res_libc.c | 23 +++++++++++++++++++++++ |
76 |
1 file changed, 23 insertions(+) |
77 |
|
78 |
diff --git a/resolv/res_libc.c b/resolv/res_libc.c |
79 |
index a4b376f15b0b..2d9b0265afa0 100644 |
80 |
--- a/resolv/res_libc.c |
81 |
+++ b/resolv/res_libc.c |
82 |
@@ -25,6 +25,7 @@ |
83 |
#include <arpa/nameser.h> |
84 |
#include <resolv.h> |
85 |
#include <libc-lock.h> |
86 |
+#include <sys/stat.h> |
87 |
|
88 |
extern unsigned long long int __res_initstamp attribute_hidden; |
89 |
/* We have atomic increment operations on 64-bit platforms. */ |
90 |
@@ -87,12 +88,34 @@ res_init(void) { |
91 |
return (__res_vinit(&_res, 1)); |
92 |
} |
93 |
|
94 |
+static time_t resconf_mtime; |
95 |
+__libc_lock_define_initialized (static, resconf_mtime_lock); |
96 |
+ |
97 |
+/* Check if the modification time of resolv.conf has changed. |
98 |
+ If so, have all threads re-initialize their resolver states */ |
99 |
+static void |
100 |
+__res_check_resconf (void) |
101 |
+{ |
102 |
+ struct stat statbuf; |
103 |
+ if (stat (_PATH_RESCONF, &statbuf) == 0) { |
104 |
+ __libc_lock_lock (resconf_mtime_lock); |
105 |
+ if (statbuf.st_mtime != resconf_mtime) { |
106 |
+ resconf_mtime = statbuf.st_mtime; |
107 |
+ atomicinclock (lock); |
108 |
+ atomicinc (__res_initstamp); |
109 |
+ atomicincunlock (lock); |
110 |
+ } |
111 |
+ __libc_lock_unlock (resconf_mtime_lock); |
112 |
+ } |
113 |
+} |
114 |
+ |
115 |
/* Initialize resp if RES_INIT is not yet set or if res_init in some other |
116 |
thread requested re-initializing. */ |
117 |
int |
118 |
__res_maybe_init (res_state resp, int preinit) |
119 |
{ |
120 |
if (resp->options & RES_INIT) { |
121 |
+ __res_check_resconf (); |
122 |
if (__res_initstamp != resp->_u._ext.initstamp) { |
123 |
if (resp->nscount > 0) |
124 |
__res_iclose (resp, true); |
125 |
-- |
126 |
2.11.0 |
127 |
|
128 |
|
129 |
|
130 |
|
131 |
1.1 src/patchsets/glibc/2.25/00_all_0003-rtld-do-not-ignore-arch-specific-CFLAGS.patch |
132 |
|
133 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.25/00_all_0003-rtld-do-not-ignore-arch-specific-CFLAGS.patch?rev=1.1&view=markup |
134 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.25/00_all_0003-rtld-do-not-ignore-arch-specific-CFLAGS.patch?rev=1.1&content-type=text/plain |
135 |
|
136 |
Index: 00_all_0003-rtld-do-not-ignore-arch-specific-CFLAGS.patch |
137 |
=================================================================== |
138 |
From 2f8847901012150c74678d74e7723472edc3bcd1 Mon Sep 17 00:00:00 2001 |
139 |
From: Carlos O'Donell <codonell@××××××.com> |
140 |
Date: Tue, 8 Jan 2013 11:47:12 -0500 |
141 |
Subject: [PATCH] rtld: do not ignore arch-specific CFLAGS |
142 |
|
143 |
https://bugs.gentoo.org/452184 |
144 |
http://sourceware.org/bugzilla/show_bug.cgi?id=15005 |
145 |
http://sourceware.org/ml/libc-alpha/2013-01/msg00247.html |
146 |
--- |
147 |
elf/Makefile | 2 +- |
148 |
1 file changed, 1 insertion(+), 1 deletion(-) |
149 |
|
150 |
diff --git a/elf/Makefile b/elf/Makefile |
151 |
index 61abeb59eeef..1d27a88f02b9 100644 |
152 |
--- a/elf/Makefile |
153 |
+++ b/elf/Makefile |
154 |
@@ -543,7 +543,7 @@ CFLAGS-ldconfig.c = $(SYSCONF-FLAGS) -D'LIBDIR="$(libdir)"' \ |
155 |
libof-ldconfig = ldconfig |
156 |
CFLAGS-dl-cache.c = $(SYSCONF-FLAGS) |
157 |
CFLAGS-cache.c = $(SYSCONF-FLAGS) |
158 |
-CFLAGS-rtld.c = $(SYSCONF-FLAGS) |
159 |
+CFLAGS-rtld.c += $(SYSCONF-FLAGS) |
160 |
|
161 |
cpp-srcs-left := $(all-rtld-routines:=.os) |
162 |
lib := rtld |
163 |
-- |
164 |
2.11.0 |
165 |
|
166 |
|
167 |
|
168 |
|
169 |
1.1 src/patchsets/glibc/2.25/00_all_0004-gentoo-support-running-tests-under-sandbox.patch |
170 |
|
171 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.25/00_all_0004-gentoo-support-running-tests-under-sandbox.patch?rev=1.1&view=markup |
172 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.25/00_all_0004-gentoo-support-running-tests-under-sandbox.patch?rev=1.1&content-type=text/plain |
173 |
|
174 |
Index: 00_all_0004-gentoo-support-running-tests-under-sandbox.patch |
175 |
=================================================================== |
176 |
From 66b2d94a1b8e684927094e21f4d4bc0b54302355 Mon Sep 17 00:00:00 2001 |
177 |
From: "Stephanie J. Lockwood-Childs" <wormo@g.o> |
178 |
Date: Tue, 13 Mar 2007 01:57:21 -0400 |
179 |
Subject: [PATCH] gentoo: support running tests under sandbox |
180 |
|
181 |
when glibc runs its tests, it does so by invoking the local library loader. |
182 |
in Gentoo, we build/run inside of our "sandbox" which itself is linked against |
183 |
libdl (so that it can load libraries and pull out symbols). the trouble |
184 |
is that when you upgrade from an older glibc to the new one, often times |
185 |
internal symbols change name or abi. this is normally OK as you cannot use |
186 |
libc.so from say version 2.3.6 but libpthread.so from say version 2.5, so |
187 |
we always say "keep all of the glibc libraries from the same build". but |
188 |
when glibc runs its tests, it uses dynamic paths to point to its new local |
189 |
copies of libraries. if the test doesnt use libdl, then glibc doesnt add |
190 |
its path, and when sandbox triggers the loading of libdl, glibc does so |
191 |
from the host system system. this gets us into the case of all libraries |
192 |
are from the locally compiled version of glibc except for libdl.so. |
193 |
|
194 |
http://bugs.gentoo.org/56898 |
195 |
--- |
196 |
Makeconfig | 2 +- |
197 |
iconvdata/run-iconv-test.sh | 2 +- |
198 |
nptl/tst-tls6.sh | 2 +- |
199 |
3 files changed, 3 insertions(+), 3 deletions(-) |
200 |
|
201 |
diff --git a/Makeconfig b/Makeconfig |
202 |
index 97a15b569e52..d944cd5db654 100644 |
203 |
--- a/Makeconfig |
204 |
+++ b/Makeconfig |
205 |
@@ -692,7 +692,7 @@ comma = , |
206 |
sysdep-library-path = \ |
207 |
$(subst $(empty) ,:,$(strip $(patsubst -Wl$(comma)-rpath-link=%, %,\ |
208 |
$(filter -Wl$(comma)-rpath-link=%,\ |
209 |
- $(sysdep-LDFLAGS))))) |
210 |
+ $(sysdep-LDFLAGS)))) $(common-objpfx)/dlfcn) |
211 |
# $(run-via-rtld-prefix) is a command that, when prepended to the name |
212 |
# of a program built with the newly built library, produces a command |
213 |
# that, executed on the host for which the library is built, runs that |
214 |
diff --git a/iconvdata/run-iconv-test.sh b/iconvdata/run-iconv-test.sh |
215 |
index 226a2e2d4393..13b45f9dc950 100755 |
216 |
--- a/iconvdata/run-iconv-test.sh |
217 |
+++ b/iconvdata/run-iconv-test.sh |
218 |
@@ -31,7 +31,7 @@ temp2=$codir/iconvdata/iconv-test.yyy |
219 |
trap "rm -f $temp1 $temp2" 1 2 3 15 |
220 |
|
221 |
# We have to have some directories in the library path. |
222 |
-LIBPATH=$codir:$codir/iconvdata |
223 |
+LIBPATH=$codir:$codir/iconvdata:$codir/dlfcn |
224 |
|
225 |
# How the start the iconv(1) program. |
226 |
ICONV='$codir/elf/ld.so --library-path $LIBPATH --inhibit-rpath ${from}.so \ |
227 |
diff --git a/nptl/tst-tls6.sh b/nptl/tst-tls6.sh |
228 |
index fde169f7b3d8..a0525688b72e 100755 |
229 |
--- a/nptl/tst-tls6.sh |
230 |
+++ b/nptl/tst-tls6.sh |
231 |
@@ -26,7 +26,7 @@ run_program_env=$1; shift |
232 |
logfile=$common_objpfx/nptl/tst-tls6.out |
233 |
|
234 |
# We have to find libc and nptl |
235 |
-library_path=${common_objpfx}:${common_objpfx}nptl |
236 |
+library_path=${common_objpfx}:${common_objpfx}nptl:${common_objpfx}/dlfcn |
237 |
tst_tls5="${test_via_rtld_prefix} ${common_objpfx}/nptl/tst-tls5" |
238 |
|
239 |
> $logfile |
240 |
-- |
241 |
2.11.0 |
242 |
|
243 |
|
244 |
|
245 |
|
246 |
1.1 src/patchsets/glibc/2.25/00_all_0005-sys-types.h-drop-sys-sysmacros.h-include.patch |
247 |
|
248 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.25/00_all_0005-sys-types.h-drop-sys-sysmacros.h-include.patch?rev=1.1&view=markup |
249 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.25/00_all_0005-sys-types.h-drop-sys-sysmacros.h-include.patch?rev=1.1&content-type=text/plain |
250 |
|
251 |
Index: 00_all_0005-sys-types.h-drop-sys-sysmacros.h-include.patch |
252 |
=================================================================== |
253 |
From 09385d5912306ccf444d4532520d339774fea48a Mon Sep 17 00:00:00 2001 |
254 |
From: Mike Frysinger <vapier@g.o> |
255 |
Date: Tue, 29 Dec 2015 17:54:31 -0500 |
256 |
Subject: [PATCH] sys/types.h: drop sys/sysmacros.h include |
257 |
|
258 |
We want to break apart this include path due to namespace pollution. |
259 |
https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html |
260 |
--- |
261 |
posix/sys/types.h | 9 --------- |
262 |
1 file changed, 9 deletions(-) |
263 |
|
264 |
diff --git a/posix/sys/types.h b/posix/sys/types.h |
265 |
index b3a27c51f0e6..788364a299c9 100644 |
266 |
--- a/posix/sys/types.h |
267 |
+++ b/posix/sys/types.h |
268 |
@@ -216,15 +216,6 @@ typedef int register_t __attribute__ ((__mode__ (__word__))); |
269 |
|
270 |
/* It also defines `fd_set' and the FD_* macros for `select'. */ |
271 |
# include <sys/select.h> |
272 |
- |
273 |
-/* BSD defines `major', `minor', and `makedev' in this header. |
274 |
- However, these symbols are likely to collide with user code, so we are |
275 |
- going to stop defining them here in an upcoming release. Code that needs |
276 |
- these macros should include <sys/sysmacros.h> directly. Code that does |
277 |
- not need these macros should #undef them after including this header. */ |
278 |
-# define __SYSMACROS_DEPRECATED_INCLUSION |
279 |
-# include <sys/sysmacros.h> |
280 |
-# undef __SYSMACROS_DEPRECATED_INCLUSION |
281 |
#endif /* Use misc. */ |
282 |
|
283 |
|
284 |
-- |
285 |
2.11.0 |
286 |
|
287 |
|
288 |
|
289 |
|
290 |
1.1 src/patchsets/glibc/2.25/README.history |
291 |
|
292 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.25/README.history?rev=1.1&view=markup |
293 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.25/README.history?rev=1.1&content-type=text/plain |
294 |
|
295 |
Index: README.history |
296 |
=================================================================== |
297 |
1 09 Feb 2017 |
298 |
+ 00_all_0001-disable-ldconfig-during-install.patch |
299 |
+ 00_all_0002-reload-etc-resolv.conf-when-it-has-changed.patch |
300 |
+ 00_all_0003-rtld-do-not-ignore-arch-specific-CFLAGS.patch |
301 |
+ 00_all_0004-gentoo-support-running-tests-under-sandbox.patch |
302 |
+ 00_all_0005-sys-types.h-drop-sys-sysmacros.h-include.patch |