diff --git a/glibc-2.11.1-11c19d374bd4.tar.bz2 b/glibc-2.11.1-11c19d374bd4.tar.bz2 new file mode 100644 index 0000000..ae9b0ca --- /dev/null +++ b/glibc-2.11.1-11c19d374bd4.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e03c84ffe3b41a81a070a896307fa59b4618f2cc053360a65c867a79a32a718c +size 15670997 diff --git a/glibc-2.11.2-21580967038a.tar.bz2 b/glibc-2.11.2-21580967038a.tar.bz2 deleted file mode 100644 index 02c7b67..0000000 --- a/glibc-2.11.2-21580967038a.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9b0467d31d53dcb8e9920efa51c338e2ef1bb597ab7d2ed14b9a16103ffd2622 -size 15670351 diff --git a/glibc-2.5-ppc-llrintl.diff b/glibc-2.5-ppc-llrintl.diff new file mode 100644 index 0000000..3a65665 --- /dev/null +++ b/glibc-2.5-ppc-llrintl.diff @@ -0,0 +1,19 @@ +Index: powerpc-cpu/sysdeps/powerpc/powerpc32/powerpc64/fpu/s_llrint.S +=================================================================== +--- powerpc-cpu/sysdeps/powerpc/powerpc32/powerpc64/fpu/s_llrint.S.orig ++++ powerpc-cpu/sysdeps/powerpc/powerpc32/powerpc64/fpu/s_llrint.S +@@ -18,6 +18,7 @@ + 02110-1301 USA. */ + + #include ++#include + + /* long long int[r3, r4] __llrint (double x[fp1]) */ + ENTRY (__llrint) +@@ -41,3 +42,6 @@ weak_alias (__llrint, llrint) + strong_alias (__llrint, __llrintl) + weak_alias (__llrint, llrintl) + #endif ++#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) ++compat_symbol (libm, __llrint, llrintl, GLIBC_2_1) ++#endif diff --git a/glibc-gai-private4.diff b/glibc-gai-private4.diff deleted file mode 100644 index 189b2ea..0000000 --- a/glibc-gai-private4.diff +++ /dev/null @@ -1,76 +0,0 @@ ---- posix/gai.conf~ 2010-05-12 04:10:58.087661000 +0200 -+++ posix/gai.conf 2010-05-12 04:14:40.638820000 +0200 -@@ -67,11 +67,66 @@ - #scopev4 ::ffff:192.168.0.0/112 5 - #scopev4 ::ffff:0.0.0.0/96 14 - # --# For sites which use site-local IPv4 addresses behind NAT there is --# the problem that even if IPv4 addresses are preferred they do not --# have the same scope and are therefore not sorted first. To change --# this use only these rules: -+# Back in 2003, the sorting algorithm used by getaddrinfo() was defined in RFC -+# 3484. However, this document did not take into account (or foresee) the -+# ubiquity of IPv4 NAT on today's internet. This in turn causes some real -+# operational problems that's hindering the deployment of IPv6 for content -+# providers. -+# -+# The problem scenario is the following: -+# -+# An end user is located in a network numbered with private (RFC 1918) IPv4 -+# addresses and transitional 6to4 (RFC 3056) IPv6 addresses. The network is -+# connected to the internet by a CPE/SOHO device implementing NAT for IPv4 and -+# anycasted 6to4 (RFC 3068) for IPv6. -+# -+# When the user attempts to connect to a server whose hostname has both IPv4 -+# and IPv6 addresses published in DNS, an IPv6 connection using the -+# transitional 6to4 service will be preferred. This happens because the scope -+# comparsion fails for IPv4, the RFC 1918 addresses are assumed to have -+# site-local scope, which is smaller than the global scope of the server's IPv4 -+# address. For IPv6, both the server's and the client's (6to4) address have -+# global scope. -+# -+# Unfortunately, the operational reality is that a transitional technique such -+# as 6to4 is much less reliable than IPv4. The relay routers might be located -+# far away from the optimal IPv4 path, and thus cause a significant latency -+# increase, or they might not even work optimally (they're usually operated by -+# voulenteering third parties on a best-effort basis), and finally some ISPs -+# simply filter away all proto-41 traffic. Transitional techniques are useful -+# to give end users with IPv4-only service a real shot at accessing IPv6-only -+# content, but it should never be preferred over IPv4 service when accessing -+# dual-stacked content. -+# -+# RFC 3484 even acknowledges this, by saying to "«avoid the use of transitional -+# addresses when native addresses are available"». -+# -+# An IETF draft document which describes the problem in a much more detailed -+# manner than I have is available here: -+# -+# http://tools.ietf.org/html/draft-denis-v6ops-nat-addrsel-00 -+# -+# There's also an IETF draft that aims to revise RFC 3484 in order to fix this -+# problem (amongst others): -+# -+# http://tools.ietf.org/html/draft-arifumi-6man-rfc3484-revise-02 -+# -+# Quoting from this document: -+# -+# > 2.7. To change private IPv4 address scope -+# > -+# > As detailed in Remi's draft [I-D.denis-v6ops-nat-addrsel], when a -+# > host is in NATed site, and has a private IPv4 address and -+# > transitional addresses like 6to4 and Teredo, the host chooses -+# > transitional IPv6 address to access most of the dual-stack servers. -+# > -+# > This is because private IPv4 address is defined to be site-local -+# > scope, and as in RFC 3484, the scope matching rules (Rule 2) set -+# > lower priority for private IPv4 address. -+# > -+# > By changing the address scope of private IPv4 address to global, this -+# > problem can be solved. - # --#scopev4 ::ffff:169.254.0.0/112 2 --#scopev4 ::ffff:127.0.0.0/104 2 --#scopev4 ::ffff:0.0.0.0/96 14 -+scopev4 ::ffff:10.0.0.0/104 14 -+scopev4 ::ffff:172.16.0.0/108 14 -+scopev4 ::ffff:192.168.0.0/112 14 diff --git a/glibc-ldconfigr-aux.diff b/glibc-ldconfigr-aux.diff deleted file mode 100644 index bcce030..0000000 --- a/glibc-ldconfigr-aux.diff +++ /dev/null @@ -1,37 +0,0 @@ -2010-05-31 Petr Baudis - - * elf/ldconfig.c: Allow aux_cache_file open()ing to fail silently - even in the chroot mode. - - -diff --git a/elf/ldconfig.c b/elf/ldconfig.c -index 6e71b09..6ba8e07 100644 ---- a/elf/ldconfig.c -+++ b/elf/ldconfig.c -@@ -1359,14 +1359,9 @@ main (int argc, char **argv) - - const char *aux_cache_file = _PATH_LDCONFIG_AUX_CACHE; - if (opt_chroot) -- { -- aux_cache_file = chroot_canon (opt_chroot, aux_cache_file); -- if (aux_cache_file == NULL) -- error (EXIT_FAILURE, errno, _("Can't open cache file %s\n"), -- _PATH_LDCONFIG_AUX_CACHE); -- } -+ aux_cache_file = chroot_canon (opt_chroot, aux_cache_file); - -- if (! opt_ignore_aux_cache) -+ if (! opt_ignore_aux_cache && aux_cache_file) - load_aux_cache (aux_cache_file); - else - init_aux_cache (); -@@ -1376,7 +1371,8 @@ main (int argc, char **argv) - if (opt_build_cache) - { - save_cache (cache_file); -- save_aux_cache (aux_cache_file); -+ if (aux_cache_file) -+ save_aux_cache (aux_cache_file); - } - - return 0; diff --git a/glibc-make-3.82.patch b/glibc-make-3.82.patch deleted file mode 100644 index 702c044..0000000 --- a/glibc-make-3.82.patch +++ /dev/null @@ -1,91 +0,0 @@ -From: Andreas Schwab -To: libc-hacker at sourceware dot org -Subject: [PATCH] Work around shortest-stem feature in make 3.82+ - -make 3.82+ no longer selects pattern rules by order, but by shortest -stem, so we need to add more rules to make sure we still get the right -matches. - -Andreas. - -2010-09-09 Andreas Schwab - - * Makeconfig (sysd-rules-patterns): Add rtld-%:rtld-%. - (sysd-rules-targets): Remove duplicates. - * elf/rtld-Rules ($(objpfx)rtld-%.os): Add pattern rules with - rtld-%.$o dependency. - -2010-09-06 Andreas Schwab - - * manual/Makefile: Don't mix pattern rules with normal rules. - -diff --git a/Makeconfig b/Makeconfig -index 9778998..807c1d1 100644 ---- a/Makeconfig -+++ b/Makeconfig -@@ -966,7 +966,7 @@ endif - # emitted into sysd-rules. A sysdeps Makeconfig fragment can - # add its own special object file prefix to this list with e.g. foo-%:% - # to have foo-*.? compiled from *.? using $(foo-CPPFLAGS). --sysd-rules-patterns := %:% rtld-%:% m_%:s_% -+sysd-rules-patterns := %:% rtld-%:rtld-% rtld-%:% m_%:s_% - - # Let sysdeps/ subdirs contain a Makeconfig fragment for us to include here. - sysdep-makeconfigs := $(wildcard $(+sysdep_dirs:=/Makeconfig)) -@@ -975,8 +975,8 @@ include $(sysdep-makeconfigs) - endif - - # Compute just the target patterns. Makeconfig has set sysd-rules-patterns. --sysd-rules-targets := $(foreach p,$(sysd-rules-patterns),\ -- $(firstword $(subst :, ,$p))) -+sysd-rules-targets := $(sort $(foreach p,$(sysd-rules-patterns),\ -+ $(firstword $(subst :, ,$p)))) - - endif # Makeconfig not yet included - -diff --git a/elf/rtld-Rules b/elf/rtld-Rules -index 9f31a56..fc225f2 100644 ---- a/elf/rtld-Rules -+++ b/elf/rtld-Rules -@@ -93,6 +93,12 @@ else - # These are the basic compilation rules corresponding to the Makerules ones. - # The sysd-rules generated makefile already defines pattern rules for rtld-% - # targets built from sysdeps source files. -+$(objpfx)rtld-%.os: rtld-%.S $(before-compile) -+ $(compile-command.S) $(rtld-CPPFLAGS) -+$(objpfx)rtld-%.os: rtld-%.s $(before-compile) -+ $(compile-command.s) $(rtld-CPPFLAGS) -+$(objpfx)rtld-%.os: rtld-%.c $(before-compile) -+ $(compile-command.c) $(rtld-CPPFLAGS) - $(objpfx)rtld-%.os: %.S $(before-compile) - $(compile-command.S) $(rtld-CPPFLAGS) - $(objpfx)rtld-%.os: %.s $(before-compile) -@@ -101,6 +107,9 @@ $(objpfx)rtld-%.os: %.c $(before-compile) - $(compile-command.c) $(rtld-CPPFLAGS) - - # The rules for generated source files. -+$(objpfx)rtld-%.os: $(objpfx)rtld-%.S $(before-compile); $(compile-command.S) -+$(objpfx)rtld-%.os: $(objpfx)rtld-%.s $(before-compile); $(compile-command.s) -+$(objpfx)rtld-%.os: $(objpfx)rtld-%.c $(before-compile); $(compile-command.c) - $(objpfx)rtld-%.os: $(objpfx)%.S $(before-compile); $(compile-command.S) - $(objpfx)rtld-%.os: $(objpfx)%.s $(before-compile); $(compile-command.s) - $(objpfx)rtld-%.os: $(objpfx)%.c $(before-compile); $(compile-command.c) --- -1.7.2.2 - -diff --git a/manual/Makefile b/manual/Makefile -index c5866eb..b1f5fa7 100644 ---- a/manual/Makefile -+++ b/manual/Makefile -@@ -232,7 +232,10 @@ ifdef objpfx - .PHONY: stubs - stubs: $(objpfx)stubs - endif --$(objpfx)stubs ../po/manual.pot $(objpfx)stamp%: -+$(objpfx)stubs ../po/manual.pot: -+ $(make-target-directory) -+ touch $@ -+$(objpfx)stamp%: - $(make-target-directory) - touch $@ - diff --git a/glibc-nis-initgroups.diff b/glibc-nis-initgroups.diff deleted file mode 100644 index 59ac9c5..0000000 --- a/glibc-nis-initgroups.diff +++ /dev/null @@ -1,39 +0,0 @@ -2010-05-31 Petr Baudis - - * nis/nss_compat/compat-initgroups.c (internal_getgrent_r): Fix - initialization of skip_initgroups_dyn. - -diff --git a/nis/nss_compat/compat-initgroups.c b/nis/nss_compat/compat-initgroups.c -index 07a3b92..de8d95c 100644 ---- a/nis/nss_compat/compat-initgroups.c -+++ b/nis/nss_compat/compat-initgroups.c -@@ -474,18 +474,21 @@ internal_getgrent_r (ent_t *ent, char *buffer, size_t buflen, const char *user, - /* If the selected module does not support getgrent_r or - initgroups_dyn, abort. We cannot find the needed group - entries. */ -- if (nss_getgrent_r == NULL && nss_initgroups_dyn == NULL) -+ if (nss_initgroups_dyn == NULL || nss_getgrgid_r == NULL) -+ { -+ if (nss_setgrent != NULL) -+ { -+ nss_setgrent (1); -+ ent->need_endgrent = true; -+ } -+ ent->skip_initgroups_dyn = true; -+ } -+ -+ if (ent->skip_initgroups_dyn && nss_getgrent_r == NULL) - return NSS_STATUS_UNAVAIL; - - ent->files = false; - -- if (nss_initgroups_dyn == NULL && nss_setgrent != NULL) -- { -- nss_setgrent (1); -- ent->need_endgrent = true; -- } -- ent->skip_initgroups_dyn = true; -- - return getgrent_next_nss (ent, buffer, buflen, user, group, - start, size, groupsp, limit, errnop); - } diff --git a/glibc-ppc64-vdso-time.diff b/glibc-ppc64-vdso-time.diff deleted file mode 100644 index bba82b6..0000000 --- a/glibc-ppc64-vdso-time.diff +++ /dev/null @@ -1,28 +0,0 @@ -2010-03-04 Carlos Eduardo Seo - - * sysdeps/unix/sysv/linux/powerpc/powerpc64/time.c: New file. - -Index: src/sysdeps/unix/sysv/linux/powerpc/powerpc64/time.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ src/sysdeps/unix/sysv/linux/powerpc/powerpc64/time.c 2010-03-04 20:02:23.000000000 -0300 -@@ -0,0 +1,19 @@ -+/* Copyright (C) 2010 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, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#include diff --git a/glibc-resolv-mdnshint.diff b/glibc-resolv-mdnshint.diff deleted file mode 100644 index fec8d52..0000000 --- a/glibc-resolv-mdnshint.diff +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/resolv/res_hconf.c b/resolv/res_hconf.c -index ed55bec..f06db75 100644 ---- a/resolv/res_hconf.c -+++ b/resolv/res_hconf.c -@@ -243,9 +243,12 @@ parse_line (const char *fname, int line_num, const char *str) - if (c == NULL) - { - char *buf; -+ char *hint = ""; - -- if (__asprintf (&buf, _("%s: line %d: bad command `%s'\n"), -- fname, line_num, start) < 0) -+ if (__strncasecmp (start, "mdns", len) == 0 && len == 4) -+ hint = "Multicast DNS is now configured in /etc/nsswitch.conf instead.\nSee also the package and manpage of nss-mdns.\n"; -+ if (__asprintf (&buf, _("%s: line %d: bad command `%s'\n%s"), -+ fname, line_num, start, hint) < 0) - return; - - __fxprintf (NULL, "%s", buf); diff --git a/glibc-resolv-reload.diff b/glibc-resolv-reload.diff deleted file mode 100644 index 0011838..0000000 --- a/glibc-resolv-reload.diff +++ /dev/null @@ -1,124 +0,0 @@ -From libc-alpha-return-22754-pasky=ucw.cz@sourceware.org Tue Mar 16 00:47:00 2010 -Return-Path: -X-Original-To: pasky@pasky.or.cz -Delivered-To: pasky@pasky.or.cz -Received: from nikam.ms.mff.cuni.cz (nikam-dmz.ms.mff.cuni.cz [195.113.20.16]) - by machine.or.cz (Postfix) with ESMTPS id C1B8586202A - for ; Tue, 16 Mar 2010 00:47:00 +0100 (CET) -Received: by nikam.ms.mff.cuni.cz (Postfix) - id 9CDEC9AC7A4; Tue, 16 Mar 2010 00:47:00 +0100 (CET) -Delivered-To: pasky@kam.mff.cuni.cz -Received: from jabberwock.ucw.cz (jabberwock.ucw.cz [89.250.246.4]) - by nikam.ms.mff.cuni.cz (Postfix) with ESMTP id 99F0E9AC77B - for ; Tue, 16 Mar 2010 00:47:00 +0100 (CET) -Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) - by jabberwock.ucw.cz (Postfix) with SMTP id 14E1ACF040 - for ; Tue, 16 Mar 2010 00:46:59 +0100 (CET) -Received: (qmail 18956 invoked by alias); 15 Mar 2010 23:46:58 -0000 -Delivered-To: moderator for libc-alpha@sourceware.org -Received: (qmail 15843 invoked by uid 22791); 15 Mar 2010 17:23:15 -0000 -X-SWARE-Spam-Status: No, hits=-2.6 required=5.0 - tests=BAYES_00 -X-Spam-Check-By: sourceware.org -Message-ID: <4B9E6CFA.7020002@riot.org> -Date: Mon, 15 Mar 2010 18:23:06 +0100 -From: Sebastian Kienzl -User-Agent: Thunderbird 2.0.0.23 (Windows/20090812) -MIME-Version: 1.0 -To: libc-alpha@sourceware.org -Subject: Reloading of /etc/resolv.conf -Content-Type: multipart/mixed; - boundary="------------060407080409020101000002" -Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm -Precedence: bulk -List-Id: -List-Unsubscribe: -List-Subscribe: -List-Archive: -List-Post: -List-Help: , -Sender: libc-alpha-owner@sourceware.org -Delivered-To: mailing list libc-alpha@sourceware.org - -This is a multi-part message in MIME format. ---------------060407080409020101000002 -Content-Type: text/plain; charset=ISO-8859-15; format=flowed -Content-Transfer-Encoding: 7bit - -Hello! - -There's a patch in the wild against the resolver which makes it reload -/etc/resolv.conf on change, see -http://sources.redhat.com/ml/libc-alpha/2004-09/msg00130.html - -However, this patch actually doesn't work properly for multi-threaded -programs, as only one thread will notice the change and refresh its -resolver state. I've attached a proper patch. It's for 2.5 but it should -work with current versions, too. - -Even though the patch may not be interesting for upstream, I decided to -let you know about this problem, since the mentioned patch seems to be -used by at least Debian and Ubuntu. - -Regards, -Seb. - - - ---------------060407080409020101000002 -Content-Type: text/plain; - name="glibc-2.5-resolvconf.patch" -Content-Transfer-Encoding: 7bit -Content-Disposition: inline; - filename="glibc-2.5-resolvconf.patch" - -diff -ur resolv.orig/res_libc.c resolv/res_libc.c ---- resolv.orig/res_libc.c 2005-11-01 01:06:40.000000000 +0100 -+++ resolv/res_libc.c 2010-03-15 14:13:18.000000000 +0100 -@@ -22,7 +22,7 @@ - #include - #include - #include -- -+#include - - /* The following bit is copied from res_data.c (where it is #ifdef'ed - out) since res_init() should go into libc.so but the rest of that -@@ -89,12 +89,34 @@ - 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); - - ---------------060407080409020101000002-- diff --git a/glibc-sparc64-fxstat.diff b/glibc-sparc64-fxstat.diff deleted file mode 100644 index fa06e5a..0000000 --- a/glibc-sparc64-fxstat.diff +++ /dev/null @@ -1,7 +0,0 @@ -Index: glibc-2.10.1/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c -=================================================================== ---- glibc-2.10.1.orig/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c -+++ glibc-2.10.1/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c -@@ -1 +1 @@ --#include "../../fxstat.c" -+#include "../../i386/fxstat.c" diff --git a/glibc-statfs64-ia64.diff b/glibc-statfs64-ia64.diff deleted file mode 100644 index 1804a68..0000000 --- a/glibc-statfs64-ia64.diff +++ /dev/null @@ -1,12 +0,0 @@ ---- sysdeps/unix/sysv/linux/statfs64.c~ 2010-01-27 02:47:32.884315000 +0100 -+++ sysdeps/unix/sysv/linux/statfs64.c 2010-01-27 02:49:17.943657000 +0100 -@@ -24,6 +24,9 @@ - #include - #include - -+/* On IA64, ia32el does not provide wrapper for statfs64() for some reason. -+ Force the compatibility code to get compiled in. [bnc#534828] */ -+#undef __ASSUME_STATFS64 - - # if __ASSUME_STATFS64 == 0 - int __no_statfs64 attribute_hidden; diff --git a/glibc.changes b/glibc.changes index d22b858..de4e885 100644 --- a/glibc.changes +++ b/glibc.changes @@ -1,170 +1,8 @@ -------------------------------------------------------------------- -Mon Sep 13 14:36:26 UTC 2010 - aj@suse.de - -- Fix build in manual with make 3.82. - -------------------------------------------------------------------- -Sun Sep 12 08:00:57 UTC 2010 - aj@suse.de - -- Work around shortest-stem feature in make 3.82+ (patch - glibc-make-3.82.patch) - -------------------------------------------------------------------- -Wed Jul 7 04:12:05 CEST 2010 - pbaudis@suse.cz - -- Fix NIS-compat initgroups routine to work reliably over multiple - invocations [bnc#607064] - -------------------------------------------------------------------- -Thu Jul 1 19:52:56 UTC 2010 - jengelh@medozas.de - -- SPARC: restore fxstat functionality in sparc64 mode - -------------------------------------------------------------------- -Sat Jun 26 10:26:17 UTC 2010 - jengelh@medozas.de - -- Use %_smp_mflags - -------------------------------------------------------------------- -Fri Jun 11 15:41:07 CEST 2010 - pbaudis@suse.cz - -- Upgrade to latest release/2.11/master - glibc-2.11.2-21580967038a - - Fix buggy x86 CPU family and model check - - Fix sunrpc error condition handling - - Fix crash on unresolved weak symbol reference - -------------------------------------------------------------------- -Tue Jun 1 03:38:28 CEST 2010 - pbaudis@suse.cz - -- Fix ldconfig -r failing on aux cache [bnc#609345] - -------------------------------------------------------------------- -Thu May 20 02:19:28 CEST 2010 - pbaudis@suse.cz - -- Upgrade to glibc-2.11.2 (f2020c64596a) - - Virtually no changes since previous revision, just official tag - -------------------------------------------------------------------- -Wed May 12 04:24:13 CEST 2010 - pbaudis@suse.cz - -- Upgrade to latest release/2.11/master - glibc-2.11.1-6d270188ef3f - - This contains considerable amount of bugfixes cherrypicked from - the master branch, slated to become glibc-2.11.2 soon with little - further changes - -------------------------------------------------------------------- -Mon May 10 23:33:35 CEST 2010 - pbaudis@suse.cz - -- Add a hint about /etc/host.conf mdns option removal to the parser - error reporting [bnc#569273] - -------------------------------------------------------------------- -Tue May 4 05:47:41 UTC 2010 - aj@suse.de - -- Handle /var/run on tmpfs - -------------------------------------------------------------------- -Mon Apr 26 22:09:40 CEST 2010 - pbaudis@suse.cz - -- Remove stale resolv.dynamic.diff patch file - -------------------------------------------------------------------- -Thu Apr 22 08:30:50 CEST 2010 - meissner@suse.de - -- for powerpc32 build a generic library and also a power4 library - to allow older 32bit powerpc to work. bnc#596271 - -------------------------------------------------------------------- -Tue Apr 20 13:15:19 CEST 2010 - pbaudis@suse.cz - -- Consider private IPv4 addresses as global-scope in gai.conf [bnc#597616] - -------------------------------------------------------------------- -Wed Mar 24 13:04:12 CET 2010 - pbaudis@suse.cz - -- Fix get_nprocs() large CPU count handling [bnc#590665] - -------------------------------------------------------------------- -Tue Mar 23 15:09:09 CET 2010 - pbaudis@suse.cz - -- Fix interference of STB_GNU_UNIQUE and prelink [bnc#586979] -- Make time() use VDSO on PPC64 [bnc#590216] -- Make pthread_cond_timedway() use VDSO on PPC64 [bnc#590517] - -------------------------------------------------------------------- -Thu Mar 18 14:45:34 CET 2010 - pbaudis@suse.cz - -- Add PreReq for cat to glibc-locale [bnc#588997] - -------------------------------------------------------------------- -Thu Mar 18 14:29:42 CET 2010 - pbaudis@suse.cz - -- Fix /etc/resolv.conf change detection for multi-threaded applications - (by Sebastian Kienzl) - -------------------------------------------------------------------- -Fri Mar 5 12:59:44 CET 2010 - pbaudis@suse.cz - -- Fix spurious mapping from lowercase sharp s to uppercase sharp S - which is less standard and causes problems for ISO encodings [bnc#541773] - -------------------------------------------------------------------- -Mon Mar 1 18:55:37 CET 2010 - pbaudis@suse.cz - -- Fix spurious overflow messages on some R_X86_64_PC32 relocations, - patch by Richard Guenther [bnc#583019] - -------------------------------------------------------------------- -Wed Feb 24 11:53:41 CET 2010 - pbaudis@suse.cz - -- Fix assertion failures within valloc(), patch by Michael Matz - [bnc#581391] - -------------------------------------------------------------------- -Wed Feb 17 12:02:24 CET 2010 - pbaudis@suse.cz - -- S/390: Disable two UTF conversion instructions due to the hardware - mishandling some error conditions in the input stream [bnc#579871] - -------------------------------------------------------------------- -Mon Feb 15 22:34:29 CET 2010 - pbaudis@suse.cz - -- Further fix previous power5 fix - ------------------------------------------------------------------- Sun Feb 14 15:33:33 CET 2010 - rguenther@suse.de - avoid spurious differences in nscd on rebuilds. -------------------------------------------------------------------- -Thu Feb 11 21:36:32 CET 2010 - pbaudis@suse.cz - -- Fix another upgrade problem on power5 and older - correctly remove - the old optimized libraries; found out by matz@suse.de [bnc#563978] - -------------------------------------------------------------------- -Fri Feb 5 21:07:54 CET 2010 - pbaudis@suse.cz - -- Final fix for memchr() overflow on IA64 provided by upstream - [bnc#567516] - -------------------------------------------------------------------- -Thu Jan 28 17:11:59 CET 2010 - pbaudis@suse.cz - -- Fix another memchr() overflow on IA64; another known one still - remains a mystery [bnc#567516] - -------------------------------------------------------------------- -Wed Jan 27 02:49:46 CET 2010 - pbaudis@suse.cz - -- Remove now-obsolete powerpc-cpu addon usage [bnc#572819] -- Fix statfs64() on IA64 in 32-bit mode ia32el [bnc#534828] - -------------------------------------------------------------------- -Tue Jan 26 03:33:38 CET 2010 - pbaudis@suse.cz - -- Fix upgrade from previous distributions on power5 and older [bnc#563978] - ------------------------------------------------------------------- Mon Jan 25 17:35:25 CET 2010 - meissner@suse.de diff --git a/glibc.spec b/glibc.spec index f1db7e6..5c74907 100644 --- a/glibc.spec +++ b/glibc.spec @@ -1,5 +1,5 @@ # -# spec file for package glibc (Version 2.11.2) +# spec file for package glibc (Version 2.11.1) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -28,15 +28,8 @@ BuildRequires: libselinux-devel %define enable_stackguard_randomization 1 %ifarch ppc ppc64 %define optimize_power 1 - %ifarch ppc - %define powerpc_optimize_base power3 - %define powerpc_optimize_tune power3 - %define powerpc_optimize_cpu_power4 1 - %else %define powerpc_optimize_base power4 %define powerpc_optimize_tune power5 - %define powerpc_optimize_cpu_power4 0 - %endif # We are not building Power CPU specific optimizations for openSUSE. %define powerpc_optimize_cpu_power6 0 %define powerpc_optimize_cpu_power7 0 @@ -44,12 +37,11 @@ BuildRequires: libselinux-devel %else %define optimize_power 0 %define powerpc_optimize_base 0 - %define powerpc_optimize_cpu_power4 0 %define powerpc_optimize_cpu_power6 0 %define powerpc_optimize_cpu_power7 0 %define powerpc_optimize_cpu_cell 0 %endif # ppc, ppc64 -License: GPLv2+ +License: BSD3c(or similar) ; GPLv2+ ; LGPLv2.1+ Summary: Standard Shared Libraries (from the GNU C Library) Group: System/Libraries Obsoletes: ngpt <= 2.2.2 ngpt-devel <= 2.2.2 @@ -63,12 +55,12 @@ Obsoletes: glibc-32bit %endif Provides: rtld(GNU_HASH) AutoReqProv: on -Version: 2.11.2 -Release: 6 +Version: 2.11.1 +Release: 1 Url: http://www.gnu.org/software/libc/libc.html PreReq: filesystem BuildRoot: %{_tmppath}/%{name}-%{version}-build -Source: glibc-%{version}-21580967038a.tar.bz2 +Source: glibc-%{version}-11c19d374bd4.tar.bz2 Source2: glibc-ports-2.10.1-2b2b217196.tar.bz2 Source3: noversion.tar.bz2 Source4: manpages.tar.bz2 @@ -78,6 +70,7 @@ Source9: nscd.init Source10: bindresvport.blacklist Source11: ctype_b.c Source12: glibc_post_upgrade.c +Source14: powerpc-cpu.tar.bz2 Source15: glibc.rpmlintrc Source16: baselibs.conf %if %_target_cpu == "i686" @@ -89,7 +82,7 @@ NoSource: 0 Patch0: glibc-2.3-SuSE.diff Patch1: glibc-2.3.90-noversion.diff Patch2: glibc-2.3.90-fnmatch.diff -Patch3: glibc-resolv-reload.diff +Patch3: resolv.dynamic.diff Patch4: glibc-2.3.locales.diff.bz2 Patch5: crypt_blowfish-1.0-suse.diff Patch7: glibc-version.diff @@ -113,6 +106,7 @@ Patch24: glibc-2.3.3-nscd-db-path.diff Patch25: glibc-2.3.5-nscd-zeronegtimeout.diff Patch26: glibc-2.3.90-langpackdir.diff Patch27: glibc-nptl-2.4-nofixsyscallnr.diff +Patch29: glibc-2.5-ppc-llrintl.diff Patch30: glibc-2.6-configure.diff Patch31: glibc-2.2-sunrpc.diff Patch32: glibc-2.8-getconf.diff @@ -131,20 +125,10 @@ Patch46: glibc-2.10.99-ia64-include.diff Patch47: libm-x86-64-exceptions.diff Patch48: glibc-uio-cell.diff Patch50: glibc-nameserver-localhost.diff -Patch54: glibc-statfs64-ia64.diff -Patch60: ld-prelink-unique.diff -Patch61: glibc-ppc64-vdso-time.diff -Patch64: glibc-gai-private4.diff -Patch65: glibc-resolv-mdnshint.diff -Patch66: glibc-ldconfigr-aux.diff -Patch67: glibc-nis-initgroups.diff -Patch68: glibc-make-3.82.patch Patch500: ARM_glibc-2.10.1-local-eabi-wchar.diff Patch501: ARM_glibc-2.10.1-local-hwcap-updates.diff Patch502: ARM_glibc-2.10.1-local-lowlevellock.diff Patch503: ARM_glibc-2.10.1-local-no-hwcap.diff -# http://sources.redhat.com/bugzilla/show_bug.cgi?id=11155 -Patch600: glibc-sparc64-fxstat.diff %description The GNU C Library provides the most important standard libraries used @@ -200,7 +184,6 @@ License: GPLv2+ ; LGPLv2.1+ Summary: Locale Data for Localized Programs Group: System/Libraries Requires: glibc = %{version} -PreReq: /bin/cat AutoReqProv: on # bug437293 %ifarch ppc64 @@ -295,10 +278,10 @@ versions of your software. # add glibc-ports for arm # this is CURRENTLY BROKEN; ARM-interested contributors need to provide # new tested glibc-ports source -%setup -n glibc-%{version} -q -a 2 -a 3 -a 4 +%setup -n glibc-%{version} -q -a 2 -a 3 -a 4 -a 14 %else # any other leave out ports -%setup -n glibc-%{version} -q -a 3 -a 4 +%setup -n glibc-%{version} -q -a 3 -a 4 -a 14 %endif %patch0 # libNoVersion part is only active on ix86 @@ -337,6 +320,7 @@ touch -r nscd/s-stamp nscd/nscd_stat.c rm nscd/s-stamp %patch26 %patch27 +%patch29 %patch30 %patch31 %patch32 @@ -355,21 +339,12 @@ rm nscd/s-stamp %patch47 %patch48 -p1 %patch50 -p1 -%patch54 -%patch60 -p1 -%patch61 -p1 -%patch64 -%patch65 -p1 -%patch66 -p1 -%patch67 -p1 -%patch68 -p1 %ifarch %arm armv5tel armv7l %patch500 %patch501 %patch502 %patch503 %endif -%patch600 -p1 # # Inconsistency detected by ld.so: dl-close.c: 719: _dl_close: Assertion `map->l_init_called' failed! # @@ -389,7 +364,6 @@ rm nscd/s-stamp # rm -fv sysdeps/powerpc/powerpc32/power4/hp-timing.c sysdeps/powerpc/powerpc32/power4/hp-timing.h find . -name configure | xargs touch - ####################################################################### ### ### BUILD @@ -416,7 +390,7 @@ BuildFlags="$(echo $BuildFlags | sed -e 's#-fstack-protector##' -e 's#-ffortify= BuildCC="gcc" BuildCCplus="g++" add_ons=",libidn" -PARALLEL="%{?_smp_mflags}" +PARALLEL="%{?jobs:-j%jobs}" # #now overwrite for some architectures # @@ -467,7 +441,6 @@ PARALLEL="%{?_smp_mflags}" # fails to build otherwise - need to recheck and fix %define enable_stackguard_randomization 0 %endif - configure_and_build_glibc() { local dirname="$1"; shift local cflags="$1"; shift @@ -491,7 +464,6 @@ configure_and_build_glibc() { make $PARALLEL cd .. } - %if !%{optimize_power} # # Build base glibc @@ -503,17 +475,9 @@ configure_and_build_glibc() { # # First, base build: pBuildFlags="$BuildFlags -mcpu=%{powerpc_optimize_base} -mtune=%{powerpc_optimize_tune}" - %if %{powerpc_optimize_base} != "power3" - configure_and_build_glibc base "$pBuildFlags" "$add_ons" --with-cpu=%{powerpc_optimize_base} - %else - # Use no default CPU - configure_and_build_glibc base "$pBuildFlags" "$add_ons" - %endif + configure_and_build_glibc base "$pBuildFlags" "$add_ons,powerpc-cpu" --with-cpu=%{powerpc_optimize_base} # Then other power variants: for pcpu in \ - %if %{powerpc_optimize_cpu_power4} - power4 \ - %endif %if %{powerpc_optimize_cpu_power6} power6 \ %endif @@ -521,7 +485,7 @@ configure_and_build_glibc() { power7 \ %endif ; do - configure_and_build_glibc $pcpu "$BuildFlags -mcpu=$pcpu" "$add_ons" \ + configure_and_build_glibc $pcpu "$BuildFlags -mcpu=$pcpu" "$add_ons,powerpc-cpu" \ --with-cpu=$pcpu --disable-runbinaries done # Eventually, special Cell variant: @@ -529,22 +493,17 @@ configure_and_build_glibc() { configure_and_build_glibc ppc-cell-be "$BuildFlags -mcpu=cell" "$add_ons" --disable-runbinaries %endif %endif # optimize_power - # # Build html documentation # make -C cc-base html - # # Build glibc_post_upgrade binary # $BuildCC -static -Os -g $RPM_SOURCE_DIR/glibc_post_upgrade.c -o glibc_post_upgrade \ -Lcc-base -Bcc-base/csu \ - '-DREMOVE_TLS_DIRS' '-DREMOVE_PPC_OPTIMIZE_POWER5' \ + '-DREMOVE_TLS_DIRS' \ %ifarch ppc ppc64 - %if !%{powerpc_optimize_cpu_power4} - '-DREMOVE_PPC_OPTIMIZE_POWER4' \ - %endif %if !%{powerpc_optimize_cpu_power6} '-DREMOVE_PPC_OPTIMIZE_POWER6' \ %endif @@ -556,7 +515,6 @@ $BuildCC -static -Os -g $RPM_SOURCE_DIR/glibc_post_upgrade.c -o glibc_post_upgra %endif %endif '-DLIBDIR="/%{_lib}"' '-DGCONV_MODULES_DIR="%{_prefix}/%{_lib}/gconv"' - ####################################################################### ### ### CHECK @@ -578,7 +536,6 @@ $BuildCC -static -Os -g $RPM_SOURCE_DIR/glibc_post_upgrade.c -o glibc_post_upgra %endif %endif make -C cc-base check-abi || echo check-abi failed - ####################################################################### ### ### INSTALL @@ -596,15 +553,12 @@ make -C cc-base check-abi || echo check-abi failed # debugging tools currently require these sections directly inside the main # files - specifically valgrind and PurifyPlus. export STRIP_KEEP_SYMTAB=*.so* - # Make sure we will create the gconv-modules.cache mkdir -p $RPM_BUILD_ROOT%{_libdir}/gconv touch $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules.cache - # Install base glibc # Do not install in parallel, timezone Makefile will fail make install_root=$RPM_BUILD_ROOT install -C cc-base - # Install power-optimized glibc %if %{optimize_power} # run ldconfig to create the library symlinks @@ -612,9 +566,6 @@ make install_root=$RPM_BUILD_ROOT install -C cc-base # it may contain instructions not suitable for the cpu on the builhost my_ldconfig=/sbin/ldconfig for pcpu in \ - %if %{powerpc_optimize_cpu_power4} - power4 \ - %endif %if %{powerpc_optimize_cpu_power6} power6 \ %endif @@ -646,7 +597,6 @@ make install_root=$RPM_BUILD_ROOT install -C cc-base fi %endif %endif # optimize_power - # Install locales %if %{build_locales} # Do not install locales in parallel! @@ -656,43 +606,31 @@ make install_root=$RPM_BUILD_ROOT install -C cc-base %endif # Create file list for glibc-locale package %{find_lang} libc - # Prepare obsolete/, used only on some architectures: export RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/%{_lib}/obsolete - # NPTL is not usable outside of glibc, so include # the generic one (RH#162634) cp -av bits/stdio-lock.h $RPM_BUILD_ROOT%{_prefix}/include/bits/stdio-lock.h - %ifarch s390x # s390x is different ... mkdir $RPM_BUILD_ROOT/lib ln -sf ../%{_lib}/ld-%{version}.so $RPM_BUILD_ROOT/lib/ld64.so.1 %endif - # Miscelanna: - install -m 0700 glibc_post_upgrade $RPM_BUILD_ROOT%{_sbindir} - install -m 644 $RPM_SOURCE_DIR/bindresvport.blacklist $RPM_BUILD_ROOT/etc install -m 644 $RPM_SOURCE_DIR/nsswitch.conf $RPM_BUILD_ROOT/etc install -m 644 posix/gai.conf $RPM_BUILD_ROOT/etc - mkdir -p $RPM_BUILD_ROOT/etc/default install -m 644 nis/nss $RPM_BUILD_ROOT/etc/default/ - mkdir -p $RPM_BUILD_ROOT/usr/include/resolv install -m 0644 resolv/mapv4v6addr.h $RPM_BUILD_ROOT/usr/include/resolv/ install -m 0644 resolv/mapv4v6hostent.h $RPM_BUILD_ROOT/usr/include/resolv/ - mkdir -p $RPM_BUILD_ROOT/usr/share/doc/glibc cp -p manual/libc/*.html $RPM_BUILD_ROOT/usr/share/doc/glibc - cd manpages; make install_root=$RPM_BUILD_ROOT install; cd .. - # nscd tools: - cp nscd/nscd.conf $RPM_BUILD_ROOT/etc mkdir -p $RPM_BUILD_ROOT/etc/apparmor.d cp $RPM_SOURCE_DIR/usr.sbin.nscd $RPM_BUILD_ROOT/etc/apparmor.d @@ -702,7 +640,6 @@ ln -sf /etc/init.d/nscd $RPM_BUILD_ROOT/usr/sbin/rcnscd mkdir -p $RPM_BUILD_ROOT/var/run/nscd touch $RPM_BUILD_ROOT/var/run/nscd/{passwd,group,hosts} touch $RPM_BUILD_ROOT/var/run/nscd/{socket,nscd.pid} - # # Create ld.so.conf # @@ -742,28 +679,23 @@ mkdir -p $RPM_BUILD_ROOT/var/cache/ldconfig # Empty the ld.so.cache: rm -f $RPM_BUILD_ROOT/etc/ld.so.cache touch $RPM_BUILD_ROOT/etc/ld.so.cache - # libNoVersion belongs only to glibc-obsolete: %ifarch %ix86 rm -f $RPM_BUILD_ROOT%{_libdir}/libNoVersion* mkdir -p $RPM_BUILD_ROOT/%{_lib}/obsolete/noversion mv -v $RPM_BUILD_ROOT/%{_lib}/libNoVersion* $RPM_BUILD_ROOT/%{_lib}/obsolete/noversion/ %endif - # Don't look at ldd! We don't wish a /bin/sh requires chmod 644 $RPM_BUILD_ROOT/usr/bin/ldd - # Remove timezone data, now coming in standalone package: for i in sbin/sln usr/bin/tzselect usr/sbin/zic usr/sbin/zdump etc/localtime; do rm -f $RPM_BUILD_ROOT/$i done rm -rf $RPM_BUILD_ROOT/usr/share/zoneinfo - # Remove the buildflags tracking section and the build-id for o in $RPM_BUILD_ROOT/%{_libdir}/crt[1in].o $RPM_BUILD_ROOT/%{_libdir}/lib*_nonshared.a; do objcopy -R ".comment.SUSE.OPTs" -R ".note.gnu.build-id" $o done - ####################################################################### ### ### ... @@ -800,13 +732,11 @@ done %restart_on_update nscd %insserv_cleanup exit 0 - ####################################################################### ### ### FILES ### ####################################################################### - # glibc %files @@ -903,9 +833,6 @@ exit 0 /%{_lib}/%1/librt.so.1\ /%{_lib}/%1/libthread_db-1.0.so\ /%{_lib}/%1/libthread_db.so.1 - %if %{powerpc_optimize_cpu_power4} - %{optimized_libs power4} - %endif %if %{powerpc_optimize_cpu_power6} %{optimized_libs power6} %{optimized_libs power6x} @@ -1014,7 +941,7 @@ exit 0 %config /etc/init.d/nscd /usr/sbin/nscd /usr/sbin/rcnscd -%dir %attr(0755,root,root) %ghost /var/run/nscd +%dir %attr(0755,root,root) /var/run/nscd %attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/nscd.pid %attr(0666,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/socket %attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/passwd diff --git a/glibc_post_upgrade.c b/glibc_post_upgrade.c index ebd1e6e..a479c79 100644 --- a/glibc_post_upgrade.c +++ b/glibc_post_upgrade.c @@ -34,9 +34,6 @@ main (void) char initpath[256]; struct stat root, init_root; - /* First, get rid of platform-optimized libraries. We remove any we have - ever built, since otherwise we might end up using some old leftover - libraries when new ones aren't installed in their place anymore. */ #ifdef REMOVE_TLS_DIRS const char *library[] = {"libc.so.6", "libc.so.6.1", "libm.so.6", "libm.so.6.1", "librt.so.1", "librtkaio.so.1", @@ -46,14 +43,6 @@ main (void) "/lib/i686/", #endif #ifdef __powerpc64__ -#ifdef REMOVE_PPC_OPTIMIZE_POWER4 - "/lib64/power4/", - "/lib64/ppc970/", -#endif -#ifdef REMOVE_PPC_OPTIMIZE_POWER5 - "/lib64/power5/", - "/lib64/power5+/", -#endif #ifdef REMOVE_PPC_OPTIMIZE_POWER6 "/lib64/power6/", "/lib64/power6x/", @@ -66,14 +55,6 @@ main (void) #endif #endif /* __powerpc64__ */ #ifdef __powerpc__ -#ifdef REMOVE_PPC_OPTIMIZE_POWER4 - "/lib/power4/", - "/lib/ppc970/", -#endif -#ifdef REMOVE_PPC_OPTIMIZE_POWER5 - "/lib/power5/", - "/lib/power5+/", -#endif #ifdef REMOVE_PPC_OPTIMIZE_POWER6 "/lib/power6/", "/lib/power6x/", diff --git a/ld-prelink-unique.diff b/ld-prelink-unique.diff deleted file mode 100644 index 12302db..0000000 --- a/ld-prelink-unique.diff +++ /dev/null @@ -1,57 +0,0 @@ -2010-03-23 Jakub Jelinek - - * elf/dl-lookup.c (do_lookup_x): If tab->entries is NULL, - but tab->size != 0, just unlock and goto success, without - allocating anything or entering anything into the hash table. - (_dl_debug_bindings): Temporarily set tab->entries to NULL - around do_lookup_x in undef_map->l_local_scope[0]. - ---- libc/elf/dl-lookup.c.jj 2009-12-16 00:10:37.000000000 +0100 -+++ libc/elf/dl-lookup.c 2010-03-23 11:03:45.850560036 +0100 -@@ -1,5 +1,6 @@ - /* Look up a symbol in the loaded objects. -- Copyright (C) 1995-2005, 2006, 2007, 2009 Free Software Foundation, Inc. -+ Copyright (C) 1995-2005, 2006, 2007, 2009, 2010 -+ 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 -@@ -414,6 +415,20 @@ do_lookup_x (const char *undef_name, uin - assert (!RTLD_CHECK_FOREIGN_CALL); - #endif - -+#ifdef SHARED -+ /* If tab->entries is NULL, but tab->size is not, it means -+ this is the second, conflict finding, lookup for -+ LD_TRACE_PRELINKING in _dl_debug_bindings. Don't -+ allocate anything and don't enter anything into the -+ hash table. */ -+ if (__builtin_expect (tab->size, 0)) -+ { -+ assert (GLRO(dl_debug_mask) & DL_DEBUG_PRELINK); -+ __rtld_lock_unlock_recursive (tab->lock); -+ goto success; -+ } -+#endif -+ - #define INITIAL_NUNIQUE_SYM_TABLE 31 - size = INITIAL_NUNIQUE_SYM_TABLE; - entries = calloc (sizeof (struct unique_sym), size); -@@ -917,13 +932,17 @@ _dl_debug_bindings (const char *undef_na - { - const uint_fast32_t new_hash = dl_new_hash (undef_name); - unsigned long int old_hash = 0xffffffff; -+ struct unique_sym *saved_entries -+ = GL(dl_ns)[LM_ID_BASE]._ns_unique_sym_table.entries; - -+ GL(dl_ns)[LM_ID_BASE]._ns_unique_sym_table.entries = NULL; - do_lookup_x (undef_name, new_hash, &old_hash, *ref, &val, - undef_map->l_local_scope[0], 0, version, 0, NULL, - type_class, undef_map); - - if (val.s != value->s || val.m != value->m) - conflict = 1; -+ GL(dl_ns)[LM_ID_BASE]._ns_unique_sym_table.entries = saved_entries; - } - - if (value->s) diff --git a/nscd.init b/nscd.init index 52c960e..1316e90 100644 --- a/nscd.init +++ b/nscd.init @@ -66,8 +66,6 @@ rc_reset case "$1" in start) echo -n "Starting Name Service Cache Daemon" - # /var/run might be on tmpfs - [ -d /var/run/nscd ] || mkdir /var/run/nscd /sbin/startproc -p $NSCD_PID $NSCD_BIN rc_status -v ;; diff --git a/powerpc-cpu.tar.bz2 b/powerpc-cpu.tar.bz2 new file mode 100644 index 0000000..715978c --- /dev/null +++ b/powerpc-cpu.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c59f80e38c9f6ad339d72bbfbc454364659686567b7689d33483b9cb4a12bf2a +size 36248 diff --git a/ready b/ready new file mode 100644 index 0000000..473a0f4 diff --git a/resolv.dynamic.diff b/resolv.dynamic.diff new file mode 100644 index 0000000..f9c45e7 --- /dev/null +++ b/resolv.dynamic.diff @@ -0,0 +1,33 @@ +Index: resolv/res_libc.c +=================================================================== +--- resolv/res_libc.c.orig ++++ resolv/res_libc.c +@@ -22,6 +22,7 @@ + #include + #include + #include ++#include + + + /* The following bit is copied from res_data.c (where it is #ifdef'ed +@@ -95,6 +96,20 @@ int + __res_maybe_init (res_state resp, int preinit) + { + if (resp->options & RES_INIT) { ++ static time_t last_mtime, last_check; ++ time_t now; ++ struct stat statbuf; ++ ++ time (&now); ++ if (now != last_check) { ++ last_check = now; ++ if (stat (_PATH_RESCONF, &statbuf) == 0 && last_mtime != statbuf.st_mtime) { ++ last_mtime = statbuf.st_mtime; ++ atomicinclock (lock); ++ atomicinc (__res_initstamp); ++ atomicincunlock (lock); ++ } ++ } + if (__res_initstamp != resp->_u._ext.initstamp) { + if (resp->nscount > 0) + __res_iclose (resp, true);