Hello community,
here is the log from the commit of package glibc for openSUSE:Factory
checked in at Fri Feb 4 17:41:53 CET 2011.
--------
--- glibc/glibc.changes 2011-01-28 15:54:40.000000000 +0100
+++ glibc/glibc.changes 2011-02-04 05:30:37.000000000 +0100
@@ -1,0 +2,28 @@
+Fri Feb 4 00:46:40 CET 2011 - pbaudis@suse.cz
+
+- Upgrade to latest release/2.11/master - glibc-2.11.3-b72646ad0c41
+ - Random assortion of bugfixes, some #defines for new kernels
+- Retired patches:
+ - glibc-2.11.3-bnc658509.diff
+ - glibc-2.11.3-bso12397.diff
+ - glibc-sparc64-fxstat.diff
+- Remove the NSS hack of opening modules using RTLD_DEEPBIND.
+ This was useful for nss_ldap, since some applications used a different
+ LDAP library with clashing symbol names. However, it also created
+ many headaches, especially with the NSS modules not respecting
+ malloc() overrides. Now, sssd is used by default for LDAP resolutions
+ and we can therefore safely get rid of the hack. [bnc#477061]
+- Remove the currently disabled AMD string function overrides.
+ Benchmarking did not unearth any differences that would make
+ convincing case for keeping the functions with all the associated
+ maintenance headaches; AMD does not recommend keeping their custom
+ versions of the functions either.
+- Introduce MALLOC_ARENA_MAX and M_ARENA_MAX support [bnc#659090]
+- Fixed stack unwinding past glibc _fini function (proper showing
+ of destructor backtraces) [bnc#585879]
+- Fix gconv cache generation on s390 [bnc#592944]
+- Add missing iconvconfig for refreshing gconv.cache to glibc-locale %post
+- Fixed stack corruption in *printf() with large number of positional
+ specifiers [bnc#666179]
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
glibc-2.11.3-bnc658509.diff
glibc-2.11.3-bso12397.diff
glibc-2.11.3.tar.bz2
glibc-2.3.3-amd64-string.diff
glibc-nss-deepbind.diff
glibc-sparc64-fxstat.diff
minmem
New:
----
glibc-2.11.3-b72646ad0c41.tar.bz2
glibc-fini-unwind.diff
glibc-gconvcache-s390.diff
glibc-malloc-arena-max.diff
glibc-vfprintf-positional.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ glibc.spec ++++++
--- /var/tmp/diff_new_pack.O6jAbR/_old 2011-02-04 17:36:44.000000000 +0100
+++ /var/tmp/diff_new_pack.O6jAbR/_new 2011-02-04 17:36:44.000000000 +0100
@@ -64,11 +64,11 @@
Provides: rtld(GNU_HASH)
AutoReqProv: on
Version: 2.11.3
-Release: 3
+Release: 4
Url: http://www.gnu.org/software/libc/libc.html
PreReq: filesystem
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source: glibc-%{version}.tar.bz2
+Source: glibc-%{version}-b72646ad0c41.tar.bz2
Source2: glibc-ports-2.10.1-2b2b217196.tar.bz2
Source3: noversion.tar.bz2
Source4: manpages.tar.bz2
@@ -98,51 +98,49 @@
Patch10: glibc-2.3.2-revert_tcsetattr.diff
Patch11: glibc-2.3.1.localedef.diff
Patch12: glibc-2.3.2.no_archive.diff
-Patch13: glibc-2.3.3-amd64-string.diff
-Patch14: libm-x86-64.diff.bz2
-Patch15: glibc-2.3.90-bindresvport.blacklist.diff
-Patch16: glibc-suse-note.diff
-Patch17: glibc-2.4.90-no_NO.diff
-Patch18: glibc-2.3.90-ld.so-madvise.diff
-Patch19: glibc-2.3.3-amd64-s_ceil.diff
-Patch20: glibc-2.3.3-execstack.diff
-Patch21: glibc-2.4-china.diff
-Patch22: glibc-2.3.4-gb18030-big5hkscs.diff.bz2
-Patch23: glibc-2.4.90-nscd.diff
-Patch24: glibc-2.3.3-nscd-db-path.diff
-Patch25: glibc-2.3.5-nscd-zeronegtimeout.diff
-Patch26: glibc-2.3.90-langpackdir.diff
-Patch27: glibc-nptl-2.4-nofixsyscallnr.diff
-Patch30: glibc-2.6-configure.diff
-Patch31: glibc-2.2-sunrpc.diff
-Patch32: glibc-2.8-getconf.diff
-Patch33: getaddrinfo-ipv6-sanity.diff
-Patch35: ppc-atomic.diff
-Patch36: glibc-2.8-clone.diff
-Patch37: glibc-nss-deepbind.diff
-Patch39: glibc-compiled-binaries.diff
-Patch40: glibc-selinux.diff
-Patch41: glibc-check-native-missing-include.diff
-Patch42: glibc-no-unwind-tables.diff
-Patch43: glibc-2.10-nscd-nostack.diff
-Patch44: glibc-cpusetsize.diff
-Patch46: glibc-2.10.99-ia64-include.diff
-Patch47: libm-x86-64-exceptions.diff
-Patch48: glibc-uio-cell.diff
-Patch54: glibc-statfs64-ia64.diff
-Patch60: ld-prelink-unique.diff
-Patch61: glibc-ppc64-vdso-time.diff
-Patch64: glibc-gai-private4.diff
-Patch65: glibc-resolv-mdnshint.diff
-Patch69: glibc-nscd-hconf.diff
+Patch13: libm-x86-64.diff.bz2
+Patch14: glibc-2.3.90-bindresvport.blacklist.diff
+Patch15: glibc-suse-note.diff
+Patch16: glibc-2.4.90-no_NO.diff
+Patch17: glibc-2.3.90-ld.so-madvise.diff
+Patch18: glibc-2.3.3-amd64-s_ceil.diff
+Patch19: glibc-2.3.3-execstack.diff
+Patch20: glibc-2.4-china.diff
+Patch21: glibc-2.3.4-gb18030-big5hkscs.diff.bz2
+Patch22: glibc-2.4.90-nscd.diff
+Patch23: glibc-2.3.3-nscd-db-path.diff
+Patch24: glibc-2.3.5-nscd-zeronegtimeout.diff
+Patch25: glibc-2.3.90-langpackdir.diff
+Patch26: glibc-nptl-2.4-nofixsyscallnr.diff
+Patch27: glibc-2.6-configure.diff
+Patch28: glibc-2.2-sunrpc.diff
+Patch29: glibc-2.8-getconf.diff
+Patch30: getaddrinfo-ipv6-sanity.diff
+Patch31: ppc-atomic.diff
+Patch32: glibc-2.8-clone.diff
+Patch33: glibc-compiled-binaries.diff
+Patch34: glibc-selinux.diff
+Patch35: glibc-check-native-missing-include.diff
+Patch36: glibc-no-unwind-tables.diff
+Patch37: glibc-2.10-nscd-nostack.diff
+Patch38: glibc-cpusetsize.diff
+Patch39: glibc-2.10.99-ia64-include.diff
+Patch40: libm-x86-64-exceptions.diff
+Patch41: glibc-uio-cell.diff
+Patch42: glibc-statfs64-ia64.diff
+Patch43: ld-prelink-unique.diff
+Patch44: glibc-ppc64-vdso-time.diff
+Patch45: glibc-gai-private4.diff
+Patch46: glibc-resolv-mdnshint.diff
+Patch47: glibc-nscd-hconf.diff
+Patch48: glibc-malloc-arena-max.diff
+Patch49: glibc-fini-unwind.diff
+Patch50: glibc-gconvcache-s390.diff
+Patch51: glibc-vfprintf-positional.diff
Patch500: ARM_glibc-2.10.1-local-eabi-wchar.diff
Patch501: ARM_glibc-2.10.1-local-hwcap-updates.diff
Patch502: ARM_glibc-2.10.1-local-lowlevellock.diff
Patch503: ARM_glibc-2.10.1-local-no-hwcap.diff
-# http://sources.redhat.com/bugzilla/show_bug.cgi?id=11155
-Patch600: glibc-sparc64-fxstat.diff
-Patch601: glibc-2.11.3-bnc658509.diff
-Patch602: glibc-2.11.3-bso12397.diff
%description
The GNU C Library provides the most important standard libraries used
@@ -311,12 +309,10 @@
%patch10
%patch11
%patch12
-#%patch13
-# strncmp.S triggers amd64 assembler bug [bnc#540647]
-#rm sysdeps/x86_64/strncmp.S
-%patch14 -E
+%patch13 -E
# We have s_sincos.c in patch13, remove duplicate
rm sysdeps/x86_64/fpu/s_sincos.S
+%patch14
%patch15
%patch16
%patch17
@@ -324,48 +320,47 @@
%patch19
%patch20
%patch21
-%patch22
# avoid changing nscd_stat.c mtime to avoid code generation
# differences on each rebuild
touch -r nscd/nscd_stat.c nscd/s-stamp
+%patch22
%patch23
%patch24
-%patch25
touch -r nscd/s-stamp nscd/nscd_stat.c
rm nscd/s-stamp
+%patch25
%patch26
%patch27
+%patch28
+%patch29
%patch30
%patch31
%patch32
%patch33
+%patch34
%patch35
%patch36
%patch37
+%patch38
%patch39
%patch40
-%patch41
+%patch41 -p1
%patch42
-%patch43
-%patch44
-%patch46
-%patch47
+%patch43 -p1
+%patch44 -p1
+%patch45
+%patch46 -p1
+%patch47 -p1
%patch48 -p1
-%patch54
-%patch60 -p1
-%patch61 -p1
-%patch64
-%patch65 -p1
-%patch69 -p1
+%patch49
+%patch50
+%patch51 -p1
%ifarch %arm armv5tel armv7l
%patch500
%patch501
%patch502
%patch503
%endif
-%patch600 -p1
-%patch601
-%patch602
#
# Inconsistency detected by ld.so: dl-close.c: 719: _dl_close: Assertion `map->l_init_called' failed!
#
@@ -782,6 +777,7 @@
echo "###X# The following is autogenerated from extra files in the .d directory:" >>"$l"
cat "$l.d"/* >>"$l"
done
+/usr/sbin/iconvconfig
%post info
%install_info --info-dir=%{_infodir} %{_infodir}/libc.info.gz
++++++ glibc-fini-unwind.diff ++++++
Index: sysdeps/x86_64/elf/initfini.c
===================================================================
--- sysdeps/x86_64/elf/initfini.c.orig 2004-08-16 06:50:55.000000000 +0200
+++ sysdeps/x86_64/elf/initfini.c 2010-04-16 16:41:11.000000000 +0200
@@ -44,6 +44,25 @@
* crtn.s puts the corresponding function epilogues
in the .init and .fini sections. */
+/* The unwind annotation for _fini is peculiar for good reasons:
+ (a) We need a real function that isn't constructed separately
+ (i.e. one which has a .size directive) in order to attach unwind
+ info to it. Hence _fini is a wrapper around _real_fini, the
+ former being a normal function, the latter being the first
+ instruction of the traditional _fini.
+ (b) We must not fiddle with the stack pointer in _real_fini,
+ as we wouldn't be able to describe the effects in unwind info
+ (c) some versions of GCC have no correct unwind info for
+ __do_global_dtors_aux, meaning they can't properly restore %rbp
+ (unwinding through it is possible but later up when we next
+ need %rbp we can't access it anymore)
+ Therefore we save/restore it in _fini for uses later up the call chain.
+ But we don't make the CFA use that register (that would lead to
+ the above problem)
+ (d) We want an 16-aligned stack pointer at _real_fini. Because of (a)
+ we can't align it in _real_fini, hence we do it in the caller by
+ subtracting 8, making in 8mod16 which the call then make 0mod16
+ again. */
__asm__ ("\n\
#include \"defs.h\"\n\
\n\
@@ -88,16 +107,28 @@ _init:\n\
.globl _fini\n\
.type _fini,@function\n\
_fini:\n\
+ .cfi_startproc\n\
+ push %rbp\n\
+ .cfi_def_cfa_offset 16\n\
+ .cfi_offset 6,-16\n\
subq $8, %rsp\n\
+ .cfi_def_cfa_offset 24\n\
+ call _real_fini\n\
+ addq $8, %rsp\n\
+ .cfi_def_cfa_offset 16\n\
+ pop %rbp\n\
+ ret\n\
+ .cfi_endproc\n\
ALIGN\n\
END_FINI\n\
+.size _fini, .-_fini\n\
+_real_fini:\n\
\n\
/*@_fini_PROLOG_ENDS*/\n\
call i_am_not_a_leaf@PLT\n\
\n\
/*@_fini_EPILOG_BEGINS*/\n\
.section .fini\n\
- addq $8, %rsp\n\
ret\n\
END_FINI\n\
\n\
++++++ glibc-gconvcache-s390.diff ++++++
Index: glibc/sysdeps/s390/s390-64/Makefile
===================================================================
--- sysdeps/s390/s390-64/Makefile 2009-08-03 10:18:31.000000000 +0200
+++ sysdeps/s390/s390-64/Makefile 2010-04-07 10:01:35.000000000 +0200
@@ -74,5 +74,17 @@ $(objpfx)gconv-modules-s390: gconv-modul
$(inst_gconvdir)/gconv-modules: $(objpfx)gconv-modules-s390 $(+force)
$(do-install)
+ifeq (no,$(cross-compiling))
+# Update the $(prefix)/lib/gconv/gconv-modules.cache file. This is necessary
+# if this libc has more gconv modules than the previously installed one.
+ if test -f "$(inst_gconvdir)/gconv-modules.cache"; then \
+ LC_ALL=C LANGUAGE=C \
+ $(common-objpfx)elf/ld.so --library-path $(rpath-link) \
+ $(common-objpfx)iconv/iconvconfig \
+ $(addprefix --prefix=,$(install_root)); \
+ fi
+else
+ @echo '*@*@*@ You should recreate $(inst_gconvdir)/gconv-modules.cache'
+endif
endif
++++++ glibc-malloc-arena-max.diff ++++++
Allow M_ARENA_MAX / MALLOC_ARENA_MAX limit even with PER_THREAD disabled
With the new PER_THREAD compile-time option, the allocator also offers
a way to limit the total number of arenas using MALLOC_ARENA_MAX
environment variable or mallopt(M_ARENA_MAX).
In principle, this feature is not tied to the PER_THREAD option. This
patch makes it possible to use it even with the default compilation
settings.
One motivation to limit the number of arenas may be libhugetlbfs users
that rely on its __morecore hook providing hugetlbfs-backed memory for
the allocator - this can work only with a single arena and multi-threaded
programs wishing to use this feature need a way to limit the allocator
to a single arena. Another motivation is avoiding pathological behavior
in extremely thread-intensive applications.
2011-02-04 Petr Baudis