diff options
author | Nicolas Reynolds <fauno@kiwwwi.com.ar> | 2011-09-21 12:47:04 -0300 |
---|---|---|
committer | Nicolas Reynolds <fauno@kiwwwi.com.ar> | 2011-09-21 12:47:04 -0300 |
commit | 79f56eaaa1e752a2f67072051b612acf5c648f69 (patch) | |
tree | a466c8fa3a070419d3a816b79a2d38ec80ad04ce /core/glibc | |
parent | 37ac99de3bc1df2e6c5e0cd8b6af631d589cb4ab (diff) | |
parent | d739da01541d53414129d3171df221cfe2440fe5 (diff) |
Merge branch 'master' of ssh://vparabola/home/parabola/abslibre-pre-mips64el
Conflicts:
community/antiword/PKGBUILD
community/apcupsd/PKGBUILD
community/busybox/PKGBUILD
community/chrpath/PKGBUILD
community/driftnet/PKGBUILD
community/emesene/PKGBUILD
community/fdm/PKGBUILD
community/fftw2/PKGBUILD
community/gsynaptics/PKGBUILD
community/gtk-rezlooks-engine/PKGBUILD
community/httptunnel/PKGBUILD
community/libnfnetlink/PKGBUILD
community/libopenraw/PKGBUILD
community/mashup/PKGBUILD
community/pcb/PKGBUILD
community/portaudio_cpp/PKGBUILD
community/preload/PKGBUILD
community/rlog/PKGBUILD
community/scponly/PKGBUILD
community/splint/PKGBUILD
community/wmname/PKGBUILD
community/xosd/PKGBUILD
community/xxkb/PKGBUILD
community/znc/PKGBUILD
core/glibc/PKGBUILD
core/libtool/PKGBUILD
extra/at/PKGBUILD
extra/autogen/PKGBUILD
extra/bmp-musepack/PKGBUILD
extra/capi4k-utils/PKGBUILD
extra/cdrdao/PKGBUILD
extra/chkrootkit/PKGBUILD
extra/cmt/PKGBUILD
extra/compface/PKGBUILD
extra/dasher/PKGBUILD
extra/dcfldd/PKGBUILD
extra/dmapi/PKGBUILD
extra/docker/PKGBUILD
extra/dvd+rw-tools/PKGBUILD
extra/dvdrtools/PKGBUILD
extra/fcgi/PKGBUILD
extra/festival/PKGBUILD
extra/ffmpeg/PKGBUILD
extra/gecko-sharp-2.0/PKGBUILD
extra/gimp-gap/PKGBUILD
extra/gmetadom/PKGBUILD
extra/gnome-speech/PKGBUILD
extra/gnome-vfsmm/PKGBUILD
extra/gnutls/PKGBUILD
extra/graphite/PKGBUILD
extra/i8kutils/PKGBUILD
extra/id3/PKGBUILD
extra/java-access-bridge/PKGBUILD
extra/kdelibs/PKGBUILD
extra/koffice/PKGBUILD
extra/ladspa/PKGBUILD
extra/libcddb/PKGBUILD
extra/libcroco/PKGBUILD
extra/libdc1394/PKGBUILD
extra/libdca/PKGBUILD
extra/libgee/PKGBUILD
extra/libglademm/PKGBUILD
extra/libgnomecanvasmm/PKGBUILD
extra/libsigsegv/PKGBUILD
extra/libstdc++5/PKGBUILD
extra/libwebkit/PKGBUILD
extra/libytnef/PKGBUILD
extra/lua/PKGBUILD
extra/mcpp/PKGBUILD
extra/metalog/PKGBUILD
extra/mp3wrap/PKGBUILD
extra/mt-st/PKGBUILD
extra/naim/PKGBUILD
extra/ocaml/PKGBUILD
extra/oxine/PKGBUILD
extra/php/PKGBUILD
extra/poppler/PKGBUILD
extra/pstoedit/PKGBUILD
extra/qt/PKGBUILD
extra/speex/PKGBUILD
extra/sweep/PKGBUILD
extra/t1lib/PKGBUILD
extra/taglib-extras/PKGBUILD
extra/unixodbc/PKGBUILD
extra/wireshark/PKGBUILD
extra/ypbind-mt/PKGBUILD
gnome-unstable/caribou/PKGBUILD
gnome-unstable/clutter/PKGBUILD
gnome-unstable/cogl/PKGBUILD
gnome-unstable/dconf/PKGBUILD
gnome-unstable/empathy/PKGBUILD
gnome-unstable/empathy/empathy.install
gnome-unstable/eog/PKGBUILD
gnome-unstable/evolution-data-server/PKGBUILD
gnome-unstable/evolution/PKGBUILD
gnome-unstable/folks/PKGBUILD
gnome-unstable/gconf/PKGBUILD
gnome-unstable/gdm/PKGBUILD
gnome-unstable/gdm/fix_external_program_directories.patch
gnome-unstable/glib-networking/PKGBUILD
gnome-unstable/glib2/PKGBUILD
gnome-unstable/gnome-color-manager/PKGBUILD
gnome-unstable/gnome-contacts/PKGBUILD
gnome-unstable/gnome-desktop/PKGBUILD
gnome-unstable/gnome-keyring/PKGBUILD
gnome-unstable/gnome-menus/PKGBUILD
gnome-unstable/gnome-online-accounts/PKGBUILD
gnome-unstable/gnome-panel/PKGBUILD
gnome-unstable/gnome-power-manager/PKGBUILD
gnome-unstable/gnome-screensaver/PKGBUILD
gnome-unstable/gnome-session/PKGBUILD
gnome-unstable/gnome-settings-daemon/PKGBUILD
gnome-unstable/gnome-shell/PKGBUILD
gnome-unstable/gnome-themes-standard/PKGBUILD
gnome-unstable/gnome-utils/PKGBUILD
gnome-unstable/gtk3/PKGBUILD
gnome-unstable/gtkhtml4/PKGBUILD
gnome-unstable/gtkmm3/PKGBUILD
gnome-unstable/libgdata/PKGBUILD
gnome-unstable/libgnome-keyring/PKGBUILD
gnome-unstable/libsoup/PKGBUILD
gnome-unstable/libwnck3/PKGBUILD
gnome-unstable/mash/PKGBUILD
gnome-unstable/mutter/PKGBUILD
gnome-unstable/mx/PKGBUILD
gnome-unstable/pulseaudio/PKGBUILD
gnome-unstable/pygobject/PKGBUILD
gnome-unstable/pygobject2/PKGBUILD
gnome-unstable/seahorse/PKGBUILD
gnome-unstable/sushi/PKGBUILD
gnome-unstable/totem/PKGBUILD
gnome-unstable/upower/PKGBUILD
gnome-unstable/vala/PKGBUILD
kde-unstable/kdebase-workspace/PKGBUILD
multilib/lib32-glibc/PKGBUILD
multilib/lib32-gtk/PKGBUILD
multilib/lib32-libpng/PKGBUILD
multilib/lib32-mpg123/PKGBUILD
multilib/lib32-nspr/PKGBUILD
multilib/lib32-nss/PKGBUILD
multilib/lib32-nss/add_spi+cacert_ca_certs.patch
multilib/lib32-openssl/PKGBUILD
multilib/libtool-multilib/PKGBUILD
multilib/wine/PKGBUILD
testing/util-linux/PKGBUILD
Diffstat (limited to 'core/glibc')
-rw-r--r-- | core/glibc/PKGBUILD | 30 | ||||
-rw-r--r-- | core/glibc/glibc-2.13-dlclose-search-reset.patch | 196 | ||||
-rw-r--r-- | core/glibc/glibc-2.14-avoid-assertion-on-empty-dns-answer.patch | 26 |
3 files changed, 239 insertions, 13 deletions
diff --git a/core/glibc/PKGBUILD b/core/glibc/PKGBUILD index 98392aef7..f89aa03cc 100644 --- a/core/glibc/PKGBUILD +++ b/core/glibc/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 135924 2011-08-20 07:14:27Z allan $ +# $Id: PKGBUILD 137789 2011-09-11 01:47:05Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc @@ -6,10 +6,10 @@ pkgname=glibc pkgver=2.14 -pkgrel=5 +pkgrel=6 pkgver=2.13 #holdver pkgrel=5.1 #holdver -_glibcdate=20110617 +_glibcdate=20110908 pkgdesc="GNU C Library" arch=('i686' 'x86_64') url="http://www.gnu.org/software/libc" @@ -17,7 +17,8 @@ license=('GPL' 'LGPL') groups=('base') depends=('linux-api-headers>=3.0' 'tzdata') makedepends=('gcc>=4.6') -backup=(etc/locale.gen +backup=(etc/gai.conf + etc/locale.gen etc/nscd.conf) options=('!strip') install=glibc.install @@ -28,23 +29,24 @@ 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-fix-resolver-crash-typo.patch - glibc-2.14-revert-4462fad3.patch + glibc-2.14-avoid-assertion-on-empty-dns-answer.patch glibc-2.14-reexport-rpc-interface.patch glibc-2.14-reinstall-nis-rpc-headers.patch nscd locale.gen.txt locale-gen) -md5sums=('e441d745609d93c907b72548ba646dad' +md5sums=('069069eb9100cc7affd7ad884cb3c3e9' '4dadb9203b69a3210d53514bb46f41c3' '0c5540efc51c0b93996c51b57a8540ae' '40cd342e21f71f5e49e32622b25acc52' 'a3ac6f318d680347bb6e2805d42b73b2' 'b042647ea7d6f22ad319e12e796bd13e' '7d0154b7e17ea218c9fa953599d24cc4' + '22d09c58718fb3d1d31c3a6c14ca6886' 'cea62cc6b903d222c5f26e05a3c0e0e6' - '46e56492cccb1c9172ed3a235cf43c6c' + '13728807283f111e5d9d38cf38e0a461' 'c5de2a946215d647c8af5432ec4b0da0' '55febbb72139ac7b65757df085024b83' 'b587ee3a70c9b3713099295609afde49' @@ -84,15 +86,17 @@ 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 - # This fixes the main segfault but not the assert fail (FS#24615) - # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=57912a71 - #patch -Np1 -i ${srcdir}/glibc-2.14-fix-resolver-crash-typo.patch - # resort to reverting the bad commit completely for the moment - patch -Np1 -i ${srcdir}/glibc-2.14-revert-4462fad3.patch + # 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 # 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...) diff --git a/core/glibc/glibc-2.13-dlclose-search-reset.patch b/core/glibc/glibc-2.13-dlclose-search-reset.patch new file mode 100644 index 000000000..3ad8b418a --- /dev/null +++ b/core/glibc/glibc-2.13-dlclose-search-reset.patch @@ -0,0 +1,196 @@ +From 2f811bf88bed4a6c0dec8778847ba441736d509d Mon Sep 17 00:00:00 2001 +From: Andreas Schwab <schwab@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 + diff --git a/core/glibc/glibc-2.14-avoid-assertion-on-empty-dns-answer.patch b/core/glibc/glibc-2.14-avoid-assertion-on-empty-dns-answer.patch new file mode 100644 index 000000000..ef91116e5 --- /dev/null +++ b/core/glibc/glibc-2.14-avoid-assertion-on-empty-dns-answer.patch @@ -0,0 +1,26 @@ +From 032c0ee3ee28841d684950e33a77210118697566 Mon Sep 17 00:00:00 2001 +From: Andreas Schwab <schwab@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 + |