[arch-commits] Commit in glibc/trunk (5 files)
Allan McRae
allan at archlinux.org
Tue Oct 25 05:05:00 UTC 2011
Date: Tuesday, October 25, 2011 @ 01:04:59
Author: allan
Revision: 141153
upgpkg: glibc 2.14.1-1
upstream update, enable multi-arch, remove patch included upstream, move back to crappy workaround for crappy DNS servers...
Added:
glibc/trunk/glibc-2.14-revert-4768ae77.patch
Modified:
glibc/trunk/PKGBUILD
glibc/trunk/glibc-2.14-libdl-crash.patch
Deleted:
glibc/trunk/glibc-2.13-dlclose-search-reset.patch
glibc/trunk/glibc-2.14-avoid-assertion-on-empty-dns-answer.patch
------------------------------------------------------+
PKGBUILD | 29 +-
glibc-2.13-dlclose-search-reset.patch | 196 -----------------
glibc-2.14-avoid-assertion-on-empty-dns-answer.patch | 26 --
glibc-2.14-libdl-crash.patch | 2
glibc-2.14-revert-4768ae77.patch | 37 +++
5 files changed, 51 insertions(+), 239 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2011-10-24 22:22:19 UTC (rev 141152)
+++ PKGBUILD 2011-10-25 05:04:59 UTC (rev 141153)
@@ -2,12 +2,12 @@
# Maintainer: Allan McRae <allan at archlinux.org>
# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
-# NOTE: valgrind requires rebuilt with each new glibc version
+# NOTE: valgrind requires rebuilt with each major glibc version
pkgname=glibc
-pkgver=2.14
-pkgrel=6
-_glibcdate=20110908
+pkgver=2.14.1
+pkgrel=1
+_glibcdate=20111025
pkgdesc="GNU C Library"
arch=('i686' 'x86_64')
url="http://www.gnu.org/software/libc"
@@ -27,24 +27,22 @@
glibc-2.12.1-static-shared-getpagesize.patch
glibc-2.12.2-ignore-origin-of-privileged-program.patch
glibc-2.13-futex.patch
- glibc-2.13-dlclose-search-reset.patch
glibc-2.14-libdl-crash.patch
- glibc-2.14-avoid-assertion-on-empty-dns-answer.patch
+ glibc-2.14-revert-4768ae77.patch
glibc-2.14-reexport-rpc-interface.patch
glibc-2.14-reinstall-nis-rpc-headers.patch
nscd
locale.gen.txt
locale-gen)
-md5sums=('069069eb9100cc7affd7ad884cb3c3e9'
+md5sums=('c52a15134dfa9f2c94f2ccd4cb155cf1'
'4dadb9203b69a3210d53514bb46f41c3'
'0c5540efc51c0b93996c51b57a8540ae'
'40cd342e21f71f5e49e32622b25acc52'
'a3ac6f318d680347bb6e2805d42b73b2'
'b042647ea7d6f22ad319e12e796bd13e'
'7d0154b7e17ea218c9fa953599d24cc4'
- '22d09c58718fb3d1d31c3a6c14ca6886'
- 'cea62cc6b903d222c5f26e05a3c0e0e6'
- '13728807283f111e5d9d38cf38e0a461'
+ '6970bcfeb3bf88913436d5112d16f588'
+ '7da8c554a3b591c7401d7023b1928afc'
'c5de2a946215d647c8af5432ec4b0da0'
'55febbb72139ac7b65757df085024b83'
'b587ee3a70c9b3713099295609afde49'
@@ -84,17 +82,16 @@
# http://sourceware.org/bugzilla/show_bug.cgi?id=12403
patch -Np1 -i ${srcdir}/glibc-2.13-futex.patch
- # https://bugzilla.redhat.com/show_bug.cgi?id=593675
- # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=2f811bf8 (only fedora branch...)
- patch -Np1 -i ${srcdir}/glibc-2.13-dlclose-search-reset.patch
-
# http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=675155e9 (only fedora branch...)
# http://sourceware.org/ml/libc-alpha/2011-06/msg00006.html
patch -Np1 -i ${srcdir}/glibc-2.14-libdl-crash.patch
+ # Revert commit causing issues with crappy DNS servers...
+ # Will be removed when workaround becomes annoying to maintain - USE A BETTER DNS SERVER!
+ # Note that both these patches do not fix the issue completely:
# http://sourceware.org/bugzilla/show_bug.cgi?id=13013
# http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=032c0ee3 (only fedora branch...)
- patch -Np1 -i ${srcdir}/glibc-2.14-avoid-assertion-on-empty-dns-answer.patch
+ patch -Np1 -i ${srcdir}/glibc-2.14-revert-4768ae77.patch
# re-export RPC interface until libtirpc is ready as a replacement
# http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=acee4873 (only fedora branch...)
@@ -128,7 +125,7 @@
--with-tls --with-__thread \
--enable-bind-now --without-gd \
--without-cvs --disable-profile \
- --disable-multi-arch
+ --enable-multi-arch
# build libraries with hardening disabled
echo "build-programs=no" >> configparms
Deleted: glibc-2.13-dlclose-search-reset.patch
===================================================================
--- glibc-2.13-dlclose-search-reset.patch 2011-10-24 22:22:19 UTC (rev 141152)
+++ glibc-2.13-dlclose-search-reset.patch 2011-10-25 05:04:59 UTC (rev 141153)
@@ -1,196 +0,0 @@
-From 2f811bf88bed4a6c0dec8778847ba441736d509d Mon Sep 17 00:00:00 2001
-From: Andreas Schwab <schwab at redhat.com>
-Date: Wed, 26 May 2010 18:28:59 +0200
-Subject: [PATCH] Fix scope handling during dl_close
-
----
- ChangeLog | 12 ++++++++++++
- elf/Makefile | 10 +++++++++-
- elf/dl-close.c | 7 +++++++
- elf/unload8.c | 33 +++++++++++++++++++++++++++++++++
- elf/unload8mod1.c | 7 +++++++
- elf/unload8mod1x.c | 1 +
- elf/unload8mod2.c | 7 +++++++
- elf/unload8mod3.c | 27 +++++++++++++++++++++++++++
- 8 files changed, 103 insertions(+), 1 deletions(-)
- create mode 100644 elf/unload8.c
- create mode 100644 elf/unload8mod1.c
- create mode 100644 elf/unload8mod1x.c
- create mode 100644 elf/unload8mod2.c
- create mode 100644 elf/unload8mod3.c
-
-diff --git a/elf/Makefile b/elf/Makefile
-index 59e835f..65b6deb 100644
---- a/elf/Makefile
-+++ b/elf/Makefile
-@@ -89,6 +89,7 @@ distribute := rtld-Rules \
- unload4mod1.c unload4mod2.c unload4mod3.c unload4mod4.c \
- unload6mod1.c unload6mod2.c unload6mod3.c \
- unload7mod1.c unload7mod2.c \
-+ unload8mod1.c unload8mod1x.c unload8mod2.c unload8mod3.c \
- tst-audit1.c tst-audit2.c tst-audit3.c tst-audit4.c \
- tst-auditmod1.c tst-auditmod3a.c tst-auditmod3b.c \
- tst-auditmod4a.c tst-auditmod4b.c \
-@@ -196,7 +197,7 @@ tests += loadtest restest1 preloadtest loadfail multiload origtest resolvfail \
- tst-align tst-align2 $(tests-execstack-$(have-z-execstack)) \
- tst-dlmodcount tst-dlopenrpath tst-deep1 \
- tst-dlmopen1 tst-dlmopen2 tst-dlmopen3 \
-- unload3 unload4 unload5 unload6 unload7 tst-global1 order2 \
-+ unload3 unload4 unload5 unload6 unload7 unload8 tst-global1 order2 \
- tst-audit1 tst-audit2 \
- tst-stackguard1 tst-addr1 tst-thrlock \
- tst-unique1 tst-unique2
-@@ -247,6 +248,7 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \
- unload4mod1 unload4mod2 unload4mod3 unload4mod4 \
- unload6mod1 unload6mod2 unload6mod3 \
- unload7mod1 unload7mod2 \
-+ unload8mod1 unload8mod1x unload8mod2 unload8mod3 \
- order2mod1 order2mod2 order2mod3 order2mod4 \
- tst-unique1mod1 tst-unique1mod2 \
- tst-unique2mod1 tst-unique2mod2
-@@ -522,6 +524,9 @@ $(objpfx)unload6mod2.so: $(libdl)
- $(objpfx)unload6mod3.so: $(libdl)
- $(objpfx)unload7mod1.so: $(libdl)
- $(objpfx)unload7mod2.so: $(objpfx)unload7mod1.so
-+$(objpfx)unload8mod1.so: $(objpfx)unload8mod2.so
-+$(objpfx)unload8mod2.so: $(objpfx)unload8mod3.so
-+$(objpfx)unload8mod3.so: $(libdl)
- $(objpfx)tst-initordera2.so: $(objpfx)tst-initordera1.so
- $(objpfx)tst-initorderb2.so: $(objpfx)tst-initorderb1.so $(objpfx)tst-initordera2.so
- $(objpfx)tst-initordera3.so: $(objpfx)tst-initorderb2.so $(objpfx)tst-initorderb1.so
-@@ -823,6 +828,9 @@ $(objpfx)unload7: $(libdl)
- $(objpfx)unload7.out: $(objpfx)unload7mod1.so $(objpfx)unload7mod2.so
- unload7-ENV = MALLOC_PERTURB_=85
-
-+$(objpfx)unload8: $(libdl)
-+$(objpfx)unload8.out: $(objpfx)unload8mod1.so $(objpfx)unload8mod1x.so
-+
- ifdef libdl
- $(objpfx)tst-tls9-static: $(common-objpfx)dlfcn/libdl.a
- $(objpfx)tst-tls9-static.out: $(objpfx)tst-tlsmod5.so $(objpfx)tst-tlsmod6.so
-diff --git a/elf/dl-close.c b/elf/dl-close.c
-index 700e765..f47d5f8 100644
---- a/elf/dl-close.c
-+++ b/elf/dl-close.c
-@@ -421,6 +421,13 @@ _dl_close_worker (struct link_map *map)
-
- imap->l_scope_max = new_size;
- }
-+ else if (new_list != NULL)
-+ {
-+ /* We didn't change the scope array, so reset the search
-+ list. */
-+ imap->l_searchlist.r_list = NULL;
-+ imap->l_searchlist.r_nlist = 0;
-+ }
-
- /* The loader is gone, so mark the object as not having one.
- Note: l_idx != IDX_STILL_USED -> object will be removed. */
-diff --git a/elf/unload8.c b/elf/unload8.c
-new file mode 100644
-index 0000000..f984a38
---- /dev/null
-+++ b/elf/unload8.c
-@@ -0,0 +1,33 @@
-+#include <dlfcn.h>
-+#include <stdio.h>
-+
-+int
-+main (void)
-+{
-+ void *h = dlopen ("$ORIGIN/unload8mod1.so", RTLD_LAZY);
-+ if (h == NULL)
-+ {
-+ puts ("dlopen unload8mod1.so failed");
-+ return 1;
-+ }
-+
-+ void *h2 = dlopen ("$ORIGIN/unload8mod1x.so", RTLD_LAZY);
-+ if (h2 == NULL)
-+ {
-+ puts ("dlopen unload8mod1x.so failed");
-+ return 1;
-+ }
-+ dlclose (h2);
-+
-+ int (*mod1) (void) = dlsym (h, "mod1");
-+ if (mod1 == NULL)
-+ {
-+ puts ("dlsym failed");
-+ return 1;
-+ }
-+
-+ mod1 ();
-+ dlclose (h);
-+
-+ return 0;
-+}
-diff --git a/elf/unload8mod1.c b/elf/unload8mod1.c
-new file mode 100644
-index 0000000..fe7e81c
---- /dev/null
-+++ b/elf/unload8mod1.c
-@@ -0,0 +1,7 @@
-+extern void mod2 (void);
-+
-+void
-+mod1 (void)
-+{
-+ mod2 ();
-+}
-diff --git a/elf/unload8mod1x.c b/elf/unload8mod1x.c
-new file mode 100644
-index 0000000..835b634
---- /dev/null
-+++ b/elf/unload8mod1x.c
-@@ -0,0 +1 @@
-+int mod1x;
-diff --git a/elf/unload8mod2.c b/elf/unload8mod2.c
-new file mode 100644
-index 0000000..2fd8b67
---- /dev/null
-+++ b/elf/unload8mod2.c
-@@ -0,0 +1,7 @@
-+extern void mod3 (void);
-+
-+void
-+mod2 (void)
-+{
-+ mod3 ();
-+}
-diff --git a/elf/unload8mod3.c b/elf/unload8mod3.c
-new file mode 100644
-index 0000000..d49e22b
---- /dev/null
-+++ b/elf/unload8mod3.c
-@@ -0,0 +1,27 @@
-+#include <dlfcn.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+
-+void
-+mod3_fini2 (void)
-+{
-+}
-+
-+void
-+mod3_fini (void)
-+{
-+ mod3_fini2 ();
-+}
-+
-+void
-+mod3 (void)
-+{
-+ void *h = dlopen ("$ORIGIN/unload8mod2.so", RTLD_LAZY);
-+ if (h == NULL)
-+ {
-+ puts ("dlopen unload8mod2.so failed");
-+ exit (1);
-+ }
-+
-+ atexit (mod3_fini);
-+}
---
-1.7.3.4
-
Deleted: glibc-2.14-avoid-assertion-on-empty-dns-answer.patch
===================================================================
--- glibc-2.14-avoid-assertion-on-empty-dns-answer.patch 2011-10-24 22:22:19 UTC (rev 141152)
+++ glibc-2.14-avoid-assertion-on-empty-dns-answer.patch 2011-10-25 05:04:59 UTC (rev 141153)
@@ -1,26 +0,0 @@
-From 032c0ee3ee28841d684950e33a77210118697566 Mon Sep 17 00:00:00 2001
-From: Andreas Schwab <schwab at redhat.com>
-Date: Thu, 1 Sep 2011 10:46:14 +0200
-Subject: [PATCH] Avoid assertion failure when first DNS answer was empty
-
----
- ChangeLog | 4 ++++
- resolv/res_query.c | 2 +-
- 2 files changed, 5 insertions(+), 1 deletions(-)
-
-diff --git a/resolv/res_query.c b/resolv/res_query.c
-index 2f7cfaa..2ded9fb 100644
---- a/resolv/res_query.c
-+++ b/resolv/res_query.c
-@@ -248,7 +248,7 @@ __libc_res_nquery(res_state statp,
- && *resplen2 > (int) sizeof (HEADER))
- {
- /* Special case of partial answer. */
-- assert (hp != hp2);
-+ assert (n == 0 || hp != hp2);
- hp = hp2;
- }
- else if (answerp2 != NULL && *resplen2 < (int) sizeof (HEADER)
---
-1.7.3.4
-
Modified: glibc-2.14-libdl-crash.patch
===================================================================
--- glibc-2.14-libdl-crash.patch 2011-10-24 22:22:19 UTC (rev 141152)
+++ glibc-2.14-libdl-crash.patch 2011-10-25 05:04:59 UTC (rev 141153)
@@ -55,7 +55,7 @@
if (old_l_initfini != NULL)
- map->l_orig_initfini = old_l_initfini;
+ _dl_scope_free (old_l_initfini);
- }
+
diff --git a/elf/dl-libc.c b/elf/dl-libc.c
index 7be9483..a13fce3 100644
--- a/elf/dl-libc.c
Added: glibc-2.14-revert-4768ae77.patch
===================================================================
--- glibc-2.14-revert-4768ae77.patch (rev 0)
+++ glibc-2.14-revert-4768ae77.patch 2011-10-25 05:04:59 UTC (rev 141153)
@@ -0,0 +1,37 @@
+diff -Naur glibc-orig//resolv/res_send.c glibc/resolv/res_send.c
+--- glibc-orig//resolv/res_send.c 2011-06-10 18:59:03.041436996 +1000
++++ glibc/resolv/res_send.c 2011-06-10 19:08:09.379309323 +1000
+@@ -549,7 +549,7 @@
+ ns, ansp, ansp2, nansp2, resplen2);
+ if (n < 0)
+ return (-1);
+- if (n == 0 && (buf2 == NULL || *resplen2 == 0))
++ if (n == 0)
+ goto next_ns;
+ } else {
+ /* Use datagrams. */
+@@ -559,7 +559,7 @@
+ ansp2, nansp2, resplen2);
+ if (n < 0)
+ return (-1);
+- if (n == 0 && (buf2 == NULL || *resplen2 == 0))
++ if (n == 0)
+ goto next_ns;
+ if (v_circuit)
+ // XXX Check whether both requests failed or
+@@ -1275,14 +1275,10 @@
+ (*thisresplenp > *thisanssizp)
+ ? *thisanssizp : *thisresplenp);
+
+- if (recvresp1 || (buf2 != NULL && recvresp2)) {
+- *resplen2 = 0;
++ if (recvresp1 || (buf2 != NULL && recvresp2))
+ return resplen;
+- }
+ if (buf2 != NULL)
+ {
+- /* No data from the first reply. */
+- resplen = 0;
+ /* We are waiting for a possible second reply. */
+ if (hp->id == anhp->id)
+ recvresp1 = 1;
More information about the arch-commits
mailing list