From 787f325423e50b12bf628a576e5a78abd021b1a74c03ec55085394027c679ed0 Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Wed, 11 Oct 2017 13:57:22 +0000 Subject: [PATCH] Accepting request 533414 from home:Andreas_Schwab:Factory - nscd-libnsl.patch: Remove reference to libnsl from nscd (bsc#1062244) - Drop glibc-obsolete - glibc-2.3.90-noversion.diff: remove - reinitialize-dl_load_write_lock.patch: remove OBS-URL: https://build.opensuse.org/request/show/533414 OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=482 --- glibc-2.3.90-noversion.diff | 57 -------- glibc-testsuite.changes | 12 ++ glibc-testsuite.spec | 51 +------- glibc-utils.changes | 12 ++ glibc-utils.spec | 51 +------- glibc.changes | 12 ++ glibc.spec | 51 +------- nscd-libnsl.patch | 180 ++++++++++++++++++++++++++ reinitialize-dl_load_write_lock.patch | 15 --- 9 files changed, 225 insertions(+), 216 deletions(-) delete mode 100644 glibc-2.3.90-noversion.diff create mode 100644 nscd-libnsl.patch delete mode 100644 reinitialize-dl_load_write_lock.patch diff --git a/glibc-2.3.90-noversion.diff b/glibc-2.3.90-noversion.diff deleted file mode 100644 index b7102c9..0000000 --- a/glibc-2.3.90-noversion.diff +++ /dev/null @@ -1,57 +0,0 @@ -Index: glibc-2.20/elf/rtld.c -=================================================================== ---- glibc-2.20.orig/elf/rtld.c -+++ glibc-2.20/elf/rtld.c -@@ -1591,6 +1591,52 @@ ERROR: ld.so: object '%s' cannot be load - } - } - -+#if defined(__i386__) -+ /* -+ * Modifications by Red Hat Software -+ * -+ * Deal with the broken binaries from the non-versioned ages of glibc. -+ * If a binary does not have version information enabled, we assume that -+ * it is a glibc 2.0 binary and we load a compatibility library to try to -+ * overcome binary incompatibilities. -+ * Blame: gafton@redhat.com -+ */ -+#define LIB_NOVERSION "/lib/obsolete/noversion/libNoVersion.so.1" -+ -+ if (__glibc_unlikely (main_map->l_info[DT_NUM + DT_THISPROCNUM -+ + DT_VERSIONTAGIDX (DT_VERNEED)] -+ == NULL) -+ && (main_map->l_info[DT_DEBUG] != 0 -+ || !(GLRO(dl_debug_mask) & DL_DEBUG_PRELINK))) -+ { -+ struct stat64 test_st; -+ int test_fd; -+ bool can_load; -+ -+ HP_TIMING_NOW (start); -+ -+ can_load = true; -+ test_fd = __open (LIB_NOVERSION, O_RDONLY); -+ if (test_fd < 0) -+ can_load = false; -+ else -+ { -+ if (__fxstat64 (_STAT_VER, test_fd, &test_st) < 0 -+ || test_st.st_size == 0) -+ can_load = false; -+ __close(test_fd); -+ } -+ -+ if (can_load) -+ npreloads += do_preload (LIB_NOVERSION, main_map, -+ "nonversioned binary"); -+ -+ HP_TIMING_NOW (stop); -+ HP_TIMING_DIFF (diff, start, stop); -+ HP_TIMING_ACCUM_NT (load_time, diff); -+ } -+#endif -+ - if (__glibc_unlikely (*first_preload != NULL)) - { - /* Set up PRELOADS with a vector of the preloaded libraries. */ diff --git a/glibc-testsuite.changes b/glibc-testsuite.changes index fb3c08a..69bb474 100644 --- a/glibc-testsuite.changes +++ b/glibc-testsuite.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Tue Oct 10 15:47:05 UTC 2017 - schwab@suse.de + +- nscd-libnsl.patch: Remove reference to libnsl from nscd (bsc#1062244) + +------------------------------------------------------------------- +Mon Oct 9 08:03:28 UTC 2017 - schwab@suse.de + +- Drop glibc-obsolete +- glibc-2.3.90-noversion.diff: remove +- reinitialize-dl_load_write_lock.patch: remove + ------------------------------------------------------------------- Wed Oct 4 12:14:30 UTC 2017 - schwab@suse.de diff --git a/glibc-testsuite.spec b/glibc-testsuite.spec index 2722f7f..d9e163d 100644 --- a/glibc-testsuite.spec +++ b/glibc-testsuite.spec @@ -231,8 +231,6 @@ Patch8: glibc-nscd.conf.patch Patch9: glibc-nodate.patch # PATCH-FIX-OPENSUSE -- add some extra information to version output - kukuk@suse.de Patch10: glibc-version.diff -# PATCH-FIX-OPENSUSE handle old glibc binaries -Patch12: glibc-2.3.90-noversion.diff # PATCH-FIX-OPENSUSE -- Make --no-archive default for localedef - kukuk@suse.de Patch13: glibc-2.3.2.no_archive.diff # PATCH-FIX-OPENSUSE -- add blacklist for bindresvport @@ -295,6 +293,8 @@ Patch1010: dynarray-allocation.patch Patch1011: nearbyint-inexact.patch # PATCH-FIX-UPSTREAM Move nss_compat from nis to nss subdir and install it unconditionally Patch1012: nss-compat.patch +# PATCH-FIX-UPSTREAM Remove reference to libnsl from nscd +Patch1013: nscd-libnsl.patch ### # Patches awaiting upstream approval @@ -311,8 +311,6 @@ Patch2004: fnmatch-collating-elements.patch Patch2005: nss-files-long-lines-2.patch # PATCH-FIX-UPSTREAM Fix iconv buffer handling with IGNORE error handler (BZ #18830) Patch2006: iconv-reset-input-buffer.patch -# PATCH-FIX-UPSTREAM Reinitialize dl_load_write_lock on fork (BZ #19282) -Patch2008: reinitialize-dl_load_write_lock.patch # Non-glibc patches # PATCH-FIX-OPENSUSE Remove debianisms from manpages @@ -467,22 +465,6 @@ are not essential but recommend to use. makedb: A program to create a database for nss -%package obsolete -Summary: Obsolete Shared Libraries from the GNU C Library -License: LGPL-2.0+ -Group: System/Libraries -Requires: glibc = %{version} - -%description obsolete -This package provides some old libraries from the GNU C Library which -are no longer supported. Additional it provides a compatibility library -for old binaries linked against glibc 2.0. - -Install this package if you need one of this libraries to get old -binaries working, but since this libraries are not supported and there -is no gurantee that they work for you, you should try to get newer -versions of your software. - %prep %setup -n glibc-%{version} -q -a 3 -a 4 # Owl crypt_blowfish @@ -507,7 +489,6 @@ touch -r nscd/nscd_stat.c nscd/s-stamp touch -r nscd/s-stamp nscd/nscd_stat.c rm nscd/s-stamp %patch10 -p1 -%patch12 -p1 %patch13 -p1 %patch14 -p1 %patch15 -p1 @@ -537,6 +518,7 @@ rm nscd/s-stamp %patch1010 -p1 %patch1011 -p1 %patch1012 -p1 +%patch1013 -p1 %patch2000 -p1 %patch2001 -p1 @@ -544,7 +526,6 @@ rm nscd/s-stamp %patch2004 -p1 %patch2005 -p1 %patch2006 -p1 -%patch2008 -p1 %patch3000 @@ -646,9 +627,6 @@ add_ons=libidn %if %{disable_assert} BuildFlags="$BuildFlags -DNDEBUG=1" %endif -%ifarch %ix86 - add_ons=$add_ons,noversion -%endif %ifarch mipsel # fails to build otherwise - need to recheck and fix %define enable_stackguard_randomization 0 @@ -931,12 +909,6 @@ cc-base/elf/ldconfig -vn $destdir # Create file list for glibc-locale package %{find_lang} libc -# Prepare obsolete/, used only on some architectures: -export RPM_BUILD_ROOT -%ifarch i586 -mkdir -p %{buildroot}/%{_lib}/obsolete -%endif - # remove nsl compat library rm -f %{buildroot}%{_libdir}/libnsl* # part of libnsl-devel @@ -1002,17 +974,6 @@ mkdir -p %{buildroot}/var/cache/ldconfig rm -f %{buildroot}/etc/ld.so.cache touch %{buildroot}/etc/ld.so.cache -# libNoVersion belongs only to glibc-obsolete: -%ifarch %ix86 -rm -f %{buildroot}%{_libdir}/libNoVersion* -%ifarch i586 -mkdir -p %{buildroot}/%{_lib}/obsolete/noversion -mv -v %{buildroot}/%{_lib}/libNoVersion* %{buildroot}/%{_lib}/obsolete/noversion/ -%else -rm -f %{buildroot}/%{_lib}/libNoVersion* -%endif -%endif - # Don't look at ldd! We don't wish a /bin/sh requires chmod 644 %{buildroot}%{_bindir}/ldd @@ -1286,12 +1247,6 @@ exit 0 %{_sbindir}/glibc_post_upgrade %{_sbindir}/iconvconfig -%ifarch i586 -%files obsolete -%defattr (755,root,root,755) -/%{_lib}/obsolete -%endif - %files locale -f libc.lang %defattr(-,root,root) %{_datadir}/locale/locale.alias diff --git a/glibc-utils.changes b/glibc-utils.changes index fb3c08a..69bb474 100644 --- a/glibc-utils.changes +++ b/glibc-utils.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Tue Oct 10 15:47:05 UTC 2017 - schwab@suse.de + +- nscd-libnsl.patch: Remove reference to libnsl from nscd (bsc#1062244) + +------------------------------------------------------------------- +Mon Oct 9 08:03:28 UTC 2017 - schwab@suse.de + +- Drop glibc-obsolete +- glibc-2.3.90-noversion.diff: remove +- reinitialize-dl_load_write_lock.patch: remove + ------------------------------------------------------------------- Wed Oct 4 12:14:30 UTC 2017 - schwab@suse.de diff --git a/glibc-utils.spec b/glibc-utils.spec index 2a287c1..585dc50 100644 --- a/glibc-utils.spec +++ b/glibc-utils.spec @@ -231,8 +231,6 @@ Patch8: glibc-nscd.conf.patch Patch9: glibc-nodate.patch # PATCH-FIX-OPENSUSE -- add some extra information to version output - kukuk@suse.de Patch10: glibc-version.diff -# PATCH-FIX-OPENSUSE handle old glibc binaries -Patch12: glibc-2.3.90-noversion.diff # PATCH-FIX-OPENSUSE -- Make --no-archive default for localedef - kukuk@suse.de Patch13: glibc-2.3.2.no_archive.diff # PATCH-FIX-OPENSUSE -- add blacklist for bindresvport @@ -295,6 +293,8 @@ Patch1010: dynarray-allocation.patch Patch1011: nearbyint-inexact.patch # PATCH-FIX-UPSTREAM Move nss_compat from nis to nss subdir and install it unconditionally Patch1012: nss-compat.patch +# PATCH-FIX-UPSTREAM Remove reference to libnsl from nscd +Patch1013: nscd-libnsl.patch ### # Patches awaiting upstream approval @@ -311,8 +311,6 @@ Patch2004: fnmatch-collating-elements.patch Patch2005: nss-files-long-lines-2.patch # PATCH-FIX-UPSTREAM Fix iconv buffer handling with IGNORE error handler (BZ #18830) Patch2006: iconv-reset-input-buffer.patch -# PATCH-FIX-UPSTREAM Reinitialize dl_load_write_lock on fork (BZ #19282) -Patch2008: reinitialize-dl_load_write_lock.patch # Non-glibc patches # PATCH-FIX-OPENSUSE Remove debianisms from manpages @@ -467,22 +465,6 @@ are not essential but recommend to use. makedb: A program to create a database for nss -%package obsolete -Summary: Obsolete Shared Libraries from the GNU C Library -License: LGPL-2.0+ -Group: System/Libraries -Requires: glibc = %{version} - -%description obsolete -This package provides some old libraries from the GNU C Library which -are no longer supported. Additional it provides a compatibility library -for old binaries linked against glibc 2.0. - -Install this package if you need one of this libraries to get old -binaries working, but since this libraries are not supported and there -is no gurantee that they work for you, you should try to get newer -versions of your software. - %prep %setup -n glibc-%{version} -q -a 3 -a 4 # Owl crypt_blowfish @@ -507,7 +489,6 @@ touch -r nscd/nscd_stat.c nscd/s-stamp touch -r nscd/s-stamp nscd/nscd_stat.c rm nscd/s-stamp %patch10 -p1 -%patch12 -p1 %patch13 -p1 %patch14 -p1 %patch15 -p1 @@ -537,6 +518,7 @@ rm nscd/s-stamp %patch1010 -p1 %patch1011 -p1 %patch1012 -p1 +%patch1013 -p1 %patch2000 -p1 %patch2001 -p1 @@ -544,7 +526,6 @@ rm nscd/s-stamp %patch2004 -p1 %patch2005 -p1 %patch2006 -p1 -%patch2008 -p1 %patch3000 @@ -646,9 +627,6 @@ add_ons=libidn %if %{disable_assert} BuildFlags="$BuildFlags -DNDEBUG=1" %endif -%ifarch %ix86 - add_ons=$add_ons,noversion -%endif %ifarch mipsel # fails to build otherwise - need to recheck and fix %define enable_stackguard_randomization 0 @@ -931,12 +909,6 @@ cc-base/elf/ldconfig -vn $destdir # Create file list for glibc-locale package %{find_lang} libc -# Prepare obsolete/, used only on some architectures: -export RPM_BUILD_ROOT -%ifarch i586 -mkdir -p %{buildroot}/%{_lib}/obsolete -%endif - # remove nsl compat library rm -f %{buildroot}%{_libdir}/libnsl* # part of libnsl-devel @@ -1002,17 +974,6 @@ mkdir -p %{buildroot}/var/cache/ldconfig rm -f %{buildroot}/etc/ld.so.cache touch %{buildroot}/etc/ld.so.cache -# libNoVersion belongs only to glibc-obsolete: -%ifarch %ix86 -rm -f %{buildroot}%{_libdir}/libNoVersion* -%ifarch i586 -mkdir -p %{buildroot}/%{_lib}/obsolete/noversion -mv -v %{buildroot}/%{_lib}/libNoVersion* %{buildroot}/%{_lib}/obsolete/noversion/ -%else -rm -f %{buildroot}/%{_lib}/libNoVersion* -%endif -%endif - # Don't look at ldd! We don't wish a /bin/sh requires chmod 644 %{buildroot}%{_bindir}/ldd @@ -1286,12 +1247,6 @@ exit 0 %{_sbindir}/glibc_post_upgrade %{_sbindir}/iconvconfig -%ifarch i586 -%files obsolete -%defattr (755,root,root,755) -/%{_lib}/obsolete -%endif - %files locale -f libc.lang %defattr(-,root,root) %{_datadir}/locale/locale.alias diff --git a/glibc.changes b/glibc.changes index fb3c08a..69bb474 100644 --- a/glibc.changes +++ b/glibc.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Tue Oct 10 15:47:05 UTC 2017 - schwab@suse.de + +- nscd-libnsl.patch: Remove reference to libnsl from nscd (bsc#1062244) + +------------------------------------------------------------------- +Mon Oct 9 08:03:28 UTC 2017 - schwab@suse.de + +- Drop glibc-obsolete +- glibc-2.3.90-noversion.diff: remove +- reinitialize-dl_load_write_lock.patch: remove + ------------------------------------------------------------------- Wed Oct 4 12:14:30 UTC 2017 - schwab@suse.de diff --git a/glibc.spec b/glibc.spec index 51c1ef3..e35aee0 100644 --- a/glibc.spec +++ b/glibc.spec @@ -237,8 +237,6 @@ Patch8: glibc-nscd.conf.patch Patch9: glibc-nodate.patch # PATCH-FIX-OPENSUSE -- add some extra information to version output - kukuk@suse.de Patch10: glibc-version.diff -# PATCH-FIX-OPENSUSE handle old glibc binaries -Patch12: glibc-2.3.90-noversion.diff # PATCH-FIX-OPENSUSE -- Make --no-archive default for localedef - kukuk@suse.de Patch13: glibc-2.3.2.no_archive.diff # PATCH-FIX-OPENSUSE -- add blacklist for bindresvport @@ -301,6 +299,8 @@ Patch1010: dynarray-allocation.patch Patch1011: nearbyint-inexact.patch # PATCH-FIX-UPSTREAM Move nss_compat from nis to nss subdir and install it unconditionally Patch1012: nss-compat.patch +# PATCH-FIX-UPSTREAM Remove reference to libnsl from nscd +Patch1013: nscd-libnsl.patch ### # Patches awaiting upstream approval @@ -317,8 +317,6 @@ Patch2004: fnmatch-collating-elements.patch Patch2005: nss-files-long-lines-2.patch # PATCH-FIX-UPSTREAM Fix iconv buffer handling with IGNORE error handler (BZ #18830) Patch2006: iconv-reset-input-buffer.patch -# PATCH-FIX-UPSTREAM Reinitialize dl_load_write_lock on fork (BZ #19282) -Patch2008: reinitialize-dl_load_write_lock.patch # Non-glibc patches # PATCH-FIX-OPENSUSE Remove debianisms from manpages @@ -473,22 +471,6 @@ are not essential but recommend to use. makedb: A program to create a database for nss -%package obsolete -Summary: Obsolete Shared Libraries from the GNU C Library -License: LGPL-2.0+ -Group: System/Libraries -Requires: glibc = %{version} - -%description obsolete -This package provides some old libraries from the GNU C Library which -are no longer supported. Additional it provides a compatibility library -for old binaries linked against glibc 2.0. - -Install this package if you need one of this libraries to get old -binaries working, but since this libraries are not supported and there -is no gurantee that they work for you, you should try to get newer -versions of your software. - %prep %setup -n glibc-%{version} -q -a 3 -a 4 # Owl crypt_blowfish @@ -513,7 +495,6 @@ touch -r nscd/nscd_stat.c nscd/s-stamp touch -r nscd/s-stamp nscd/nscd_stat.c rm nscd/s-stamp %patch10 -p1 -%patch12 -p1 %patch13 -p1 %patch14 -p1 %patch15 -p1 @@ -543,6 +524,7 @@ rm nscd/s-stamp %patch1010 -p1 %patch1011 -p1 %patch1012 -p1 +%patch1013 -p1 %patch2000 -p1 %patch2001 -p1 @@ -550,7 +532,6 @@ rm nscd/s-stamp %patch2004 -p1 %patch2005 -p1 %patch2006 -p1 -%patch2008 -p1 %patch3000 @@ -652,9 +633,6 @@ add_ons=libidn %if %{disable_assert} BuildFlags="$BuildFlags -DNDEBUG=1" %endif -%ifarch %ix86 - add_ons=$add_ons,noversion -%endif %ifarch mipsel # fails to build otherwise - need to recheck and fix %define enable_stackguard_randomization 0 @@ -937,12 +915,6 @@ cc-base/elf/ldconfig -vn $destdir # Create file list for glibc-locale package %{find_lang} libc -# Prepare obsolete/, used only on some architectures: -export RPM_BUILD_ROOT -%ifarch i586 -mkdir -p %{buildroot}/%{_lib}/obsolete -%endif - # remove nsl compat library rm -f %{buildroot}%{_libdir}/libnsl* # part of libnsl-devel @@ -1008,17 +980,6 @@ mkdir -p %{buildroot}/var/cache/ldconfig rm -f %{buildroot}/etc/ld.so.cache touch %{buildroot}/etc/ld.so.cache -# libNoVersion belongs only to glibc-obsolete: -%ifarch %ix86 -rm -f %{buildroot}%{_libdir}/libNoVersion* -%ifarch i586 -mkdir -p %{buildroot}/%{_lib}/obsolete/noversion -mv -v %{buildroot}/%{_lib}/libNoVersion* %{buildroot}/%{_lib}/obsolete/noversion/ -%else -rm -f %{buildroot}/%{_lib}/libNoVersion* -%endif -%endif - # Don't look at ldd! We don't wish a /bin/sh requires chmod 644 %{buildroot}%{_bindir}/ldd @@ -1292,12 +1253,6 @@ exit 0 %{_sbindir}/glibc_post_upgrade %{_sbindir}/iconvconfig -%ifarch i586 -%files obsolete -%defattr (755,root,root,755) -/%{_lib}/obsolete -%endif - %files locale -f libc.lang %defattr(-,root,root) %{_datadir}/locale/locale.alias diff --git a/nscd-libnsl.patch b/nscd-libnsl.patch new file mode 100644 index 0000000..c86530f --- /dev/null +++ b/nscd-libnsl.patch @@ -0,0 +1,180 @@ +2017-10-11 Andreas Schwab + + * nis/Makefile (aux): Remove. + * nscd/Makefile (aux): Add nscd_hash. + (nscd-modules): Likewise. + ($(objpfx)nscd): Don't depend on libnsl. + * nscd/nscd_hash.c: New file. + * nscd/nscd_hash.h: Likewise. + * nscd/cache.c: Include "nscd_hash.h" instead of . + (cache_search, cache_add): Use __nscd_hash instead of __nis_hash. + * nscd/nscd_helper.c: Include and "nscd_hash.h" + instead of . + (__nscd_cache_search): Use __nscd_hash instead of __nis_hash. + +Index: glibc-2.26/nis/Makefile +=================================================================== +--- glibc-2.26.orig/nis/Makefile ++++ glibc-2.26/nis/Makefile +@@ -22,8 +22,6 @@ subdir := nis + + include ../Makeconfig + +-aux := nis_hash +- + ifeq ($(build-obsolete-nsl),yes) + headers := $(wildcard rpcsvc/*.[hx]) + +Index: glibc-2.26/nscd/Makefile +=================================================================== +--- glibc-2.26.orig/nscd/Makefile ++++ glibc-2.26/nscd/Makefile +@@ -25,7 +25,7 @@ include ../Makeconfig + ifneq ($(use-nscd),no) + routines := nscd_getpw_r nscd_getgr_r nscd_gethst_r nscd_getai \ + nscd_initgroups nscd_getserv_r nscd_netgroup +-aux := nscd_helper ++aux := nscd_helper nscd_hash + endif + + # To find xmalloc.c +@@ -36,7 +36,7 @@ nscd-modules := nscd connections pwdcach + getsrvbynm_r getsrvbypt_r servicescache \ + dbg_log nscd_conf nscd_stat cache mem nscd_setup_thread \ + xmalloc xstrdup aicache initgrcache gai res_hconf \ +- netgroupcache ++ netgroupcache nscd_hash + + ifeq ($(build-nscd)$(have-thread-library),yesyes) + +@@ -97,7 +97,7 @@ include $(patsubst %,$(..)libof-iterator + $(objpfx)nscd: $(nscd-modules:%=$(objpfx)%.o) + + ifeq ($(build-shared),yes) +-$(objpfx)nscd: $(shared-thread-library) $(common-objpfx)nis/libnsl.so ++$(objpfx)nscd: $(shared-thread-library) + else +-$(objpfx)nscd: $(static-thread-library) $(common-objpfx)nis/libnsl.a ++$(objpfx)nscd: $(static-thread-library) + endif +Index: glibc-2.26/nscd/cache.c +=================================================================== +--- glibc-2.26.orig/nscd/cache.c ++++ glibc-2.26/nscd/cache.c +@@ -25,7 +25,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -33,6 +32,7 @@ + + #include "nscd.h" + #include "dbg_log.h" ++#include "nscd_hash.h" + + + /* Wrapper functions with error checking for standard functions. */ +@@ -74,7 +74,7 @@ struct datahead * + cache_search (request_type type, const void *key, size_t len, + struct database_dyn *table, uid_t owner) + { +- unsigned long int hash = __nis_hash (key, len) % table->head->module; ++ unsigned long int hash = __nscd_hash (key, len) % table->head->module; + + unsigned long int nsearched = 0; + struct datahead *result = NULL; +@@ -153,7 +153,7 @@ cache_add (int type, const void *key, si + first ? _(" (first)") : ""); + } + +- unsigned long int hash = __nis_hash (key, len) % table->head->module; ++ unsigned long int hash = __nscd_hash (key, len) % table->head->module; + struct hashentry *newp; + + newp = mempool_alloc (table, sizeof (struct hashentry), 0); +Index: glibc-2.26/nscd/nscd_hash.c +=================================================================== +--- /dev/null ++++ glibc-2.26/nscd/nscd_hash.c +@@ -0,0 +1,19 @@ ++/* Copyright (C) 2017 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#define __nis_hash __nscd_hash ++#include +Index: glibc-2.26/nscd/nscd_hash.h +=================================================================== +--- /dev/null ++++ glibc-2.26/nscd/nscd_hash.h +@@ -0,0 +1,21 @@ ++/* Copyright (C) 2017 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#include ++ ++extern uint32_t __nscd_hash (const void *__keyarg, size_t __len) ++ attribute_hidden; +Index: glibc-2.26/nscd/nscd_helper.c +=================================================================== +--- glibc-2.26.orig/nscd/nscd_helper.c ++++ glibc-2.26/nscd/nscd_helper.c +@@ -27,6 +27,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -34,10 +35,10 @@ + #include + #include + #include +-#include + #include + + #include "nscd-client.h" ++#include "nscd_hash.h" + + + /* Extra time we wait if the socket is still receiving data. This +@@ -451,7 +452,7 @@ struct datahead * + __nscd_cache_search (request_type type, const char *key, size_t keylen, + const struct mapped_database *mapped, size_t datalen) + { +- unsigned long int hash = __nis_hash (key, keylen) % mapped->head->module; ++ unsigned long int hash = __nscd_hash (key, keylen) % mapped->head->module; + size_t datasize = mapped->datasize; + + ref_t trail = mapped->head->array[hash]; diff --git a/reinitialize-dl_load_write_lock.patch b/reinitialize-dl_load_write_lock.patch deleted file mode 100644 index ace3ede..0000000 --- a/reinitialize-dl_load_write_lock.patch +++ /dev/null @@ -1,15 +0,0 @@ -Index: glibc-2.22/sysdeps/nptl/fork.c -=================================================================== ---- glibc-2.22.orig/sysdeps/nptl/fork.c -+++ glibc-2.22/sysdeps/nptl/fork.c -@@ -174,8 +174,9 @@ __libc_fork (void) - _IO_list_resetlock (); - } - -- /* Reset the lock the dynamic loader uses to protect its data. */ -+ /* Reset the locks the dynamic loader uses to protect its data. */ - __rtld_lock_initialize (GL(dl_load_lock)); -+ __rtld_lock_initialize (GL(dl_load_write_lock)); - - /* Run the handlers registered for the child. */ - while (allp != NULL)