vapier 17/02/09 12:18:54 Added: 00_all_0001-disable-ldconfig-during-install.patch 00_all_0002-reload-etc-resolv.conf-when-it-has-changed.patch 00_all_0003-rtld-do-not-ignore-arch-specific-CFLAGS.patch 00_all_0004-gentoo-support-running-tests-under-sandbox.patch 00_all_0005-sys-types.h-drop-sys-sysmacros.h-include.patch README.history Log: initial 2.25 patchset
Revision Changes Path 1.1 src/patchsets/glibc/2.25/00_all_0001-disable-ldconfig-during-install.patch 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 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 Index: 00_all_0001-disable-ldconfig-during-install.patch =================================================================== >From 1eff1226630034286c3ae5fa1376eb76211690df Mon Sep 17 00:00:00 2001 From: Mike Frysinger <vap...@gentoo.org> Date: Wed, 1 Apr 2009 02:15:48 -0400 Subject: [PATCH] disable ldconfig during install Do not bother running ldconfig on DESTDIR. It's a waste of time as we won't use the result (portage will rebuild the cache after install). Also, the Gentoo sandbox does not currently catch chroot() behavior so we end up (incorrectly) flagging it as a violation as a write to /etc. http://sourceware.org/ml/libc-alpha/2012-08/msg00118.html https://bugs.gentoo.org/431038 --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index 425cb796dba6..bf44b0467282 100644 --- a/Makefile +++ b/Makefile @@ -107,6 +107,7 @@ install-symbolic-link: subdir_install rm -f $(symbolic-link-list) install: +dont-bother-with-destdir: -test ! -x $(elf-objpfx)ldconfig || LC_ALL=C \ $(elf-objpfx)ldconfig $(addprefix -r ,$(install_root)) \ $(slibdir) $(libdir) -- 2.11.0 1.1 src/patchsets/glibc/2.25/00_all_0002-reload-etc-resolv.conf-when-it-has-changed.patch 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 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 Index: 00_all_0002-reload-etc-resolv.conf-when-it-has-changed.patch =================================================================== >From fedd527e768b6b90c087d19268f41e7709e527a4 Mon Sep 17 00:00:00 2001 From: Thorsten Kukuk <ku...@suse.de> Date: Wed, 15 Sep 2004 21:17:10 +0200 Subject: [PATCH] reload /etc/resolv.conf when it has changed if /etc/resolv.conf is updated, then make sure applications already running get the updated information. https://bugs.gentoo.org/177416 https://sourceware.org/bugzilla/show_bug.cgi?id=984 https://sourceware.org/ml/libc-alpha/2004-09/msg00130.html https://sourceware.org/ml/libc-alpha/2016-12/msg00023.html https://build.opensuse.org/package/view_file/openSUSE:Factory/glibc/glibc-resolv-reload.diff?expand=1 --- resolv/res_libc.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/resolv/res_libc.c b/resolv/res_libc.c index a4b376f15b0b..2d9b0265afa0 100644 --- a/resolv/res_libc.c +++ b/resolv/res_libc.c @@ -25,6 +25,7 @@ #include <arpa/nameser.h> #include <resolv.h> #include <libc-lock.h> +#include <sys/stat.h> extern unsigned long long int __res_initstamp attribute_hidden; /* We have atomic increment operations on 64-bit platforms. */ @@ -87,12 +88,34 @@ res_init(void) { return (__res_vinit(&_res, 1)); } +static time_t resconf_mtime; +__libc_lock_define_initialized (static, resconf_mtime_lock); + +/* Check if the modification time of resolv.conf has changed. + If so, have all threads re-initialize their resolver states */ +static void +__res_check_resconf (void) +{ + struct stat statbuf; + if (stat (_PATH_RESCONF, &statbuf) == 0) { + __libc_lock_lock (resconf_mtime_lock); + if (statbuf.st_mtime != resconf_mtime) { + resconf_mtime = statbuf.st_mtime; + atomicinclock (lock); + atomicinc (__res_initstamp); + atomicincunlock (lock); + } + __libc_lock_unlock (resconf_mtime_lock); + } +} + /* Initialize resp if RES_INIT is not yet set or if res_init in some other thread requested re-initializing. */ int __res_maybe_init (res_state resp, int preinit) { if (resp->options & RES_INIT) { + __res_check_resconf (); if (__res_initstamp != resp->_u._ext.initstamp) { if (resp->nscount > 0) __res_iclose (resp, true); -- 2.11.0 1.1 src/patchsets/glibc/2.25/00_all_0003-rtld-do-not-ignore-arch-specific-CFLAGS.patch 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 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 Index: 00_all_0003-rtld-do-not-ignore-arch-specific-CFLAGS.patch =================================================================== >From 2f8847901012150c74678d74e7723472edc3bcd1 Mon Sep 17 00:00:00 2001 From: Carlos O'Donell <codon...@redhat.com> Date: Tue, 8 Jan 2013 11:47:12 -0500 Subject: [PATCH] rtld: do not ignore arch-specific CFLAGS https://bugs.gentoo.org/452184 http://sourceware.org/bugzilla/show_bug.cgi?id=15005 http://sourceware.org/ml/libc-alpha/2013-01/msg00247.html --- elf/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/elf/Makefile b/elf/Makefile index 61abeb59eeef..1d27a88f02b9 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -543,7 +543,7 @@ CFLAGS-ldconfig.c = $(SYSCONF-FLAGS) -D'LIBDIR="$(libdir)"' \ libof-ldconfig = ldconfig CFLAGS-dl-cache.c = $(SYSCONF-FLAGS) CFLAGS-cache.c = $(SYSCONF-FLAGS) -CFLAGS-rtld.c = $(SYSCONF-FLAGS) +CFLAGS-rtld.c += $(SYSCONF-FLAGS) cpp-srcs-left := $(all-rtld-routines:=.os) lib := rtld -- 2.11.0 1.1 src/patchsets/glibc/2.25/00_all_0004-gentoo-support-running-tests-under-sandbox.patch 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 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 Index: 00_all_0004-gentoo-support-running-tests-under-sandbox.patch =================================================================== >From 66b2d94a1b8e684927094e21f4d4bc0b54302355 Mon Sep 17 00:00:00 2001 From: "Stephanie J. Lockwood-Childs" <wo...@gentoo.org> Date: Tue, 13 Mar 2007 01:57:21 -0400 Subject: [PATCH] gentoo: support running tests under sandbox when glibc runs its tests, it does so by invoking the local library loader. in Gentoo, we build/run inside of our "sandbox" which itself is linked against libdl (so that it can load libraries and pull out symbols). the trouble is that when you upgrade from an older glibc to the new one, often times internal symbols change name or abi. this is normally OK as you cannot use libc.so from say version 2.3.6 but libpthread.so from say version 2.5, so we always say "keep all of the glibc libraries from the same build". but when glibc runs its tests, it uses dynamic paths to point to its new local copies of libraries. if the test doesnt use libdl, then glibc doesnt add its path, and when sandbox triggers the loading of libdl, glibc does so from the host system system. this gets us into the case of all libraries are from the locally compiled version of glibc except for libdl.so. http://bugs.gentoo.org/56898 --- Makeconfig | 2 +- iconvdata/run-iconv-test.sh | 2 +- nptl/tst-tls6.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Makeconfig b/Makeconfig index 97a15b569e52..d944cd5db654 100644 --- a/Makeconfig +++ b/Makeconfig @@ -692,7 +692,7 @@ comma = , sysdep-library-path = \ $(subst $(empty) ,:,$(strip $(patsubst -Wl$(comma)-rpath-link=%, %,\ $(filter -Wl$(comma)-rpath-link=%,\ - $(sysdep-LDFLAGS))))) + $(sysdep-LDFLAGS)))) $(common-objpfx)/dlfcn) # $(run-via-rtld-prefix) is a command that, when prepended to the name # of a program built with the newly built library, produces a command # that, executed on the host for which the library is built, runs that diff --git a/iconvdata/run-iconv-test.sh b/iconvdata/run-iconv-test.sh index 226a2e2d4393..13b45f9dc950 100755 --- a/iconvdata/run-iconv-test.sh +++ b/iconvdata/run-iconv-test.sh @@ -31,7 +31,7 @@ temp2=$codir/iconvdata/iconv-test.yyy trap "rm -f $temp1 $temp2" 1 2 3 15 # We have to have some directories in the library path. -LIBPATH=$codir:$codir/iconvdata +LIBPATH=$codir:$codir/iconvdata:$codir/dlfcn # How the start the iconv(1) program. ICONV='$codir/elf/ld.so --library-path $LIBPATH --inhibit-rpath ${from}.so \ diff --git a/nptl/tst-tls6.sh b/nptl/tst-tls6.sh index fde169f7b3d8..a0525688b72e 100755 --- a/nptl/tst-tls6.sh +++ b/nptl/tst-tls6.sh @@ -26,7 +26,7 @@ run_program_env=$1; shift logfile=$common_objpfx/nptl/tst-tls6.out # We have to find libc and nptl -library_path=${common_objpfx}:${common_objpfx}nptl +library_path=${common_objpfx}:${common_objpfx}nptl:${common_objpfx}/dlfcn tst_tls5="${test_via_rtld_prefix} ${common_objpfx}/nptl/tst-tls5" > $logfile -- 2.11.0 1.1 src/patchsets/glibc/2.25/00_all_0005-sys-types.h-drop-sys-sysmacros.h-include.patch 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 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 Index: 00_all_0005-sys-types.h-drop-sys-sysmacros.h-include.patch =================================================================== >From 09385d5912306ccf444d4532520d339774fea48a Mon Sep 17 00:00:00 2001 From: Mike Frysinger <vap...@gentoo.org> Date: Tue, 29 Dec 2015 17:54:31 -0500 Subject: [PATCH] sys/types.h: drop sys/sysmacros.h include We want to break apart this include path due to namespace pollution. https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html --- posix/sys/types.h | 9 --------- 1 file changed, 9 deletions(-) diff --git a/posix/sys/types.h b/posix/sys/types.h index b3a27c51f0e6..788364a299c9 100644 --- a/posix/sys/types.h +++ b/posix/sys/types.h @@ -216,15 +216,6 @@ typedef int register_t __attribute__ ((__mode__ (__word__))); /* It also defines `fd_set' and the FD_* macros for `select'. */ # include <sys/select.h> - -/* BSD defines `major', `minor', and `makedev' in this header. - However, these symbols are likely to collide with user code, so we are - going to stop defining them here in an upcoming release. Code that needs - these macros should include <sys/sysmacros.h> directly. Code that does - not need these macros should #undef them after including this header. */ -# define __SYSMACROS_DEPRECATED_INCLUSION -# include <sys/sysmacros.h> -# undef __SYSMACROS_DEPRECATED_INCLUSION #endif /* Use misc. */ -- 2.11.0 1.1 src/patchsets/glibc/2.25/README.history file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.25/README.history?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/glibc/2.25/README.history?rev=1.1&content-type=text/plain Index: README.history =================================================================== 1 09 Feb 2017 + 00_all_0001-disable-ldconfig-during-install.patch + 00_all_0002-reload-etc-resolv.conf-when-it-has-changed.patch + 00_all_0003-rtld-do-not-ignore-arch-specific-CFLAGS.patch + 00_all_0004-gentoo-support-running-tests-under-sandbox.patch + 00_all_0005-sys-types.h-drop-sys-sysmacros.h-include.patch