diff options
Diffstat (limited to 'core/glibc')
-rw-r--r-- | core/glibc/PKGBUILD | 40 | ||||
-rw-r--r-- | core/glibc/glibc-2.14-libdl-crash.patch | 2 | ||||
-rw-r--r-- | core/glibc/glibc-2.14-revert-4768ae77.patch | 37 |
3 files changed, 49 insertions, 30 deletions
diff --git a/core/glibc/PKGBUILD b/core/glibc/PKGBUILD index 4d21e0173..a6d490f36 100644 --- a/core/glibc/PKGBUILD +++ b/core/glibc/PKGBUILD @@ -1,13 +1,13 @@ -# $Id: PKGBUILD 137789 2011-09-11 01:47:05Z allan $ +# $Id: PKGBUILD 141374 2011-10-30 06:48:27Z allan $ # Maintainer: Allan McRae <allan@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.2 -_glibcdate=20110908 +pkgver=2.14.1 +pkgrel=1 +_glibcdate=20111025 pkgdesc="GNU C Library" arch=('i686' 'x86_64' 'mips64el') url="http://www.gnu.org/software/libc" @@ -28,30 +28,13 @@ source=(ftp://ftp.archlinux.org/other/glibc/${pkgname}-${pkgver}_${_glibcdate}.t 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' - '46569182a7ac0b94c0b1d643ab277dfa' - '4dadb9203b69a3210d53514bb46f41c3' - '0c5540efc51c0b93996c51b57a8540ae' - '40cd342e21f71f5e49e32622b25acc52' - 'a3ac6f318d680347bb6e2805d42b73b2' - 'b042647ea7d6f22ad319e12e796bd13e' - '7d0154b7e17ea218c9fa953599d24cc4' - '22d09c58718fb3d1d31c3a6c14ca6886' - 'cea62cc6b903d222c5f26e05a3c0e0e6' - '13728807283f111e5d9d38cf38e0a461' - 'c5de2a946215d647c8af5432ec4b0da0' - '55febbb72139ac7b65757df085024b83' - 'b587ee3a70c9b3713099295609afde49' - '07ac979b6ab5eeb778d55f041529d623' - '476e9113489f93b348b21e144b6a8fcf') mksource() { @@ -95,17 +78,16 @@ build() { # 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...) @@ -150,7 +132,7 @@ build() { --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 diff --git a/core/glibc/glibc-2.14-libdl-crash.patch b/core/glibc/glibc-2.14-libdl-crash.patch index ee29f8c20..6c9d2718e 100644 --- a/core/glibc/glibc-2.14-libdl-crash.patch +++ b/core/glibc/glibc-2.14-libdl-crash.patch @@ -55,7 +55,7 @@ index 9e30594..3890d00 100644 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 diff --git a/core/glibc/glibc-2.14-revert-4768ae77.patch b/core/glibc/glibc-2.14-revert-4768ae77.patch new file mode 100644 index 000000000..11f087cb7 --- /dev/null +++ b/core/glibc/glibc-2.14-revert-4768ae77.patch @@ -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; |