Hello community, here is the log from the commit of package glibc for openSUSE:Factory checked in at 2012-08-31 09:27:30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/glibc (Old) and /work/SRC/openSUSE:Factory/.glibc.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "glibc", Maintainer is "matz@suse.com" Changes: -------- --- /work/SRC/openSUSE:Factory/glibc/glibc.changes 2012-07-23 10:15:38.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.glibc.new/glibc.changes 2012-08-31 09:27:57.000000000 +0200 @@ -1,0 +2,39 @@ +Tue Aug 28 07:10:49 UTC 2012 - aj@suse.de + +- Update to da1f43196321, major changes: + * Fix strtod integer/buffer overflow (bso#14459). + * Fix segmentation fault in strncasecmp for i686. + * Translation updates + +------------------------------------------------------------------- +Tue Jul 24 08:39:30 UTC 2012 - aj@suse.de + +- Fix _mcount on PowerPC32. + +------------------------------------------------------------------- +Sat Jul 21 07:31:10 UTC 2012 - aj@suse.de + +- Enable parallel build for some more cases. + +------------------------------------------------------------------- +Fri Jul 20 17:00:00 UTC 2012 - aj@suse.de + +- Update to glibc 2.16 release. + * update version numbers + * Documentation updates +- Update manpages from Debian, includes new man pages for + locale.1, mtrace.1, gencat.1 iconvconfig.8. +- Remove getent.1 man page, use the one from man-pages. + +------------------------------------------------------------------- +Fri Jul 20 16:42:42 UTC 2012 - aj@suse.de + +- Update to glibc 2.16 trunk (git id 416bf844227d): + * Fix check-abi for arm + * Refresh some patches. + * remove merged patches + * mainly lots of bug fixes + * Support for ISO C11 + * full details in NEWS file + +------------------------------------------------------------------- Old: ---- armhf-ld-so.patch confstr.patch cycle-detection.patch gb18030.patch.bz2 glibc-2.15-725b8ee08aff.tar.xz glibc-2.15-nss_db-declarations.patch glibc-2.16-arm-context.patch glibc-2.16-expf-underflow-exception.patch glibc-2.16-fix-check-abi.patch glibc-2.16-mcheck.patch glibc-2.16-powerpc-initfini.patch glibc-2.16-scanf.patch glibc-add-arm-dependency-libmemusage.patch glibc-fini-unwind.diff glibc-fix-noload.patch glibc-ifunc-2.16.patch glibc-no-unwind-tables.diff glibc-nscd-crash-bso13594.patch glibc-nscd-foreground.patch glibc-ports-2.15-8a70b2dcabbf.tar.bz2 glibc-ppc-getcontext.patch glibc-sparc-fxstatat64.diff glibc-sw13618-2.patch glibc-uio-cell.diff glibc2.14-revert-sunrpc-removal.patch tr_TR.patch vfprintf-nargs.patch x86-cpuid-level2.patch New: ---- glibc-2.16-da1f43196321.tar.xz glibc-2.16-ppc32-mcount.patch glibc-fix-check-abi.patch glibc-ports-2.16-a20c2b3c87ae.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ glibc.spec ++++++ --- /var/tmp/diff_new_pack.JLatrN/_old 2012-08-31 09:27:59.000000000 +0200 +++ /var/tmp/diff_new_pack.JLatrN/_new 2012-08-31 09:27:59.000000000 +0200 @@ -29,11 +29,14 @@ Summary: Standard Shared Libraries (from the GNU C Library) License: LGPL-2.1+ and SUSE-LGPL-2.1+-with-GCC-exception and GPL-2.0+ Group: System/Libraries -BuildRequires: gcc-c++ +BuildRequires: fdupes BuildRequires: libselinux-devel -BuildRequires: libstdc++-devel BuildRequires: makeinfo BuildRequires: xz +%if %{with glibc_run_testsuite} +BuildRequires: gcc-c++ +BuildRequires: libstdc++-devel +%endif %define _filter_GLIBC_PRIVATE 1 %if %_target_cpu == "i686" @@ -116,17 +119,17 @@ Provides: ld-linux.so.3 Provides: ld-linux.so.3(GLIBC_2.4) %endif -Version: 2.15 +Version: 2.16 Release: 0 -%define glibc_major_version 2.15 -%define git_id 725b8ee08aff -%define glibc_ports_ver 2.15 -%define ports_git_id 8a70b2dcabbf +%define glibc_major_version 2.16 +%define git_id da1f43196321 +%define glibc_ports_ver 2.16 +%define ports_git_id a20c2b3c87ae Url: http://www.gnu.org/software/libc/libc.html BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: glibc-%{version}-%{git_id}.tar.xz %define glibc_ports_dir glibc-ports-%{glibc_ports_ver} -Source2: glibc-ports-%{glibc_ports_ver}-%{ports_git_id}.tar.bz2 +Source2: glibc-ports-%{glibc_ports_ver}-%{ports_git_id}.tar.xz Source3: noversion.tar.bz2 Source4: manpages.tar.bz2 Source5: nsswitch.conf @@ -204,12 +207,10 @@ Patch17: glibc-compiled-binaries.diff # PATCH-FEATURE-SLE increase cpusetsize to 4096, needs to be kept for compatibility kukuk@suse.de (XXX: Review) Patch18: glibc-cpusetsize.diff -# PATCH-FIX-OPENSUSE Do not trigger an abort when an i586 Intel CPU is running the i686 library, as valgrind does. bnc#681398 aj@suse.de -# According the the Debian bug report, this is fixed in valgrind now, so disable -# this patch. -Patch19: x86-cpuid-level2.patch # PATCH-FIX-OPENSUSE Allow ARM binaries with old linker path to run - aj@suse.de Patch20: glibc-armhf-compat.patch +# PATCH-FIX-OPENSUSE Fix check abi for crypt additions +Patch21: glibc-fix-check-abi.patch ### Locale related patches # PATCH-FIX-OPENSUSE Add additional locales @@ -222,8 +223,6 @@ Patch103: glibc-2.4-china.diff ### Broken patches in glibc that we revert for now: -# PATCH-FEATURE-OPENSUSE Revert sunrpc removal aj@suse.de -Patch200: glibc2.14-revert-sunrpc-removal.patch # PATCH-FIX-OPENSUSE revert seeking on fclose for now bnc#711829 matz@suse.de Patch201: glibc-revert-fseek-on-fclose.diff # PATCH-FIX-OPENSUSE revert pthread-cond-wait change since it causes hangs - aj@suse.de @@ -246,8 +245,6 @@ Patch306: glibc-fix-double-loopback.diff ### Misc patches -# PATCH-FIX-OPENSUSE don't use unwind tables for initfini (solved differently for glibc 2.16) -Patch400: glibc-no-unwind-tables.diff # FIX-OPENSUSE compile some files with -fno-strict-aliasing Patch401: glibc-strict-aliasing.diff # PATCH-FIX-OPENSUSE avoid false positive warning that triggers brp postcheck fail @@ -256,64 +253,20 @@ ### # Patches from upstream ### -# PATCH-FIX-UPSTREAM Fix missing declarations -Patch1000: glibc-2.15-nss_db-declarations.patch -# PATCH-FIX-UPSTREAM Fix realloc usage in vfscanf - aj@suse.de -Patch1001: glibc-2.16-scanf.patch -# PATCH-FIX-UPSTREAM Fix getcontext on 32-bit powerpc - aj@suse.de -Patch1002: glibc-ppc-getcontext.patch -# PATCH-FIX-UPSTREAM Fix ifunc relocations (bnc#740109) - aj@suse.de -Patch1003: glibc-ifunc-2.16.patch -# PATCH-FIX-UPSTREAM vfprintf: validate nargs and maybe allocate from heap bnc#747768 - aj@suse.de -Patch1005: vfprintf-nargs.patch -# PATCH-FIX-UPSTREAM Add Arm dependency on libmemusage - bwiedemann@suse.de -Patch1006: glibc-add-arm-dependency-libmemusage.patch -# PATCH-FIX-UPSTREAM Fix check abi - aj@suse.de -Patch1007: glibc-2.16-fix-check-abi.patch -# PATCH-FIX-UPSTREAM - Allow compilation with -altivec aj@suse.de -Patch1009: glibc-uio-cell.diff -# PATCH-FIX-UPSTREAM - do not use initfini anymore -Patch1010: glibc-2.16-powerpc-initfini.patch -# PATCH-FIX-UPSTREAM Use new common path for ARMv7 hardware float linker - aj@suse.de -Patch1011: armhf-ld-so.patch -# PATCH-FIX-UPSTREAM Add --foreground for nscd (from Fedora) - aj@suse.de -Patch1012: glibc-nscd-foreground.patch -# PATCH-FIX-UPSTREAM Fix confstr use of local buffer outside its extent -Patch1013: confstr.patch -# PATCH-FIX-UPSTREAM Bogus FPE on underflow for exp(double) bnc#767956 - aj@suse.de -Patch1015: glibc-2.16-expf-underflow-exception.patch -# PATCH-FIX-UPSTREAM Fix gb18030 code bnc#54080 -Patch1016: gb18030.patch.bz2 -# PATCH-FIX-UPSTREAM Fix crash when nscd is not running (bso#135949) - aj@suse.de -Patch1017: glibc-nscd-crash-bso13594.patch -# PATCH-FIX-UPSTREAM malloc(0);free gets optimized out -Patch1018: glibc-2.16-mcheck.patch -# PATCH-FIX-UPSTREAM Correct first_weekday for tr_TR (glibc bug#13223) - aj@suse.de -Patch1019: tr_TR.patch -# PATCH-FIX-UPSTREAM implement *context on ARM - agraf@suse.de -Patch1020: glibc-2.16-arm-context.patch # PATCH-FIX-UPSTREAM Fix dns buffer - aj@suse.de Patch1021: glibc-2.16-getaddrinfo-buffer.patch -# PATCH-FIX_UPSTREAM Use correct implementation of fxstatat64 on sparc64 -Patch1022: glibc-sparc-fxstatat64.diff ### # Patches awaiting upstream approval ### # PATCH-FIX-UPSTREAM Fix assertion error in res_query.c (bso#13013) Patch2001: glibc-resolv-assert.diff -# PATCH-FIX-OPENSUSE Fix crash (access-after-free) in dl_lookup_x bnc#703140, bso#13579 matz@suse.de -Patch2004: glibc-fix-noload.patch # PATCH-FIX-OPENSUSE bnc#657627, http://sourceware.org/bugzilla/show_bug.cgi?id=12561 Patch2005: glibc-elf-localscope.diff -# PATCH-FIX-OPENSUSE Fix cycle detection - aj@suse.de -Patch2006: cycle-detection.patch -# PATCH-FIX-OPENSUSE Fix cycle detection 2 (from Fedora) - aj@suse.de -Patch2007: glibc-sw13618-2.patch # PATCH-FIX-OPENSUSE Fix LD_PROFILE (glibc bug#13818) - aj@suse.de Patch2008: glibc-ld-profile.patch -# PATCH-FIX-OPENSUSE _fini does not have proper unwinding information on x86_64 bso#11610 -Patch2009: glibc-fini-unwind.diff +# PATCH-FIX-OPENSUSE Fix mcount on PowerPC32 - aj@suse.de +Patch2009: glibc-2.16-ppc32-mcount.patch %description The GNU C Library provides the most important standard libraries used @@ -522,17 +475,15 @@ %patch16 -p1 %patch17 -p1 %patch18 -p1 -# This should be fixed in valgrind now -#%patch19 -p1 +%patch21 -p1 %patch100 -p1 %patch101 -p1 %patch102 -p1 %patch103 -p1 -%patch200 -p1 %patch201 -p1 -%patch202 -p1 -R +%patch202 -p1 %patch300 -p1 %patch301 -p1 @@ -542,43 +493,18 @@ %patch305 -p1 %patch306 -p1 -%patch400 -p1 %patch401 -p1 %patch402 -p1 -%patch1000 -p1 -%patch1001 -p1 -%patch1002 -p1 -%patch1003 -p1 -%patch1005 -p1 -%patch1006 -p1 -%patch1007 -p1 -%patch1009 -p1 -%ifarch ppc ppc64 -# to support further architectures, some more changes are needed -%patch1010 -p1 -%endif %ifarch armv7l armv7hl -%patch1011 -p1 %patch20 -p1 %endif -%patch1012 -p1 -%patch1013 -p1 -%patch1015 -p1 -%patch1016 -p1 -%patch1017 -p1 -%patch1018 -p1 -%patch1019 -p1 -%patch1020 -p1 %patch1021 -p1 -%patch -P 1022 -p1 %patch2001 -p1 -%patch2004 -p1 # XXX: Does not pass testsuite, still there's no better solution yet +# XXX: Test elf/tst-dlmodcount.out fails with patch2005 %patch2005 -p1 -%patch2006 -p1 -%patch2007 -p1 # XXX Disable, it breaks the testsuite, test elf/tst-audit2 # %patch2008 -p1 %patch2009 -p1 @@ -644,7 +570,6 @@ BuildCC="%__cc" BuildCCplus="%__cxx" add_ons=",libidn" -PARALLEL="%{?_smp_mflags}" # #now overwrite for some architectures # @@ -691,8 +616,10 @@ %ifarch %ix86 add_ons=$add_ons,noversion %endif -%ifarch %arm mipsel +%ifarch %arm mipsel ia64 add_ons=$add_ons,%glibc_ports_dir +%endif +%ifarch %arm mipsel # fails to build otherwise - need to recheck and fix %define enable_stackguard_randomization 0 %endif @@ -718,7 +645,8 @@ profile="--enable-profile" fi %endif - CFLAGS="$conf_cflags" CC="$BuildCC" CXX="$BuildCCplus" ../configure \ + CFLAGS="$conf_cflags" BUILD_CFLAGS="$conf_cflags" \ + CC="$BuildCC" CXX="$BuildCCplus" ../configure \ --prefix=%{_prefix} \ --libexecdir=%{_libdir} --infodir=%{_infodir} \ --enable-add-ons=nptl$addons \ @@ -735,10 +663,11 @@ --without-fp \ %endif --enable-kernel=%{enablekernel} \ - --enable-bind-now + --enable-bind-now --enable-obsolete-rpc +# Should we enable --enable-systemtap? # Should we enable --enable-nss-crypt to build use freebl3 hash functions? # explicitly set CFLAGS to use the full CFLAGS (not the reduced one for configure) - make $PARALLEL CFLAGS="$cflags" + make %{?_smp_mflags} CFLAGS="$cflags" BUILD_CFLAGS="$cflags" cd .. } @@ -829,27 +758,24 @@ %if %{run_testsuite} # Increase timeout export TIMEOUTFACTOR=16 - %ifarch %arm alpha %ix86 ppc ppc64 ia64 s390 s390x x86_64 + %ifarch alpha %ix86 ppc ppc64 ia64 s390 s390x x86_64 # ix86: tst-cputimer? fails # ia64: tst-timer4 fails # ppc64: tst-pselect, ftwtest fails # s390,s390x: tst-timer* fails - make -C cc-base -k check || echo make check failed + make %{?_smp_mflags} -C cc-base -k check || echo make check failed %else - make -C cc-base check + make %{?_smp_mflags} -C cc-base check %endif %endif -# File was not created as empty file by patch 101 -touch abilist/libnss_dns.abilist abilist/libnss_db.abilist -# This has to pass on x86 and x86-64 +# This has to pass on all platforms! # Exceptions: -# ARM: There's no check-abi data for arm at all -# s390, s390x, ppc, ppc64: Outdated check-abi data -%ifnarch %arm s390 s390x ppc ppc64 -make -C cc-base check-abi +# PowerPC32: _mcount +#%ifnarch ppc +make %{?_smp_mflags} -C cc-base check-abi #%else -#make -C cc-base check-abi || echo check-abi failed -%endif +#make %{?_smp_mflags} -C cc-base check-abi || echo check-abi failed +#%endif ####################################################################### ### @@ -874,8 +800,7 @@ touch %{buildroot}%{_libdir}/gconv/gconv-modules.cache # Install base glibc -# Do not install in parallel, timezone Makefile will fail -make install_root=%{buildroot} install -C cc-base +make %{?_smp_mflags} install_root=%{buildroot} install -C cc-base install_optimized_variant() { local dirname="$1"; shift @@ -940,9 +865,16 @@ # Install locales %if %{build_locales} - # Do not install locales in parallel! + # XXX Do not install locales in parallel! cd cc-base - make install_root=%{buildroot} install-locales -C ../localedata objdir=`pwd` + # localedef creates hardlinks to other locales if possible + # this will not work if we generate them in parallel. + # thus we need to run fdupes on /usr/lib/locale/ + # Still, on my system this is a speed advantage: + # non-parallel build for install-locales: 9:34mins + # parallel build with fdupes: 7:08mins + make %{?_smp_mflags} install_root=%{buildroot} localedata/install-locales + %fdupes %{buildroot}/usr/lib/locale cd .. %endif # Create file list for glibc-locale package @@ -981,7 +913,7 @@ %if %{build_html} mkdir -p %{buildroot}%{_datadir}/doc/glibc -cp -p manual/libc/*.html %{buildroot}%{_datadir}/doc/glibc +cp -p cc-base/manual/libc/*.html %{buildroot}%{_datadir}/doc/glibc %endif cd manpages; make install_root=%{buildroot} install; cd .. @@ -1126,10 +1058,12 @@ %verify(not md5 size mtime) %config(noreplace) /etc/nsswitch.conf %verify(not md5 size mtime) %config(noreplace) /etc/gai.conf %config(noreplace) /etc/default/nss +%doc %{_mandir}/man1/gencat.1.gz %doc %{_mandir}/man1/getconf.1.gz -%doc %{_mandir}/man1/getent.1.gz +%doc %{_mandir}/man1/locale.1.gz %doc %{_mandir}/man1/localedef.1.gz %doc %{_mandir}/man5/* +%doc %{_mandir}/man8/iconvconfig.8.gz /%{_lib}/ld-%{glibc_major_version}.so # Each architecture has a different name for the dynamic linker: @@ -1252,7 +1186,6 @@ %{_libdir}/getconf/* %{_sbindir}/glibc_post_upgrade %{_sbindir}/iconvconfig -#%dir /var/db %ifarch %ix86 @@ -1274,7 +1207,7 @@ %files devel %defattr(-,root,root) -%doc COPYING COPYING.LIB FAQ NEWS NOTES README BUGS CONFORMANCE +%doc COPYING COPYING.LIB NEWS README BUGS CONFORMANCE %doc %{_mandir}/man1/catchsegv.1.gz %doc %{_mandir}/man1/rpcgen.1.gz %doc %{_mandir}/man1/sprof.1.gz @@ -1375,6 +1308,7 @@ %{_bindir}/sotruss %{_bindir}/xtrace %{_bindir}/pldd +%doc %{_mandir}/man1/mtrace.1.gz %files extra %defattr(-,root,root) ++++++ glibc-2.14-crypt-versioning.diff ++++++ --- /var/tmp/diff_new_pack.JLatrN/_old 2012-08-31 09:27:59.000000000 +0200 +++ /var/tmp/diff_new_pack.JLatrN/_new 2012-08-31 09:27:59.000000000 +0200 @@ -1,8 +1,8 @@ -Index: glibc-2.15/Versions.def +Index: glibc-2.15.90/Versions.def =================================================================== ---- glibc-2.15.orig/Versions.def -+++ glibc-2.15/Versions.def -@@ -40,6 +40,7 @@ libc { +--- glibc-2.15.90.orig/Versions.def ++++ glibc-2.15.90/Versions.def +@@ -41,6 +41,7 @@ libc { } libcrypt { GLIBC_2.0 @@ -10,10 +10,10 @@ } libdl { GLIBC_2.0 -Index: glibc-2.15/crypt/Versions +Index: glibc-2.15.90/crypt/Versions =================================================================== ---- glibc-2.15.orig/crypt/Versions -+++ glibc-2.15/crypt/Versions +--- glibc-2.15.90.orig/crypt/Versions ++++ glibc-2.15.90/crypt/Versions @@ -3,4 +3,7 @@ libcrypt { crypt; crypt_r; encrypt; encrypt_r; fcrypt; setkey; setkey_r; crypt_rn; crypt_ra; crypt_gensalt; crypt_gensalt_rn; crypt_gensalt_ra; ++++++ glibc-2.14-crypt.diff ++++++ --- /var/tmp/diff_new_pack.JLatrN/_old 2012-08-31 09:27:59.000000000 +0200 +++ /var/tmp/diff_new_pack.JLatrN/_new 2012-08-31 09:27:59.000000000 +0200 @@ -1,7 +1,8 @@ -diff -urp glibc-2.14.orig/crypt/Makefile glibc-2.14/crypt/Makefile ---- glibc-2.14.orig/crypt/Makefile 2011-05-31 04:12:33 +0000 -+++ glibc-2.14/crypt/Makefile 2011-07-16 21:40:56 +0000 -@@ -22,6 +22,7 @@ +Index: glibc-2.15.90/crypt/Makefile +=================================================================== +--- glibc-2.15.90.orig/crypt/Makefile ++++ glibc-2.15.90/crypt/Makefile +@@ -21,6 +21,7 @@ subdir := crypt headers := crypt.h @@ -9,7 +10,7 @@ extra-libs := libcrypt extra-libs-others := $(extra-libs) -@@ -29,6 +30,8 @@ extra-libs-others := $(extra-libs) +@@ -28,6 +29,8 @@ extra-libs-others := $(extra-libs) libcrypt-routines := crypt-entry md5-crypt sha256-crypt sha512-crypt crypt \ crypt_util @@ -17,10 +18,11 @@ + tests := cert md5c-test sha256c-test sha512c-test - distribute := ufc-crypt.h crypt-private.h ufc.c speeds.c README.ufc-crypt \ -diff -urp glibc-2.14.orig/crypt/Versions glibc-2.14/crypt/Versions ---- glibc-2.14.orig/crypt/Versions 2011-05-31 04:12:33 +0000 -+++ glibc-2.14/crypt/Versions 2011-07-16 21:40:56 +0000 + include ../Makeconfig +Index: glibc-2.15.90/crypt/Versions +=================================================================== +--- glibc-2.15.90.orig/crypt/Versions ++++ glibc-2.15.90/crypt/Versions @@ -1,5 +1,6 @@ libcrypt { GLIBC_2.0 { @@ -28,10 +30,11 @@ + crypt_rn; crypt_ra; crypt_gensalt; crypt_gensalt_rn; crypt_gensalt_ra; } } -diff -urp glibc-2.14.orig/crypt/crypt-entry.c glibc-2.14/crypt/crypt-entry.c ---- glibc-2.14.orig/crypt/crypt-entry.c 2011-05-31 04:12:33 +0000 -+++ glibc-2.14/crypt/crypt-entry.c 2011-07-16 21:40:56 +0000 -@@ -82,7 +82,7 @@ extern struct crypt_data _ufc_foobar; +Index: glibc-2.15.90/crypt/crypt-entry.c +=================================================================== +--- glibc-2.15.90.orig/crypt/crypt-entry.c ++++ glibc-2.15.90/crypt/crypt-entry.c +@@ -79,7 +79,7 @@ extern struct crypt_data _ufc_foobar; */ char * @@ -40,7 +43,7 @@ const char *key; const char *salt; struct crypt_data * __restrict data; -@@ -137,6 +137,7 @@ __crypt_r (key, salt, data) +@@ -134,6 +134,7 @@ __crypt_r (key, salt, data) _ufc_output_conversion_r (res[0], res[1], salt, data); return data->crypt_3_buf; } @@ -48,7 +51,7 @@ weak_alias (__crypt_r, crypt_r) char * -@@ -177,3 +178,4 @@ __fcrypt (key, salt) +@@ -174,3 +175,4 @@ __fcrypt (key, salt) return crypt (key, salt); } #endif ++++++ glibc-2.16-ppc32-mcount.patch ++++++
From schwab@linux-m68k.org Wed, 02 May 2012 17:13:26 +0200 Return-Path: <libc-alpha-return-28278-aj=suse.de@sourceware.org> Received: from imap.suse.de ([unix socket]) by imap-int (Cyrus v2.2.12) with LMTPA; Wed, 02 May 2012 17:13:51 +0200 X-Sieve: CMU Sieve 2.2 Received: from relay2.suse.de (relay2.suse.de [149.44.160.134]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "relay.suse.de", Issuer "CAcert Class 3 Root" (verified OK)) by imap.suse.de (Postfix) with ESMTPS id F17483C5339B for <aj@imap.suse.de>; Wed, 2 May 2012 17:13:51 +0200 (CEST) Received: by relay2.suse.de (Postfix) id E8E6A18552B2; Wed, 2 May 2012 17:13:51 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by relay2.suse.de (Postfix) with ESMTP id DD16818552B4 for <aj@suse.de>; Wed, 2 May 2012 17:13:51 +0200 (CEST) Received: from relay2.suse.de ([127.0.0.1]) by localhost (localhost [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 02496-01 for <aj@suse.de>; Wed, 2 May 2012 17:13:49 +0200 (CEST) Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by relay2.suse.de (Postfix) with ESMTPS id DBBF518552B2 for <aj@suse.de>; Wed, 2 May 2012 17:13:49 +0200 (CEST) Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by mx2.suse.de (Postfix) with SMTP id 47EFA90F2E for <aj@suse.de>; Wed, 2 May 2012 17:13:48 +0200 (CEST) Comment: DKIM? See http://www.dkim.org DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=sourceware.org; s=default; x=1336576429; h=Comment: DomainKey-Signature:Received:Received:From:To:Cc:Subject: References:Date:In-Reply-To:Message-ID:User-Agent:MIME-Version: Content-Type:Mailing-List:Precedence:List-Id:List-Unsubscribe: List-Subscribe:List-Archive:List-Post:List-Help:Sender: Delivered-To; bh=0y95/HSsnyw1ABh4V7CAeeORO5U=; b=scLVxQl2KjsaCsA HlTbKP4b4DlOrh0JbNdDKP3JDs40rI/X02fBsblbArg/QrsiZO9TtF6iehIuw+Sa /d57G5/oKoaZwV46wT3pzH6BUuKDP+BH1ZMp+TMQRYn4C0Asq5wgY+DeEZhF41gK f7wsOFVFEQouRtp3QC3k/eN3yUSY= Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=sourceware.org; h=Received:Received:X-SWARE-Spam-Status:X-Spam-Check-By:From:To:Cc:Subject:References:X-Yow:Date:In-Reply-To:Message-ID:User-Agent:MIME-Version:Content-Type:Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Subscribe:List-Archive:List-Post:List-Help:Sender:Delivered-To; b=miVyTadt4ff79bxj8elDpRttJ/wxuYnbsl6ZvownzuoJh+HWi+P3S33l/J51gL /k0F6BLmQ0KXBE9/F8Dxpl9sgt1gBlj440D8gh/jh5cPXeP98VBe0g8f13Rz4j/8 DiRjxjzQbo8WPJlpbeWWdk/pYQSELCdRi45cxnxRItt7o=; Received: (qmail 23763 invoked by alias); 2 May 2012 15:13:43 -0000 Received: (qmail 23753 invoked by uid 22791); 2 May 2012 15:13:41 -0000 X-SWARE-Spam-Status: No, hits=-2.0 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,TW_LW X-Spam-Check-By: sourceware.org From: Andreas Schwab <schwab@linux-m68k.org> To: Alan Modra <amodra@gmail.com> Cc: libc-alpha@sourceware.org Subject: [PATCH v2] Fix missing _mcount@GLIBC_2.0 on powerpc32 References: <m24nryrjy1.fsf@igel.home> <20120502113123.GC635@bubble.grove.modra.org> X-Yow: I want to read my new poem about pork brains and outer space... Date: Wed, 02 May 2012 17:13:26 +0200 In-Reply-To: <20120502113123.GC635@bubble.grove.modra.org> (Alan Modra's message of "Wed, 2 May 2012 21:01:23 +0930") Message-ID: <m2ipgepqeh.fsf_-_@igel.home> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.96 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: <libc-alpha.sourceware.org> List-Unsubscribe: <mailto:libc-alpha-unsubscribe-aj=suse.de@sourceware.org> List-Subscribe: <mailto:libc-alpha-subscribe@sourceware.org> List-Archive: <http://sourceware.org/ml/libc-alpha/> List-Post: <mailto:libc-alpha@sourceware.org> List-Help: <mailto:libc-alpha-help@sourceware.org>, <http://sourceware.org/ml/#faqs> Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org X-Virus-Scanned: by amavisd-new at localhost X-Spam-Status: No, score=-7.599 tagged_above=-20 required=5 tests=[BAYES_00=-2.599, MY_LINUX=-1, RCVD_IN_DNSWL_MED=-4] X-Spam-Score: -7.599 X-Spam-Level:
[BZ #14042] * sysdeps/powerpc/powerpc32/ppc-mcount.S [SHARED]: Don't use PLT for call to __mcount_internal. * sysdeps/powerpc/powerpc32/Makefile (sysdep_routines) (shared-only-routines) [$(subdir) = gmon]: Add compat-ppc-mcount. * sysdeps/powerpc/powerpc32/compat-ppc-mcount.S: New file. --- sysdeps/powerpc/powerpc32/Makefile | 3 ++- sysdeps/powerpc/powerpc32/compat-ppc-mcount.S | 11 +++++++++++ sysdeps/powerpc/powerpc32/ppc-mcount.S | 6 +++++- 3 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 sysdeps/powerpc/powerpc32/compat-ppc-mcount.S diff --git a/sysdeps/powerpc/powerpc32/Makefile b/sysdeps/powerpc/powerpc32/Makefile index aa2d0b9..64f7900 100644 --- a/sysdeps/powerpc/powerpc32/Makefile +++ b/sysdeps/powerpc/powerpc32/Makefile @@ -6,8 +6,9 @@ sysdep-LDFLAGS += -msoft-float endif ifeq ($(subdir),gmon) -sysdep_routines += ppc-mcount +sysdep_routines += ppc-mcount compat-ppc-mcount static-only-routines += ppc-mcount +shared-only-routines += compat-ppc-mcount endif ifeq ($(subdir),misc) diff --git a/sysdeps/powerpc/powerpc32/compat-ppc-mcount.S b/sysdeps/powerpc/powerpc32/compat-ppc-mcount.S new file mode 100644 index 0000000..2a9cb24 --- /dev/null +++ b/sysdeps/powerpc/powerpc32/compat-ppc-mcount.S @@ -0,0 +1,11 @@ +#include <shlib-compat.h> + +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_15) + + compat_text_section +# define _mcount __compat_mcount +# include "ppc-mcount.S" +# undef _mcount + +compat_symbol (libc, __compat_mcount, _mcount, GLIBC_2_0) +#endif diff --git a/sysdeps/powerpc/powerpc32/ppc-mcount.S b/sysdeps/powerpc/powerpc32/ppc-mcount.S index 9a3c041..911638b 100644 --- a/sysdeps/powerpc/powerpc32/ppc-mcount.S +++ b/sysdeps/powerpc/powerpc32/ppc-mcount.S @@ -1,5 +1,5 @@ /* PowerPC-specific implementation of profiling support. - Copyright (C) 1997, 1999, 2005, 2006 Free Software Foundation, Inc. + Copyright (C) 1997-2012 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 @@ -57,7 +57,11 @@ ENTRY(_mcount) stw r4, 44(r1) cfi_offset (lr, -4) stw r5, 8(r1) +#ifndef SHARED bl JUMPTARGET(__mcount_internal) +#else + bl __mcount_internal@local +#endif /* Restore the registers... */ lwz r6, 8(r1) lwz r0, 44(r1) -- 1.7.10.1 -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." ++++++ glibc-2.3.2.no_archive.diff ++++++ --- /var/tmp/diff_new_pack.JLatrN/_old 2012-08-31 09:27:59.000000000 +0200 +++ /var/tmp/diff_new_pack.JLatrN/_new 2012-08-31 09:27:59.000000000 +0200 @@ -3,11 +3,11 @@ - Make --no-archive default for localedef -Index: glibc-2.15/locale/programs/localedef.c +Index: glibc-2.15.90/locale/programs/localedef.c =================================================================== ---- glibc-2.15.orig/locale/programs/localedef.c -+++ glibc-2.15/locale/programs/localedef.c -@@ -82,7 +82,7 @@ const char *alias_file; +--- glibc-2.15.90.orig/locale/programs/localedef.c ++++ glibc-2.15.90/locale/programs/localedef.c +@@ -81,7 +81,7 @@ const char *alias_file; static struct localedef_t *locales; /* If true don't add locale data to archive. */ @@ -16,7 +16,7 @@ /* If true add named locales to archive. */ static bool add_to_archive; -@@ -113,6 +113,7 @@ void (*argp_program_version_hook) (FILE +@@ -112,6 +112,7 @@ void (*argp_program_version_hook) (FILE #define OPT_REPLACE 307 #define OPT_DELETE_FROM_ARCHIVE 308 #define OPT_LIST_ARCHIVE 309 @@ -24,7 +24,7 @@ /* Definitions of arguments for argp functions. */ static const struct argp_option options[] = -@@ -134,6 +135,8 @@ static const struct argp_option options[ +@@ -133,6 +134,8 @@ static const struct argp_option options[ N_("Suppress warnings and information messages") }, { "verbose", 'v', NULL, 0, N_("Print more messages") }, { NULL, 0, NULL, 0, N_("Archive control:") }, @@ -33,7 +33,7 @@ { "no-archive", OPT_NO_ARCHIVE, NULL, 0, N_("Don't add new data to archive") }, { "add-to-archive", OPT_ADD_TO_ARCHIVE, NULL, 0, -@@ -314,6 +317,9 @@ parse_opt (int key, char *arg, struct ar +@@ -310,6 +313,9 @@ parse_opt (int key, char *arg, struct ar case OPT_PREFIX: output_prefix = arg; break; ++++++ glibc-2.3.3-nscd-db-path.diff ++++++ --- /var/tmp/diff_new_pack.JLatrN/_old 2012-08-31 09:27:59.000000000 +0200 +++ /var/tmp/diff_new_pack.JLatrN/_new 2012-08-31 09:27:59.000000000 +0200 @@ -2,11 +2,11 @@ * nscd/nscd.h: Move persistent storage back to /var/run/nscd -Index: glibc-2.15/nscd/nscd.h +Index: glibc-2.15.90/nscd/nscd.h =================================================================== ---- glibc-2.15.orig/nscd/nscd.h -+++ glibc-2.15/nscd/nscd.h -@@ -113,11 +113,11 @@ struct database_dyn +--- glibc-2.15.90.orig/nscd/nscd.h ++++ glibc-2.15.90/nscd/nscd.h +@@ -112,11 +112,11 @@ struct database_dyn /* Paths of the file for the persistent storage. */ ++++++ glibc-2.3.90-langpackdir.diff ++++++ --- /var/tmp/diff_new_pack.JLatrN/_old 2012-08-31 09:27:59.000000000 +0200 +++ /var/tmp/diff_new_pack.JLatrN/_new 2012-08-31 09:27:59.000000000 +0200 @@ -1,8 +1,8 @@ -Index: glibc-2.15/intl/loadmsgcat.c +Index: glibc-2.15.90/intl/loadmsgcat.c =================================================================== ---- glibc-2.15.orig/intl/loadmsgcat.c -+++ glibc-2.15/intl/loadmsgcat.c -@@ -806,8 +806,52 @@ _nl_load_domain (domain_file, domainbind +--- glibc-2.15.90.orig/intl/loadmsgcat.c ++++ glibc-2.15.90/intl/loadmsgcat.c +@@ -805,8 +805,52 @@ _nl_load_domain (domain_file, domainbind if (domain_file->filename == NULL) goto out; ++++++ glibc-2.3.90-noversion.diff ++++++ --- /var/tmp/diff_new_pack.JLatrN/_old 2012-08-31 09:27:59.000000000 +0200 +++ /var/tmp/diff_new_pack.JLatrN/_new 2012-08-31 09:27:59.000000000 +0200 @@ -1,8 +1,8 @@ -Index: glibc-2.15/elf/rtld.c +Index: glibc-2.15.90/elf/rtld.c =================================================================== ---- glibc-2.15.orig/elf/rtld.c -+++ glibc-2.15/elf/rtld.c -@@ -1802,6 +1802,53 @@ ERROR: ld.so: object '%s' cannot be load +--- glibc-2.15.90.orig/elf/rtld.c ++++ glibc-2.15.90/elf/rtld.c +@@ -1813,6 +1813,53 @@ ERROR: ld.so: object '%s' cannot be load } } ++++++ glibc-2.4.90-no_NO.diff ++++++ --- /var/tmp/diff_new_pack.JLatrN/_old 2012-08-31 09:27:59.000000000 +0200 +++ /var/tmp/diff_new_pack.JLatrN/_new 2012-08-31 09:27:59.000000000 +0200 @@ -1,8 +1,8 @@ -Index: glibc-2.15/intl/locale.alias +Index: glibc-2.15.90/intl/locale.alias =================================================================== ---- glibc-2.15.orig/intl/locale.alias -+++ glibc-2.15/intl/locale.alias -@@ -57,8 +57,6 @@ korean ko_KR.eucKR +--- glibc-2.15.90.orig/intl/locale.alias ++++ glibc-2.15.90/intl/locale.alias +@@ -56,8 +56,6 @@ korean ko_KR.eucKR korean.euc ko_KR.eucKR ko_KR ko_KR.eucKR lithuanian lt_LT.ISO-8859-13 @@ -11,10 +11,10 @@ norwegian nb_NO.ISO-8859-1 nynorsk nn_NO.ISO-8859-1 polish pl_PL.ISO-8859-2 -Index: glibc-2.15/localedata/locales/no_NO +Index: glibc-2.15.90/localedata/locales/no_NO =================================================================== --- /dev/null -+++ glibc-2.15/localedata/locales/no_NO ++++ glibc-2.15.90/localedata/locales/no_NO @@ -0,0 +1,69 @@ +escape_char / +comment_char % @@ -85,11 +85,11 @@ +LC_ADDRESS +copy "nb_NO" +END LC_ADDRESS -Index: glibc-2.15/localedata/SUPPORTED +Index: glibc-2.15.90/localedata/SUPPORTED =================================================================== ---- glibc-2.15.orig/localedata/SUPPORTED -+++ glibc-2.15/localedata/SUPPORTED -@@ -316,6 +316,8 @@ nl_NL/ISO-8859-1 \ +--- glibc-2.15.90.orig/localedata/SUPPORTED ++++ glibc-2.15.90/localedata/SUPPORTED +@@ -317,6 +317,8 @@ nl_NL/ISO-8859-1 \ nl_NL@euro/ISO-8859-15 \ nn_NO.UTF-8/UTF-8 \ nn_NO/ISO-8859-1 \ ++++++ glibc-2.8-getconf.diff ++++++ --- /var/tmp/diff_new_pack.JLatrN/_old 2012-08-31 09:27:59.000000000 +0200 +++ /var/tmp/diff_new_pack.JLatrN/_new 2012-08-31 09:27:59.000000000 +0200 @@ -2,11 +2,11 @@ glibc.i586: E: hardlink-across-partition (Badness: 10000) /usr/lib/getconf/POSIX_V7_ILP32_OFFBIG /usr/bin/getconf -Index: glibc-2.15/posix/Makefile +Index: glibc-2.15.90/posix/Makefile =================================================================== ---- glibc-2.15.orig/posix/Makefile -+++ glibc-2.15/posix/Makefile -@@ -316,8 +316,7 @@ $(inst_libexecdir)/getconf: $(inst_bindi +--- glibc-2.15.90.orig/posix/Makefile ++++ glibc-2.15.90/posix/Makefile +@@ -301,8 +301,7 @@ $(inst_libexecdir)/getconf: $(inst_bindi $(addprefix $(..)./scripts/mkinstalldirs ,\ $(filter-out $(wildcard $@),$@)) while read spec; do \ ++++++ glibc-compiled-binaries.diff ++++++ --- /var/tmp/diff_new_pack.JLatrN/_old 2012-08-31 09:27:59.000000000 +0200 +++ /var/tmp/diff_new_pack.JLatrN/_new 2012-08-31 09:27:59.000000000 +0200 @@ -3,27 +3,25 @@ configure | 16 +++++++++++++++- configure.in | 1 + posix/Makefile | 2 +- - sunrpc/Makefile | 2 +- - timezone/Makefile | 2 +- 6 files changed, 20 insertions(+), 4 deletions(-) -Index: glibc-2.15/config.make.in +Index: glibc-2.15.90/config.make.in =================================================================== ---- glibc-2.15.orig/config.make.in -+++ glibc-2.15/config.make.in -@@ -100,6 +100,7 @@ add-ons = @add_ons@ +--- glibc-2.15.90.orig/config.make.in ++++ glibc-2.15.90/config.make.in +@@ -97,6 +97,7 @@ add-ons = @add_ons@ add-on-subdirs = @add_on_subdirs@ sysdeps-add-ons = @sysdeps_add_ons@ cross-compiling = @cross_compiling@ +compiled-binaries-can-run-on-buildhost = @compiled_binaries_can_run_on_buildhost@ force-install = @force_install@ + link-obsolete-rpc = @link_obsolete_rpc@ - # Build tools. -Index: glibc-2.15/configure.in +Index: glibc-2.15.90/configure.in =================================================================== ---- glibc-2.15.orig/configure.in -+++ glibc-2.15/configure.in -@@ -15,6 +15,7 @@ if test $host != $build; then +--- glibc-2.15.90.orig/configure.in ++++ glibc-2.15.90/configure.in +@@ -20,6 +20,7 @@ if test $host != $build; then AC_CHECK_PROGS(BUILD_CC, gcc cc) fi AC_SUBST(cross_compiling) @@ -31,10 +29,10 @@ AC_PROG_CPP # We need the C++ compiler only for testing. AC_PROG_CXX -Index: glibc-2.15/configure +Index: glibc-2.15.90/configure =================================================================== ---- glibc-2.15.orig/configure -+++ glibc-2.15/configure +--- glibc-2.15.90.orig/configure ++++ glibc-2.15.90/configure @@ -553,6 +553,7 @@ ac_clean_files= ac_config_libobj_dir=. LIBOBJS= @@ -43,7 +41,7 @@ subdirs= MFLAGS= MAKEFLAGS= -@@ -706,6 +707,7 @@ CXXFLAGS +@@ -667,6 +668,7 @@ CXXFLAGS CXX CPP cross_compiling @@ -51,7 +49,7 @@ BUILD_CC OBJEXT ac_ct_CC -@@ -1250,6 +1252,13 @@ do +@@ -1208,6 +1210,13 @@ do as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done @@ -65,7 +63,7 @@ # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. -@@ -1265,6 +1274,7 @@ if test "x$host_alias" != x; then +@@ -1223,6 +1232,7 @@ if test "x$host_alias" != x; then If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes @@ -73,21 +71,21 @@ fi fi -@@ -1450,6 +1460,9 @@ Optional Features: - --enable-multi-arch enable single DSO with optimizations for multiple - architectures - --enable-nss-crypt enable libcrypt to use nss +@@ -1407,6 +1417,9 @@ Optional Features: + --enable-obsolete-rpc build and install the obsolete RPC code for + link-time usage + --enable-systemtap enable systemtap static probe points [default=no] + --enable-runbinaries the compiled binaries should run on the buildhost because + it happens to have a compatible cpu + Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] -Index: glibc-2.15/posix/Makefile +Index: glibc-2.15.90/posix/Makefile =================================================================== ---- glibc-2.15.orig/posix/Makefile -+++ glibc-2.15/posix/Makefile -@@ -320,7 +320,7 @@ $(inst_libexecdir)/getconf: $(inst_bindi +--- glibc-2.15.90.orig/posix/Makefile ++++ glibc-2.15.90/posix/Makefile +@@ -305,7 +305,7 @@ $(inst_libexecdir)/getconf: $(inst_bindi done < $(objpfx)getconf.speclist $(objpfx)getconf.speclist: $(objpfx)getconf @@ -96,29 +94,3 @@ LC_ALL=C GETCONF_DIR=/dev/null \ $(run-program-prefix) $< _POSIX_V7_WIDTH_RESTRICTED_ENVS > $@.new LC_ALL=C GETCONF_DIR=/dev/null \ -Index: glibc-2.15/sunrpc/Makefile -=================================================================== ---- glibc-2.15.orig/sunrpc/Makefile -+++ glibc-2.15/sunrpc/Makefile -@@ -108,7 +108,7 @@ otherlibs += $(nssobjdir)/libnss_files.a - $(resolvobjdir)/libresolv.a - endif - --ifeq (no,$(cross-compiling)) -+ifeq (yes,$(compiled-binaries-can-run-on-buildhost)) - # We can only build this library if we can run the rpcgen we build. - headers += $(rpcsvc:%.x=rpcsvc/%.h) - extra-libs := librpcsvc -Index: glibc-2.15/timezone/Makefile -=================================================================== ---- glibc-2.15.orig/timezone/Makefile -+++ glibc-2.15/timezone/Makefile -@@ -69,7 +69,7 @@ installed-posixrules-file := $(firstword - $(addprefix $(inst_zonedir)/, \ - $(posixrules-file))) - --ifeq ($(cross-compiling),no) -+ifeq (yes,$(compiled-binaries-can-run-on-buildhost)) - # Don't try to install the zoneinfo files since we can't run zic. - install-others = $(addprefix $(inst_zonedir)/,$(zonenames) \ - $(zonenames:%=posix/%) \ ++++++ glibc-cpusetsize.diff ++++++ --- /var/tmp/diff_new_pack.JLatrN/_old 2012-08-31 09:27:59.000000000 +0200 +++ /var/tmp/diff_new_pack.JLatrN/_new 2012-08-31 09:27:59.000000000 +0200 @@ -1,8 +1,8 @@ -Index: glibc-2.15/bits/sched.h +Index: glibc-2.15.90/bits/sched.h =================================================================== ---- glibc-2.15.orig/bits/sched.h -+++ glibc-2.15/bits/sched.h -@@ -54,7 +54,7 @@ struct __sched_param +--- glibc-2.15.90.orig/bits/sched.h ++++ glibc-2.15.90/bits/sched.h +@@ -53,7 +53,7 @@ struct __sched_param #if defined _SCHED_H && !defined __cpu_set_t_defined # define __cpu_set_t_defined /* Size definition for CPU sets. */ @@ -11,11 +11,11 @@ # define __NCPUBITS (8 * sizeof (__cpu_mask)) /* Type for array elements in 'cpu_set_t'. */ -Index: glibc-2.15/sysdeps/unix/sysv/linux/bits/sched.h +Index: glibc-2.15.90/sysdeps/unix/sysv/linux/bits/sched.h =================================================================== ---- glibc-2.15.orig/sysdeps/unix/sysv/linux/bits/sched.h -+++ glibc-2.15/sysdeps/unix/sysv/linux/bits/sched.h -@@ -113,7 +113,7 @@ struct __sched_param +--- glibc-2.15.90.orig/sysdeps/unix/sysv/linux/bits/sched.h ++++ glibc-2.15.90/sysdeps/unix/sysv/linux/bits/sched.h +@@ -112,7 +112,7 @@ struct __sched_param #if defined _SCHED_H && !defined __cpu_set_t_defined # define __cpu_set_t_defined /* Size definition for CPU sets. */ ++++++ glibc-elf-localscope.diff ++++++ --- /var/tmp/diff_new_pack.JLatrN/_old 2012-08-31 09:27:59.000000000 +0200 +++ /var/tmp/diff_new_pack.JLatrN/_new 2012-08-31 09:27:59.000000000 +0200 @@ -1,8 +1,8 @@ -Index: glibc-2.15/elf/dl-close.c +Index: glibc-2.15.90/elf/dl-close.c =================================================================== ---- glibc-2.15.orig/elf/dl-close.c -+++ glibc-2.15/elf/dl-close.c -@@ -180,24 +180,28 @@ _dl_close_worker (struct link_map *map) +--- glibc-2.15.90.orig/elf/dl-close.c ++++ glibc-2.15.90/elf/dl-close.c +@@ -179,24 +179,28 @@ _dl_close_worker (struct link_map *map) /* Signal the object is still needed. */ l->l_idx = IDX_STILL_USED; @@ -43,7 +43,7 @@ ++lp; } } -@@ -206,19 +210,25 @@ _dl_close_worker (struct link_map *map) +@@ -205,19 +209,25 @@ _dl_close_worker (struct link_map *map) for (unsigned int j = 0; j < l->l_reldeps->act; ++j) { struct link_map *jmap = l->l_reldeps->list[j]; ++++++ glibc-fix-check-abi.patch ++++++ Index: glibc-2.-15.90/sysdeps/unix/sysv/linux/i386/nptl/libcrypt.abilist =================================================================== --- glibc-2.15.90.orig/sysdeps/unix/sysv/linux/i386/nptl/libcrypt.abilist +++ glibc-2.15.90/sysdeps/unix/sysv/linux/i386/nptl/libcrypt.abilist @@ -1,9 +1,21 @@ GLIBC_2.0 GLIBC_2.0 A crypt F + crypt_gensalt F + crypt_gensalt_ra F + crypt_gensalt_rn F crypt_r F + crypt_ra F + crypt_rn F encrypt F encrypt_r F fcrypt F setkey F setkey_r F +OW_CRYPT_1.0 + OW_CRYPT_1.0 A + crypt_gensalt F + crypt_gensalt_ra F + crypt_gensalt_rn F + crypt_ra F + crypt_rn F Index: glibc-2.15.90/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/nptl/libcrypt.abilist =================================================================== --- glibc-2.15.90.orig/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/nptl/libcrypt.abilist +++ glibc-2.15.90/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/nptl/libcrypt.abilist @@ -1,9 +1,21 @@ GLIBC_2.0 GLIBC_2.0 A crypt F + crypt_gensalt F + crypt_gensalt_ra F + crypt_gensalt_rn F crypt_r F + crypt_ra F + crypt_rn F encrypt F encrypt_r F fcrypt F setkey F setkey_r F +OW_CRYPT_1.0 + OW_CRYPT_1.0 A + crypt_gensalt F + crypt_gensalt_ra F + crypt_gensalt_rn F + crypt_ra F + crypt_rn F Index: glibc-2.15.90/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libcrypt.abilist =================================================================== --- glibc-2.15.90.orig/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libcrypt.abilist +++ glibc-2.15.90/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libcrypt.abilist @@ -1,9 +1,21 @@ GLIBC_2.3 GLIBC_2.3 A crypt F + crypt_gensalt F + crypt_gensalt_ra F + crypt_gensalt_rn F crypt_r F + crypt_ra F + crypt_rn F encrypt F encrypt_r F fcrypt F setkey F setkey_r F +OW_CRYPT_1.0 + OW_CRYPT_1.0 A + crypt_gensalt F + crypt_gensalt_ra F + crypt_gensalt_rn F + crypt_ra F + crypt_rn F Index: glibc-2.15.90/sysdeps/unix/sysv/linux/s390/s390-32/nptl/libcrypt.abilist =================================================================== --- glibc-2.15.90.orig/sysdeps/unix/sysv/linux/s390/s390-32/nptl/libcrypt.abilist +++ glibc-2.15.90/sysdeps/unix/sysv/linux/s390/s390-32/nptl/libcrypt.abilist @@ -1,9 +1,21 @@ GLIBC_2.0 GLIBC_2.0 A crypt F + crypt_gensalt F + crypt_gensalt_ra F + crypt_gensalt_rn F crypt_r F + crypt_ra F + crypt_rn F encrypt F encrypt_r F fcrypt F setkey F setkey_r F +OW_CRYPT_1.0 + OW_CRYPT_1.0 A + crypt_gensalt F + crypt_gensalt_ra F + crypt_gensalt_rn F + crypt_ra F + crypt_rn F Index: glibc-2.15.90/sysdeps/unix/sysv/linux/s390/s390-64/nptl/libcrypt.abilist =================================================================== --- glibc-2.15.90.orig/sysdeps/unix/sysv/linux/s390/s390-64/nptl/libcrypt.abilist +++ glibc-2.15.90/sysdeps/unix/sysv/linux/s390/s390-64/nptl/libcrypt.abilist @@ -1,9 +1,21 @@ GLIBC_2.2 GLIBC_2.2 A crypt F + crypt_gensalt F + crypt_gensalt_ra F + crypt_gensalt_rn F crypt_r F + crypt_ra F + crypt_rn F encrypt F encrypt_r F fcrypt F setkey F setkey_r F +OW_CRYPT_1.0 + OW_CRYPT_1.0 A + crypt_gensalt F + crypt_gensalt_ra F + crypt_gensalt_rn F + crypt_ra F + crypt_rn F Index: glibc-2.15.90/sysdeps/unix/sysv/linux/x86_64/64/nptl/libcrypt.abilist =================================================================== --- glibc-2.15.90.orig/sysdeps/unix/sysv/linux/x86_64/64/nptl/libcrypt.abilist +++ glibc-2.15.90/sysdeps/unix/sysv/linux/x86_64/64/nptl/libcrypt.abilist @@ -1,9 +1,21 @@ GLIBC_2.2.5 GLIBC_2.2.5 A crypt F + crypt_gensalt F + crypt_gensalt_ra F + crypt_gensalt_rn F crypt_r F + crypt_ra F + crypt_rn F encrypt F encrypt_r F fcrypt F setkey F setkey_r F +OW_CRYPT_1.0 + OW_CRYPT_1.0 A + crypt_gensalt F + crypt_gensalt_ra F + crypt_gensalt_rn F + crypt_ra F + crypt_rn F Index: glibc-2.15.90/glibc-ports-2.16/sysdeps/unix/sysv/linux/arm/nptl/libcrypt.abilist =================================================================== --- glibc-2.15.90.orig/glibc-ports-2.16/sysdeps/unix/sysv/linux/arm/nptl/libcrypt.abilist +++ glibc-2.15.90/glibc-ports-2.16/sysdeps/unix/sysv/linux/arm/nptl/libcrypt.abilist @@ -1,9 +1,21 @@ GLIBC_2.4 GLIBC_2.4 A crypt F + crypt_gensalt F + crypt_gensalt_ra F + crypt_gensalt_rn F crypt_r F + crypt_ra F + crypt_rn F encrypt F encrypt_r F fcrypt F setkey F setkey_r F +OW_CRYPT_1.0 + OW_CRYPT_1.0 A + crypt_gensalt F + crypt_gensalt_ra F + crypt_gensalt_rn F + crypt_ra F + crypt_rn F ++++++ glibc-fix-double-loopback.diff ++++++ --- /var/tmp/diff_new_pack.JLatrN/_old 2012-08-31 09:27:59.000000000 +0200 +++ /var/tmp/diff_new_pack.JLatrN/_new 2012-08-31 09:27:59.000000000 +0200 @@ -7,11 +7,11 @@ bnc #684534, #606980 http://sources.redhat.com/bugzilla/show_bug.cgi?id=4980 -Index: glibc-2.11.3/nss/nss_files/files-hosts.c +Index: glibc-2.15.90/nss/nss_files/files-hosts.c =================================================================== ---- glibc-2.11.3.orig/nss/nss_files/files-hosts.c 2011-05-27 15:08:23.000000000 +0200 -+++ glibc-2.11.3/nss/nss_files/files-hosts.c 2011-07-20 17:15:26.000000000 +0200 -@@ -69,11 +69,6 @@ LINE_PARSER +--- glibc-2.15.90.orig/nss/nss_files/files-hosts.c ++++ glibc-2.15.90/nss/nss_files/files-hosts.c +@@ -68,11 +68,6 @@ LINE_PARSER { if (IN6_IS_ADDR_V4MAPPED (entdata->host_addr)) memcpy (entdata->host_addr, entdata->host_addr + 12, INADDRSZ); ++++++ glibc-nodate.patch ++++++ --- /var/tmp/diff_new_pack.JLatrN/_old 2012-08-31 09:27:59.000000000 +0200 +++ /var/tmp/diff_new_pack.JLatrN/_new 2012-08-31 09:27:59.000000000 +0200 @@ -1,8 +1,8 @@ -Index: glibc-2.15/nscd/nscd_stat.c +Index: glibc-2.15.90/nscd/nscd_stat.c =================================================================== ---- glibc-2.15/nscd/nscd_stat.c.orig 2010-01-18 18:01:41.000000000 +0100 -+++ glibc-2.15/nscd/nscd_stat.c 2010-02-14 15:02:41.000000000 +0100 -@@ -37,8 +37,13 @@ +--- glibc-2.15.90.orig/nscd/nscd_stat.c ++++ glibc-2.15.90/nscd/nscd_stat.c +@@ -36,8 +36,13 @@ #endif /* HAVE_SELINUX */ @@ -17,12 +17,11 @@ /* Statistic data for one database. */ struct dbstat - -Index: glibc-2.15/csu/Makefile +Index: glibc-2.15.90/csu/Makefile =================================================================== ---- glibc-2.15.orig/csu/Makefile -+++ glibc-2.15/csu/Makefile -@@ -234,8 +234,8 @@ $(objpfx)version-info.h: $(common-objpfx +--- glibc-2.15.90.orig/csu/Makefile ++++ glibc-2.15.90/csu/Makefile +@@ -171,8 +171,8 @@ $(objpfx)version-info.h: $(common-objpfx if [ -z "$$os" ]; then \ os=Linux; \ fi; \ ++++++ glibc-nscd-hconf.diff ++++++ --- /var/tmp/diff_new_pack.JLatrN/_old 2012-08-31 09:27:59.000000000 +0200 +++ /var/tmp/diff_new_pack.JLatrN/_new 2012-08-31 09:27:59.000000000 +0200 @@ -1,11 +1,11 @@ See: http://sourceware.org/bugzilla/show_bug.cgi?id=11928 -Index: glibc-2.15/nscd/aicache.c +Index: glibc-2.15.90/nscd/aicache.c =================================================================== ---- glibc-2.15.orig/nscd/aicache.c -+++ glibc-2.15/nscd/aicache.c -@@ -26,6 +26,7 @@ +--- glibc-2.15.90.orig/nscd/aicache.c ++++ glibc-2.15.90/nscd/aicache.c +@@ -25,6 +25,7 @@ #include <time.h> #include <unistd.h> #include <sys/mman.h> @@ -13,7 +13,7 @@ #include "dbg_log.h" #include "nscd.h" -@@ -103,6 +104,8 @@ addhstaiX (struct database_dyn *db, int +@@ -102,6 +103,8 @@ addhstaiX (struct database_dyn *db, int if (__res_maybe_init (&_res, 0) == -1) no_more = 1; @@ -22,11 +22,11 @@ /* If we are looking for both IPv4 and IPv6 address we don't want the lookup functions to automatically promote IPv4 addresses to -Index: glibc-2.15/resolv/res_hconf.c +Index: glibc-2.15.90/resolv/res_hconf.c =================================================================== ---- glibc-2.15.orig/resolv/res_hconf.c -+++ glibc-2.15/resolv/res_hconf.c -@@ -83,7 +83,9 @@ static const struct cmd +--- glibc-2.15.90.orig/resolv/res_hconf.c ++++ glibc-2.15.90/resolv/res_hconf.c +@@ -82,7 +82,9 @@ static const struct cmd }; /* Structure containing the state. */ ++++++ glibc-resolv-mdnshint.diff ++++++ --- /var/tmp/diff_new_pack.JLatrN/_old 2012-08-31 09:27:59.000000000 +0200 +++ /var/tmp/diff_new_pack.JLatrN/_new 2012-08-31 09:27:59.000000000 +0200 @@ -1,8 +1,8 @@ -Index: glibc-2.15/resolv/res_hconf.c +Index: glibc-2.15.90/resolv/res_hconf.c =================================================================== ---- glibc-2.15.orig/resolv/res_hconf.c -+++ glibc-2.15/resolv/res_hconf.c -@@ -242,9 +242,12 @@ parse_line (const char *fname, int line_ +--- glibc-2.15.90.orig/resolv/res_hconf.c ++++ glibc-2.15.90/resolv/res_hconf.c +@@ -241,9 +241,12 @@ parse_line (const char *fname, int line_ if (c == NULL) { char *buf; ++++++ glibc-revert-fseek-on-fclose.diff ++++++ --- /var/tmp/diff_new_pack.JLatrN/_old 2012-08-31 09:27:59.000000000 +0200 +++ /var/tmp/diff_new_pack.JLatrN/_new 2012-08-31 09:27:59.000000000 +0200 @@ -17,17 +17,11 @@ 2011-05-12 Ulrich Drepper <drepper@gmail.com> [BZ #12511] -diff --git b/libio/Makefile a/libio/Makefile -index ec30904..83b9458 100644 ---- b/libio/Makefile -+++ a/libio/Makefile -@@ -1,4 +1,4 @@ --# Copyright (C) 1995-2004,2006-2009,2011 Free Software Foundation, Inc. -+# Copyright (C) 1995-2004,2006,2007,2008,2009 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 -@@ -58,7 +58,7 @@ tests = tst_swprintf tst_wprintf tst_swscanf tst_wscanf tst_getwc tst_putwc \ +Index: glibc-2.15.90/libio/Makefile +=================================================================== +--- glibc-2.15.90.orig/libio/Makefile ++++ glibc-2.15.90/libio/Makefile +@@ -57,7 +57,7 @@ tests = tst_swprintf tst_wprintf tst_sws tst-memstream1 tst-memstream2 \ tst-wmemstream1 tst-wmemstream2 \ bug-memstream1 bug-wmemstream1 \ @@ -36,10 +30,9 @@ test-srcs = test-freopen all: # Make this the default target; it will be defined in Rules. -diff --git b/libio/bug-fclose1.c a/libio/bug-fclose1.c -deleted file mode 100644 -index f1e09f5..0000000 ---- b/libio/bug-fclose1.c +Index: glibc-2.15.90/libio/bug-fclose1.c +=================================================================== +--- glibc-2.15.90.orig/libio/bug-fclose1.c +++ /dev/null @@ -1,132 +0,0 @@ -// BZ #12724 @@ -174,11 +167,11 @@ - - return 0; -} -Index: glibc-2.14/libio/fileops.c +Index: glibc-2.15.90/libio/fileops.c =================================================================== ---- glibc-2.14.orig/libio/fileops.c -+++ glibc-2.14/libio/fileops.c -@@ -160,28 +160,20 @@ int +--- glibc-2.15.90.orig/libio/fileops.c ++++ glibc-2.15.90/libio/fileops.c +@@ -155,21 +155,13 @@ int _IO_new_file_close_it (fp) _IO_FILE *fp; { @@ -203,10 +196,3 @@ else write_status = 0; - INTUSE(_IO_unsave_markers) (fp); - - int close_status = ((fp->_flags2 & _IO_FLAGS2_NOCLOSE) == 0 - ? _IO_SYSCLOSE (fp) : 0); - - /* Free buffer. */ - #if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T ++++++ glibc-strict-aliasing.diff ++++++ --- /var/tmp/diff_new_pack.JLatrN/_old 2012-08-31 09:27:59.000000000 +0200 +++ /var/tmp/diff_new_pack.JLatrN/_new 2012-08-31 09:27:59.000000000 +0200 @@ -1,8 +1,8 @@ -Index: glibc-2.15/elf/Makefile +Index: glibc-2.15.90/elf/Makefile =================================================================== ---- glibc-2.15.orig/elf/Makefile -+++ glibc-2.15/elf/Makefile -@@ -135,6 +135,7 @@ include ../Makeconfig +--- glibc-2.15.90.orig/elf/Makefile ++++ glibc-2.15.90/elf/Makefile +@@ -50,6 +50,7 @@ include ../Makeconfig ifeq ($(unwind-find-fde),yes) routines += unwind-dw2-fde-glibc shared-only-routines += unwind-dw2-fde-glibc @@ -10,3 +10,16 @@ endif before-compile = $(objpfx)trusted-dirs.h +Index: glibc-2.15.90/sunrpc/Makefile +=================================================================== +--- glibc-2.15.90.orig/sunrpc/Makefile ++++ glibc-2.15.90/sunrpc/Makefile +@@ -145,6 +145,8 @@ CFLAGS-key_call.c = -fexceptions + CFLAGS-pmap_rmt.c = -fexceptions + CFLAGS-clnt_perr.c = -fexceptions + CFLAGS-openchild.c = -fexceptions ++CFLAGS-clnt_tcp.c = -fno-strict-aliasing ++CFLAGS-clnt_unix.c = -fno-strict-aliasing + + sunrpc-CPPFLAGS = -D_RPC_THREAD_SAFE_ + CPPFLAGS += $(sunrpc-CPPFLAGS) ++++++ glibc-testsuite.patch ++++++ --- /var/tmp/diff_new_pack.JLatrN/_old 2012-08-31 09:27:59.000000000 +0200 +++ /var/tmp/diff_new_pack.JLatrN/_new 2012-08-31 09:27:59.000000000 +0200 @@ -1,10 +1,10 @@ test-lfs runs for ever on ReiserFS. Let's disable it completely. -Index: glibc-2.15/io/Makefile +Index: glibc-2.15.90/io/Makefile =================================================================== ---- glibc-2.15.orig/io/Makefile -+++ glibc-2.15/io/Makefile -@@ -64,7 +64,7 @@ static-only-routines = stat fstat lstat +--- glibc-2.15.90.orig/io/Makefile ++++ glibc-2.15.90/io/Makefile +@@ -63,7 +63,7 @@ static-only-routines = stat fstat lstat others := pwd test-srcs := ftwtest ++++++ glibc-version.diff ++++++ --- /var/tmp/diff_new_pack.JLatrN/_old 2012-08-31 09:27:59.000000000 +0200 +++ /var/tmp/diff_new_pack.JLatrN/_new 2012-08-31 09:27:59.000000000 +0200 @@ -1,8 +1,8 @@ -Index: glibc-2.15/csu/version.c +Index: glibc-2.15.90/csu/version.c =================================================================== ---- glibc-2.15.orig/csu/version.c -+++ glibc-2.15/csu/version.c -@@ -25,11 +25,12 @@ static const char __libc_release[] = REL +--- glibc-2.15.90.orig/csu/version.c ++++ glibc-2.15.90/csu/version.c +@@ -24,11 +24,12 @@ static const char __libc_release[] = REL static const char __libc_version[] = VERSION; static const char banner[] = ++++++ glibc.rpmlintrc ++++++ --- /var/tmp/diff_new_pack.JLatrN/_old 2012-08-31 09:27:59.000000000 +0200 +++ /var/tmp/diff_new_pack.JLatrN/_new 2012-08-31 09:27:59.000000000 +0200 @@ -15,4 +15,11 @@ # We will not rename glibc to follow the shlib policy addFilter("shlib-policy-missing-suffix") # The dynamic linker and libnsl call exit - this is fine -addFilter(".*shared-lib-calls-exit.*") \ No newline at end of file +addFilter(".*shared-lib-calls-exit.*") +# The man-pages package contains a number of man pages for programs that come +# with glibc, therefore do not warn about them +addFilter(".*glibc.*no-manual-page-for-binary getent") +addFilter(".*glibc.*no-manual-page-for-binary iconv") +addFilter(".*glibc.*no-manual-page-for-binary ldd") +addFilter(".*glibc.*no-manual-page-for-binary ldconfig") +addFilter(".*nscd.*no-manual-page-for-binary nscd") ++++++ manpages.tar.bz2 ++++++ ++++ 2081 lines of diff (skipped) ++++++ nscd-avoid-gcc-warning.diff ++++++ --- /var/tmp/diff_new_pack.JLatrN/_old 2012-08-31 09:27:59.000000000 +0200 +++ /var/tmp/diff_new_pack.JLatrN/_new 2012-08-31 09:27:59.000000000 +0200 @@ -1,8 +1,8 @@ -Index: glibc-2.15/nscd/connections.c +Index: glibc-2.15.90/nscd/connections.c =================================================================== ---- glibc-2.15.orig/nscd/connections.c -+++ glibc-2.15/nscd/connections.c -@@ -1805,6 +1805,8 @@ handle_request: request received (Versio +--- glibc-2.15.90.orig/nscd/connections.c ++++ glibc-2.15.90/nscd/connections.c +@@ -1803,6 +1803,8 @@ handle_request: request received (Versio ++nready; } /* NOTREACHED */ ++++++ nss-db-path.patch ++++++ --- /var/tmp/diff_new_pack.JLatrN/_old 2012-08-31 09:27:59.000000000 +0200 +++ /var/tmp/diff_new_pack.JLatrN/_new 2012-08-31 09:27:59.000000000 +0200 @@ -1,10 +1,10 @@ Use /var/db for nss_db -Index: glibc-2.15/nss/db-Makefile +Index: glibc-2.15.90/nss/db-Makefile =================================================================== ---- glibc-2.15.orig/nss/db-Makefile -+++ glibc-2.15/nss/db-Makefile -@@ -23,7 +23,7 @@ DATABASES = $(wildcard /etc/passwd /etc/ +--- glibc-2.15.90.orig/nss/db-Makefile ++++ glibc-2.15.90/nss/db-Makefile +@@ -22,7 +22,7 @@ DATABASES = $(wildcard /etc/passwd /etc/ /etc/rpc /etc/services /etc/shadow /etc/gshadow \ /etc/netgroup) @@ -13,10 +13,10 @@ AWK = awk MAKEDB = makedb --quiet -Index: glibc-2.15/sysdeps/unix/sysv/linux/paths.h +Index: glibc-2.15.90/sysdeps/unix/sysv/linux/paths.h =================================================================== ---- glibc-2.15.orig/sysdeps/unix/sysv/linux/paths.h -+++ glibc-2.15/sysdeps/unix/sysv/linux/paths.h +--- glibc-2.15.90.orig/sysdeps/unix/sysv/linux/paths.h ++++ glibc-2.15.90/sysdeps/unix/sysv/linux/paths.h @@ -68,7 +68,7 @@ /* Provide trailing slash, since mostly used for building pathnames. */ #define _PATH_DEV "/dev/" @@ -26,15 +26,15 @@ #define _PATH_VARRUN "/var/run/" #define _PATH_VARTMP "/var/tmp/" -Index: glibc-2.15/Makeconfig +Index: glibc-2.15.90/Makeconfig =================================================================== ---- glibc-2.15.orig/Makeconfig -+++ glibc-2.15/Makeconfig -@@ -293,7 +293,7 @@ inst_sysconfdir = $(install_root)$(sysco +--- glibc-2.15.90.orig/Makeconfig ++++ glibc-2.15.90/Makeconfig +@@ -287,7 +287,7 @@ inst_sysconfdir = $(install_root)$(sysco # Directory for the database files and Makefile for nss_db. ifndef vardbdir --vardbdir = /var/db +-vardbdir = $(localstatedir)/db +vardbdir = /var/lib/misc endif inst_vardbdir = $(install_root)$(vardbdir) ++++++ pthread-cond-wait-revert.patch ++++++ --- /var/tmp/diff_new_pack.JLatrN/_old 2012-08-31 09:27:59.000000000 +0200 +++ /var/tmp/diff_new_pack.JLatrN/_new 2012-08-31 09:27:59.000000000 +0200 @@ -22,231 +22,223 @@ EAGAIN from FUTEX_WAIT_REQUEUE_PI. * sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise. -diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S -index 53970d7..54590b7 100644 ---- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S -+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S -@@ -134,6 +134,7 @@ __pthread_cond_wait: + +Index: glibc-2.15.90/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S +=================================================================== +--- glibc-2.15.90.orig/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S ++++ glibc-2.15.90/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S +@@ -136,7 +136,6 @@ __pthread_cond_wait: cmpl $PI_BIT, %eax jne 18f -+90: +-90: movl $(FUTEX_WAIT_REQUEUE_PI|FUTEX_PRIVATE_FLAG), %ecx movl %ebp, %edx xorl %esi, %esi -@@ -147,6 +148,9 @@ __pthread_cond_wait: +@@ -150,9 +149,6 @@ __pthread_cond_wait: sete 16(%esp) je 19f -+ cmpl $-EAGAIN, %eax -+ je 91f -+ +- cmpl $-EAGAIN, %eax +- je 91f +- /* Normal and PI futexes dont mix. Use normal futex functions only if the kernel does not support the PI futex functions. */ cmpl $-ENOSYS, %eax -@@ -391,6 +395,78 @@ __pthread_cond_wait: +@@ -397,78 +393,6 @@ __pthread_cond_wait: #endif call __lll_unlock_wake jmp 11b -+ -+91: -+.LcleanupSTART2: -+ /* FUTEX_WAIT_REQUEUE_PI returned EAGAIN. We need to -+ call it again. */ -+ -+ /* Get internal lock. */ -+ movl $1, %edx -+ xorl %eax, %eax -+ LOCK -+#if cond_lock == 0 -+ cmpxchgl %edx, (%ebx) -+#else -+ cmpxchgl %edx, cond_lock(%ebx) -+#endif -+ jz 92f -+ -+#if cond_lock == 0 -+ movl %ebx, %edx -+#else -+ leal cond_lock(%ebx), %edx -+#endif -+#if (LLL_SHARED-LLL_PRIVATE) > 255 -+ xorl %ecx, %ecx -+#endif -+ cmpl $-1, dep_mutex(%ebx) -+ setne %cl -+ subl $1, %ecx -+ andl $(LLL_SHARED-LLL_PRIVATE), %ecx -+#if LLL_PRIVATE != 0 -+ addl $LLL_PRIVATE, %ecx -+#endif -+ call __lll_lock_wait -+ -+92: -+ /* Increment the cond_futex value again, so it can be used as a new -+ expected value. */ -+ addl $1, cond_futex(%ebx) -+ movl cond_futex(%ebx), %ebp -+ -+ /* Unlock. */ -+ LOCK -+#if cond_lock == 0 -+ subl $1, (%ebx) -+#else -+ subl $1, cond_lock(%ebx) -+#endif -+ je 93f -+#if cond_lock == 0 -+ movl %ebx, %eax -+#else -+ leal cond_lock(%ebx), %eax -+#endif -+#if (LLL_SHARED-LLL_PRIVATE) > 255 -+ xorl %ecx, %ecx -+#endif -+ cmpl $-1, dep_mutex(%ebx) -+ setne %cl -+ subl $1, %ecx -+ andl $(LLL_SHARED-LLL_PRIVATE), %ecx -+#if LLL_PRIVATE != 0 -+ addl $LLL_PRIVATE, %ecx -+#endif -+ call __lll_unlock_wake -+ -+93: -+ /* Set the rest of SYS_futex args for FUTEX_WAIT_REQUEUE_PI. */ -+ xorl %ecx, %ecx -+ movl dep_mutex(%ebx), %edi -+ jmp 90b -+.LcleanupEND2: -+ +- +-91: +-.LcleanupSTART2: +- /* FUTEX_WAIT_REQUEUE_PI returned EAGAIN. We need to +- call it again. */ +- +- /* Get internal lock. */ +- movl $1, %edx +- xorl %eax, %eax +- LOCK +-#if cond_lock == 0 +- cmpxchgl %edx, (%ebx) +-#else +- cmpxchgl %edx, cond_lock(%ebx) +-#endif +- jz 92f +- +-#if cond_lock == 0 +- movl %ebx, %edx +-#else +- leal cond_lock(%ebx), %edx +-#endif +-#if (LLL_SHARED-LLL_PRIVATE) > 255 +- xorl %ecx, %ecx +-#endif +- cmpl $-1, dep_mutex(%ebx) +- setne %cl +- subl $1, %ecx +- andl $(LLL_SHARED-LLL_PRIVATE), %ecx +-#if LLL_PRIVATE != 0 +- addl $LLL_PRIVATE, %ecx +-#endif +- call __lll_lock_wait +- +-92: +- /* Increment the cond_futex value again, so it can be used as a new +- expected value. */ +- addl $1, cond_futex(%ebx) +- movl cond_futex(%ebx), %ebp +- +- /* Unlock. */ +- LOCK +-#if cond_lock == 0 +- subl $1, (%ebx) +-#else +- subl $1, cond_lock(%ebx) +-#endif +- je 93f +-#if cond_lock == 0 +- movl %ebx, %eax +-#else +- leal cond_lock(%ebx), %eax +-#endif +-#if (LLL_SHARED-LLL_PRIVATE) > 255 +- xorl %ecx, %ecx +-#endif +- cmpl $-1, dep_mutex(%ebx) +- setne %cl +- subl $1, %ecx +- andl $(LLL_SHARED-LLL_PRIVATE), %ecx +-#if LLL_PRIVATE != 0 +- addl $LLL_PRIVATE, %ecx +-#endif +- call __lll_unlock_wake +- +-93: +- /* Set the rest of SYS_futex args for FUTEX_WAIT_REQUEUE_PI. */ +- xorl %ecx, %ecx +- movl dep_mutex(%ebx), %edi +- jmp 90b +-.LcleanupEND2: +- .size __pthread_cond_wait, .-__pthread_cond_wait versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait, GLIBC_2_3_2) -@@ -563,6 +639,10 @@ __condvar_w_cleanup: +@@ -641,10 +565,6 @@ __condvar_w_cleanup: .long .LcleanupEND-.Lsub_cond_futex .long __condvar_w_cleanup-.LSTARTCODE .uleb128 0 -+ .long .LcleanupSTART2-.LSTARTCODE -+ .long .LcleanupEND2-.LcleanupSTART2 -+ .long __condvar_w_cleanup-.LSTARTCODE -+ .uleb128 0 +- .long .LcleanupSTART2-.LSTARTCODE +- .long .LcleanupEND2-.LcleanupSTART2 +- .long __condvar_w_cleanup-.LSTARTCODE +- .uleb128 0 .long .LcallUR-.LSTARTCODE .long .LENDCODE-.LcallUR .long 0 -diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S -index 7535baa..d837d15 100644 ---- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S -+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S -@@ -23,6 +23,7 @@ - #include <lowlevelcond.h> - #include <tcb-offsets.h> - #include <pthread-pi-defines.h> -+#include <pthread-errnos.h> - - #include <kernel-features.h> - -@@ -133,11 +134,14 @@ __pthread_cond_wait: +Index: glibc-2.15.90/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S +=================================================================== +--- glibc-2.15.90.orig/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S ++++ glibc-2.15.90/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S +@@ -136,14 +136,11 @@ __pthread_cond_wait: cmpl $PI_BIT, %eax jne 61f -+90: +-90: movl $(FUTEX_WAIT_REQUEUE_PI|FUTEX_PRIVATE_FLAG), %esi movl $SYS_futex, %eax syscall movl $1, %r8d -+ cmpq $-EAGAIN, %rax -+ je 91f +- cmpq $-EAGAIN, %rax +- je 91f #ifdef __ASSUME_REQUEUE_PI jmp 62f #else -@@ -324,6 +328,70 @@ __pthread_cond_wait: - +@@ -331,69 +328,6 @@ __pthread_cond_wait: 13: movq %r10, %rax jmp 14b -+ -+91: -+.LcleanupSTART2: -+ /* FUTEX_WAIT_REQUEUE_PI returned EAGAIN. We need to -+ call it again. */ -+ movq 8(%rsp), %rdi -+ -+ /* Get internal lock. */ -+ movl $1, %esi -+ xorl %eax, %eax -+ LOCK -+#if cond_lock == 0 -+ cmpxchgl %esi, (%rdi) -+#else -+ cmpxchgl %esi, cond_lock(%rdi) -+#endif -+ jz 92f -+ -+#if cond_lock != 0 -+ addq $cond_lock, %rdi -+#endif -+ cmpq $-1, dep_mutex-cond_lock(%rdi) -+ movl $LLL_PRIVATE, %eax -+ movl $LLL_SHARED, %esi -+ cmovne %eax, %esi -+ callq __lll_lock_wait -+#if cond_lock != 0 -+ subq $cond_lock, %rdi -+#endif -+92: -+ /* Increment the cond_futex value again, so it can be used as a new -+ expected value. */ -+ incl cond_futex(%rdi) -+ movl cond_futex(%rdi), %edx -+ -+ /* Release internal lock. */ -+ LOCK -+#if cond_lock == 0 -+ decl (%rdi) -+#else -+ decl cond_lock(%rdi) -+#endif -+ jz 93f -+ -+#if cond_lock != 0 -+ addq $cond_lock, %rdi -+#endif -+ cmpq $-1, dep_mutex-cond_lock(%rdi) -+ movl $LLL_PRIVATE, %eax -+ movl $LLL_SHARED, %esi -+ cmovne %eax, %esi -+ /* The call preserves %rdx. */ -+ callq __lll_unlock_wake -+#if cond_lock != 0 -+ subq $cond_lock, %rdi -+#endif -+93: -+ /* Set the rest of SYS_futex args for FUTEX_WAIT_REQUEUE_PI. */ -+ xorq %r10, %r10 -+ movq dep_mutex(%rdi), %r8 -+ leaq cond_futex(%rdi), %rdi -+ jmp 90b -+.LcleanupEND2: -+ + +-91: +-.LcleanupSTART2: +- /* FUTEX_WAIT_REQUEUE_PI returned EAGAIN. We need to +- call it again. */ +- movq 8(%rsp), %rdi +- +- /* Get internal lock. */ +- movl $1, %esi +- xorl %eax, %eax +- LOCK +-#if cond_lock == 0 +- cmpxchgl %esi, (%rdi) +-#else +- cmpxchgl %esi, cond_lock(%rdi) +-#endif +- jz 92f +- +-#if cond_lock != 0 +- addq $cond_lock, %rdi +-#endif +- LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi) +- movl $LLL_PRIVATE, %eax +- movl $LLL_SHARED, %esi +- cmovne %eax, %esi +- callq __lll_lock_wait +-#if cond_lock != 0 +- subq $cond_lock, %rdi +-#endif +-92: +- /* Increment the cond_futex value again, so it can be used as a new +- expected value. */ +- incl cond_futex(%rdi) +- movl cond_futex(%rdi), %edx +- +- /* Release internal lock. */ +- LOCK +-#if cond_lock == 0 +- decl (%rdi) +-#else +- decl cond_lock(%rdi) +-#endif +- jz 93f +- +-#if cond_lock != 0 +- addq $cond_lock, %rdi +-#endif +- LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi) +- movl $LLL_PRIVATE, %eax +- movl $LLL_SHARED, %esi +- cmovne %eax, %esi +- /* The call preserves %rdx. */ +- callq __lll_unlock_wake +-#if cond_lock != 0 +- subq $cond_lock, %rdi +-#endif +-93: +- /* Set the rest of SYS_futex args for FUTEX_WAIT_REQUEUE_PI. */ +- xorq %r10, %r10 +- mov dep_mutex(%rdi), %R8_LP +- leaq cond_futex(%rdi), %rdi +- jmp 90b +-.LcleanupEND2: +- .size __pthread_cond_wait, .-__pthread_cond_wait versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait, GLIBC_2_3_2) -@@ -476,11 +544,15 @@ __condvar_cleanup1: +@@ -546,15 +480,11 @@ __condvar_cleanup1: .uleb128 .LcleanupSTART-.LSTARTCODE .uleb128 .LcleanupEND-.LcleanupSTART .uleb128 __condvar_cleanup1-.LSTARTCODE -- .uleb128 0 -+ .uleb128 0 -+ .uleb128 .LcleanupSTART2-.LSTARTCODE -+ .uleb128 .LcleanupEND2-.LcleanupSTART2 -+ .uleb128 __condvar_cleanup1-.LSTARTCODE -+ .uleb128 0 +- .uleb128 0 +- .uleb128 .LcleanupSTART2-.LSTARTCODE +- .uleb128 .LcleanupEND2-.LcleanupSTART2 +- .uleb128 __condvar_cleanup1-.LSTARTCODE +- .uleb128 0 ++ .uleb128 0 .uleb128 .LcallUR-.LSTARTCODE .uleb128 .LENDCODE-.LcallUR .uleb128 0 -- .uleb128 0 -+ .uleb128 0 +- .uleb128 0 ++ .uleb128 0 .Lcstend: -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org