[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#749266: wheezy-pu: package eglibc/2.13-38+deb7u2



Package: release.debian.org
Severity: normal
Tags: wheezy
User: release.debian.org@packages.debian.org
Usertags: pu

Hi stable release managers,

We would like to fix a some issues that have been identified in the
eglibc version included in wheezy. The best is probably to describe the
changelog:

| eglibc (2.13-38+deb7u2) wheezy; urgency=medium
| 
|   [ Aurelien Jarno ]
|   * debian/patches/localedata/cvs-de_AT-Februar.diff: new patch from
|     upstream to fix February month name in de_AT locale.  Closes: #738544.

This is a tiny patch which doesn't change code and would make Austrian
people happy. It probably doesn't worth an upload alone, but as we are
fixing other issues, let's also fix that. This patch is in upstream and
jessie/sid for quite some time.

|   * debian/patches/mips/cvs-backtrace.diff: new patch from upstream to
|     fix backtrace() on mips.  Closes: #741354.

backtrace() on mips has been broken due to some code move, this simple
patch fixes that.

|   * any/local-ldconfig-ignore-ld.so.diff: new patch to ignore the dynamic
|     linker in ldconfig.  Closes: #699206, #707185, #727786, #736097,
|     #739734, #739758.
|   * debian/debhelper.in/libc.preinst: Disable ldconfig when a potentially
|     broken dynamic loader symlink is found and when a fixed version hasn't
|     already been unpacked. This happens when a biarch package of the same
|     architecture than the native one has been installed (e.g.: 
|     libc6-amd64:i386 on amd64) and ldconfig is run afterwards. Don't fail
|     if the dynamic loader symlink is dangling or missing.  Closes: #740158,
|     #740196.
|   * debian/debhelper.in/libc.postrm: generalize the dynamic linker
|     symlink creation to all biarch packages.
|   * debian/debhelper.in/libc-alt.postrm: generalize the dynamic linker
|     symlink removal to all biarch packages.

This part tries to tackle the "how to break your multiarch system in
only 4 commands" issue:

| # dpkg --add-architecture i386
| # apt-get update
| ...
| # apt-get install libc6-amd64
| ...
| # apt-get remove libc6-amd64
| Reading package lists... Done
| Building dependency tree
| Reading state information... Done
| The following packages will be REMOVED:
|   libc6-amd64:i386
| 0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
| After this operation, 10.1 MB disk space will be freed.
| Do you want to continue [Y/n]?
| (Reading database ... 11733 files and directories currently installed.)
| Removing libc6-amd64 ...
| dpkg (subprocess): unable to execute installed post-removal script (/var/lib/dpkg/info/libc6-amd64.postrm): No such file or directory
| dpkg: error processing libc6-amd64 (--purge):
|  subprocess installed post-removal script returned error exit status 2
| Errors were encountered while processing:
|  libc6-amd64
| E: Sub-process /usr/bin/dpkg returned an error code (1)
| /# ls
| -bash: /bin/ls: No such file or directory

Installing libc6-amd64:i386 on an amd64 system looks silly at a first
glance, and I guess nobody really thought about that case. That said
it happens in practice because people install packages like gdb64 or
strace64. They do a research on strace or gdb and get answers like
that:

| gdb - The GNU Debugger
| gdb64 - The GNU Debugger (64-bit)
|
| strace - A system call tracer
| strace64 - A system call tracer for 64bit binaries

Knowing that they run a 64-bit system, they prefer the "64-bit"
version...

The way to fix that might look a bit ugly, but it is the only way we
found so far. Once libc6-amd64:i386 is installed, the removal of this
package or the upgrade to a higher version, will trigger the issue. In
short it means that we have thousands of systems already half-broken. We
already included this code in the jessie/sid version for sometimes and
it seems to fix most cases, except maybe a few corner cases (we still
have one bug opened about that, but we haven't been able to catch the
status of the system when the problem arise, and people usually try
to fix their system before reporting a bug, which might cause more
damages). At least we haven't encountered any regression with it.

|   * patches/any/submitted-nl_langinfo-static.diff: new patch from upstream
|     to fix nl_langinfo() when used in static binaries.  Closes: #747103.

This fixes an upstream bug where locales are not working in static
binaries. This is a regression from squeeze and is problematic for
people using Debian to ship static binaries. The fix is already
included in upstream and in sid.

|   * debian/patches/any/cvs-CVE-2013-4458.diff: backport a new part from
|     upstream to fix a regression introduced in 2.13-38+deb7u1 in IPv6 name
|     resolution.  Closes: #738652.

This fixes a regression caused by the deb7u1 upload. We had to backport
some patches to be able to fix the CVE-2013-4458 issue, and it occurs
that one of the patches introduced a bug fixed around one year after.
Therefore cvs-CVE-2013-4458.diff has been modified to also include this
patch, which is already included in upstream and jessie/sid for quite some
time.

|   * patches/any/cvs-socketcall-syscall.diff: new patch from upstream to fix
|     socketcall multiplex syscall features detection.  Closes: #730744.

This patch fixes the apache2 breakage which happens on powerpc/wheezy
when running the squeeze kernel. This causes an issue with the upgrade
until the machine is rebooted on the new kernel, or if the old kernel
needs to be kept for some reasons. This fix is already present in
upstream and in sid.

|  -- Aurelien Jarno <aurel32@debian.org>  Sun, 25 May 2014 20:01:05 +0200


The full diff is attached to this bug report. All these changes are
already in sid, so they have been already tested. The upload is ready
in our SVN, but we can still modify it in case you want some patches to
be removed or improved. Please tell us if it is fine to upload it to
stable-proposed-updates.

Thanks,
Aurelien

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.13-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Index: debian/patches/any/cvs-CVE-2013-4458.diff
===================================================================
--- debian/patches/any/cvs-CVE-2013-4458.diff	(révision 5872)
+++ debian/patches/any/cvs-CVE-2013-4458.diff	(copie de travail)
@@ -4,6 +4,12 @@
 	* sysdeps/posix/getaddrinfo.c (gethosts): Allocate tmpbuf on
 	heap for large requests.
 
+2012-08-22  Jeff Law <law@redhat.com>
+
+	[BZ #14505]
+	* sysdeps/posix/getaddrinfo.c (gaih_inet): Only use gethostbyname4_r
+	if the family is PF_UNSPEC.
+
 2011-06-10  Andreas Schwab  <schwab@redhat.com>
 
 	* sysdeps/posix/getaddrinfo.c (gaih_inet): Fix logic allocating
@@ -378,12 +384,12 @@
  		    {
  		      __set_h_errno (herrno);
 -		      return -EAI_SYSTEM;
--		    }
++		      result = -EAI_SYSTEM;
+ 		    }
 -		  if (herrno == TRY_AGAIN)
 -		    {
 -		      return -EAI_AGAIN;
-+		      result = -EAI_SYSTEM;
- 		    }
+-		    }
 -		  /* We made requests but they turned out no data.
 -		     The name is known, though.  */
 -		  return GAIH_OKIFUNSPEC | -EAI_NODATA;
@@ -491,7 +497,7 @@
  		}
  	    }
  #endif
-@@ -699,7 +835,19 @@
+@@ -699,13 +835,30 @@
  	  _res.options &= ~RES_USE_INET6;
  
  	  size_t tmpbuflen = 1024;
@@ -512,7 +518,20 @@
  
  	  while (!no_more)
  	    {
-@@ -728,8 +876,25 @@
+ 	      no_data = 0;
+-	      nss_gethostbyname4_r fct4
+-		= __nss_lookup_function (nip, "gethostbyname4_r");
++	      nss_gethostbyname4_r fct4 = NULL;
++
++	      /* gethostbyname4_r sends out parallel A and AAAA queries and
++		 is thus only suitable for PF_UNSPEC.  */
++	      if (req->ai_family == PF_UNSPEC)
++		fct4 = __nss_lookup_function (nip, "gethostbyname4_r");
++
+ 	      if (fct4 != NULL)
+ 		{
+ 		  int herrno;
+@@ -728,8 +881,25 @@
  			    no_data = herrno == NO_DATA;
  			  break;
  			}
@@ -540,7 +559,7 @@
  		    }
  
  		  if (status == NSS_STATUS_SUCCESS)
-@@ -832,18 +997,40 @@
+@@ -832,18 +1002,40 @@
  			      if (cfct != NULL)
  				{
  				  const size_t max_fqdn_len = 256;
@@ -586,7 +605,7 @@
  				}
  			    }
  			  status = NSS_STATUS_SUCCESS;
-@@ -878,22 +1065,27 @@
+@@ -878,22 +1070,27 @@
  	    {
  	      /* If both requests timed out report this.  */
  	      if (no_data == EAI_AGAIN && no_inet6_data == EAI_AGAIN)
@@ -620,7 +639,7 @@
        memset (at, '\0', sizeof (struct gaih_addrtuple));
  
        if (req->ai_family == AF_UNSPEC)
-@@ -932,30 +1124,56 @@
+@@ -932,30 +1129,56 @@
  	/* Only the first entry gets the canonical name.  */
  	if (at2 == at && (req->ai_flags & AI_CANONNAME) != 0)
  	  {
@@ -683,7 +702,7 @@
  		  }
  
  		if (h != NULL)
-@@ -982,11 +1200,16 @@
+@@ -982,11 +1205,16 @@
  		int rc = __idna_to_unicode_lzlz (canon, &out, idn_flags);
  		if (rc != IDNA_SUCCESS)
  		  {
@@ -704,7 +723,7 @@
  		  }
  		/* In case the output string is the same as the input
  		   string no new string has been allocated and we
-@@ -1001,10 +1224,25 @@
+@@ -1001,10 +1229,25 @@
  #ifdef HAVE_LIBIDN
  	      make_copy:
  #endif
@@ -733,7 +752,7 @@
  	  }
  
  	family = at2->family;
-@@ -1030,7 +1268,8 @@
+@@ -1030,7 +1273,8 @@
  	    if (ai == NULL)
  	      {
  		free ((char *) canon);
@@ -743,7 +762,7 @@
  	      }
  
  	    ai->ai_flags = req->ai_flags;
-@@ -1083,7 +1322,18 @@
+@@ -1083,7 +1327,18 @@
  	at2 = at2->next;
        }
    }
Index: debian/patches/any/cvs-nl_langinfo-static.diff
===================================================================
--- debian/patches/any/cvs-nl_langinfo-static.diff	(révision 0)
+++ debian/patches/any/cvs-nl_langinfo-static.diff	(révision 6110)
@@ -0,0 +1,97 @@
+2014-05-06  Aurelien Jarno  <aurelien@aurel32.net>
+ 
+	* locale/nl_langinfo_l.c: Make direct reference to every
+	_nl_current_CATEGORY symbol.
+	* localedata/Makefile (test-srcs): Add tst-langinfo-static.
+	(tests-static): Add tst-langinfo-static.
+	(tests-special): Add tst-langinfo-static.out.
+	($(objpfx)tst-langinfo.out): Redirect output.
+	($(objpfx)tst-langinfo-static.out): New.
+	* localedata/tst-langinfo.sh: Send output to stdout.
+	* localedata/tst-langinfo-static.c: New file.
+
+diff --git a/locale/nl_langinfo_l.c b/locale/nl_langinfo_l.c
+--- a/locale/nl_langinfo_l.c
++++ b/locale/nl_langinfo_l.c
+@@ -20,6 +20,7 @@
+ #include <locale.h>
+ #include <errno.h>
+ #include <stddef.h>
++#include <stdlib.h>
+ #include "localeinfo.h"
+
+
+@@ -43,7 +43,21 @@ __nl_langinfo_l (item, l)
+   if (index == _NL_ITEM_INDEX (_NL_LOCALE_NAME (category)))
+     return (char *) l->__names[category];
+ 
++#if defined NL_CURRENT_INDIRECT
++  /* Make direct reference to every _nl_current_CATEGORY symbol,
++     since we know only at runtime which categories are used.  */
++  switch (category)
++    {
++# define DEFINE_CATEGORY(category, category_name, items, a) \
++      case category: data = *_nl_current_##category; break;
++# include "categories.def"
++# undef DEFINE_CATEGORY
++    default:                   /* Should be impossible.  */
++      abort();
++    }
++#else
+   data = l->__locales[category];
++#endif
+ 
+   if (index >= data->nstrings)
+     /* Bogus index for this category: bogus item.  */
+diff --git a/localedata/Makefile b/localedata/Makefile
+--- a/localedata/Makefile
++++ b/localedata/Makefile
+@@ -50,7 +50,7 @@
+ 
+ test-srcs := collate-test xfrm-test tst-fmon tst-rpmatch tst-trans \
+ 	     tst-mbswcs1 tst-mbswcs2 tst-mbswcs3 tst-mbswcs4 tst-mbswcs5 \
+-	     tst-ctype tst-wctype tst-langinfo tst-numeric
++	     tst-ctype tst-wctype tst-langinfo tst-langinfo-static tst-numeric
+ test-input := de_DE.ISO-8859-1 en_US.ISO-8859-1 da_DK.ISO-8859-1 \
+ 	      hr_HR.ISO-8859-2 sv_SE.ISO-8859-1 tr_TR.UTF-8 fr_FR.UTF-8 \
+ 	      si_LK.UTF-8
+@@ -178,7 +178,8 @@
+ tests: $(objpfx)sort-test.out $(objpfx)tst-fmon.out $(objpfx)tst-locale.out \
+        $(objpfx)tst-rpmatch.out $(objpfx)tst-trans.out \
+        $(objpfx)tst-mbswcs.out $(objpfx)tst-ctype.out \
+-       $(objpfx)tst-langinfo.out $(objpfx)tst-numeric.out
++       $(objpfx)tst-langinfo.out $(objpfx)tst-langinfo-static.out\
++       $(objpfx)tst-numeric.out
+ ifeq (y,$(OPTION_POSIX_WIDE_CHAR_DEVICE_IO))
+ tests: $(objpfx)tst-wctype.out
+ endif
+@@ -224,7 +225,11 @@
+ $(objpfx)tst-langinfo.out: tst-langinfo.sh $(objpfx)tst-langinfo \
+ 			$(objpfx)sort-test.out \
+ 			$(addprefix $(objpfx),$(CTYPE_FILES))
+-	$(SHELL) -e $< $(common-objpfx) '$(built-program-cmd)'
++	$(SHELL) -e $< $(common-objpfx) '$(built-program-cmd)' > $@
++$(objpfx)tst-langinfo-static.out: tst-langinfo.sh $(objpfx)tst-langinfo-static \
++			$(objpfx)sort-test.out \
++			$(addprefix $(objpfx),$(CTYPE_FILES))
++	$(SHELL) -e $< $(common-objpfx) '$(built-program-cmd)' > $@
+ $(objpfx)tst-digits.out: $(objpfx)tst-locale.out
+ $(objpfx)tst-mbswcs6.out: $(addprefix $(objpfx),$(CTYPE_FILES))
+ # eglibc: endif
+diff --git a/localedata/tst-langinfo-static.c b/localedata/tst-langinfo-static.c
+--- /dev/null
++++ b/localedata/tst-langinfo-static.c
+@@ -0,0 +1 @@
++#include "tst-langinfo.c"
+diff --git a/localedata/tst-langinfo.sh b/localedata/tst-langinfo.sh
+--- a/localedata/tst-langinfo.sh
++++ b/localedata/tst-langinfo.sh
+@@ -341,7 +341,6 @@
+ EOF
+ LOCPATH=${common_objpfx}localedata GCONV_PATH=${common_objpfx}iconvdata \
+ LC_ALL=tt_TT ${run_program_prefix} \
+-  ${common_objpfx}localedata/tst-langinfo \
+-    > ${common_objpfx}localedata/tst-langinfo.out
++  ${common_objpfx}localedata/tst-langinfo
+ 
+ exit $?
Index: debian/patches/any/cvs-socketcall-syscall.diff
===================================================================
--- debian/patches/any/cvs-socketcall-syscall.diff	(révision 0)
+++ debian/patches/any/cvs-socketcall-syscall.diff	(révision 6110)
@@ -0,0 +1,387 @@
+2014-02-20  Joseph Myers  <joseph@codesourcery.com>
+ 
+	[BZ #16610]
+	* sysdeps/unix/sysv/linux/kernel-features.h
+	[__LINUX_KERNEL_VERSION >= 0x020621 && __ASSUME_SOCKETCALL]
+	(__ASSUME_RECVMMSG_SOCKETCALL): Define.
+	[(__LINUX_KERNEL_VERSION >= 0x020621 && (__i386__ || __x86_64__ ||
+	__sparc__ || __ia64) || (__LINUX_KERNEL_VERSION >= 0x020625 && 
+	(__powerpc__ || __sh__))] (__ASSUME_RECVMMSG_SYSCALL): Likewise.
+	[__i386__ || __sparc__]
+	(__ASSUME_RECVMMSG_SYSCALL_WITH_SOCKETCALL): Likewise.
+	[__ASSUME_RECVMMSG_SOCKETCALL || __ASSUME_RECVMMSG_SYSCALL]
+	(__ASSUME_RECVMMSG): Define instead of using previous
+	[__LINUX_KERNEL_VERSION >= 0x020621] condition.
+	* ports/sysdeps/unix/sysv/linux/alpha/kernel-features.h
+	[__LINUX_KERNEL_VERSION >= 0x020621] (__ASSUME_RECVMMSG_SYSCALL):
+	Likewise.
+	* ports/sysdeps/unix/sysv/linux/arm/kernel-features.h
+	[__LINUX_KERNEL_VERSION >= 0x020621] (__ASSUME_RECVMMSG_SYSCALL):
+	Likewise.
+	* sysdeps/unix/sysv/linux/internal_recvmmsg.S [__ASSUME_SOCKETCALL
+	&& !__ASSUME_RECVMMSG_SYSCALL_WITH_SOCKETCALL &&
+	!__ASSUME_RECVMMSG_SYSCALL] (__NR_recvmmsg): Undefine.
+	[__ASSUME_RECVMMSG]: Change condition to
+	[__ASSUME_RECVMMSG_SOCKETCALL].
+	* ports/sysdeps/unix/sysv/linux/mips/kernel-features.h
+	[__LINUX_KERNEL_VERSION >= 0x020621] (__ASSUME_RECVMMSG_SYSCALL):
+	Likewise.
+	* sysdeps/unix/sysv/linux/recvmmsg.c [__ASSUME_SOCKETCALL &&
+	!__ASSUME_RECVMMSG_SYSCALL_WITH_SOCKETCALL &&
+	!__ASSUME_RECVMMSG_SYSCALL] (__NR_recvmmsg): Undefine.
+	[!__ASSUME_RECVMMSG]: Change condition to
+	[!__ASSUME_RECVMMSG_SOCKETCALL].
+	* ports/sysdeps/unix/sysv/linux/hppa/kernel-features.h
+	[__LINUX_KERNEL_VERSION >= 0x020622] (__ASSUME_RECVMMSG_SYSCALL):
+	Define.
+
+	[BZ #16609]
+	* sysdeps/unix/sysv/linux/kernel-features.h [__i386__ ||
+	__powerpc__ || __s390__ || __sh__ || __sparc__]
+	(__ASSUME_SOCKETCALL): Define.
+	[__LINUX_KERNEL_VERSION && __ASSUME_SOCKETCALL]
+	(__ASSUME_ACCEPT4_SOCKETCALL): Likewise.
+	[(__LINUX_KERNEL_VERSION >= 0x02061c && (__x86_64__ || __sparc__))
+	|| (__LINUX_KERNEL_VERSION >= 0x020625 && (__powerpc__ ||
+	__sh__)) || (__LINUX_KERNEL_VERSION >= 0x030300 && (__ia64__))] 
+	(__ASSUME_ACCEPT4_SYSCALL): Likewise.
+	[__sparc__] (__ASSUME_ACCEPT4_SYSCALL_WITH_SOCKETCALL): Likewise.
+	[__ASSUME_ACCEPT4_SOCKETCALL || __ASSUME_ACCEPT4_SYSCALL]
+	(__ASSUME_ACCEPT4): Define instead of using previous
+	[__LINUX_KERNEL_VERSION >= 0x02061c && (__i386__ || __x86_64__ ||
+	__powerpc__ || __sparc__ || __s390__)] condition.
+	* sysdeps/unix/sysv/linux/accept4.c [__ASSUME_SOCKETCALL &&
+	!__ASSUME_ACCEPT4_SYSCALL_WITH_SOCKETCALL &&
+	!__ASSUME_ACCEPT4_SYSCALL] (__NR_accept4): Undefine.
+	[!__ASSUME_ACCEPT4]: Change condition to
+	[!__ASSUME_ACCEPT4_SOCKETCALL].
+	* ports/sysdeps/unix/sysv/linux/alpha/kernel-features.h
+	(__ASSUME_ACCEPT4): Change to __ASSUME_ACCEPT4_SYSCALL.  Correct
+	condition to [__LINUX_KERNEL_VERSION >= 0x030200].
+	* ports/sysdeps/unix/sysv/linux/arm/kernel-features.h
+	[__LINUX_KERNEL_VERSION >= 0x020624] (__ASSUME_ACCEPT4_SYSCALL):
+	Define.
+	* sysdeps/unix/sysv/linux/i386/accept4.S [__ASSUME_ACCEPT4]:
+	Change conditions to [__ASSUME_ACCEPT4_SOCKETCALL].
+	* sysdeps/unix/sysv/linux/internal_accept4.S [__ASSUME_SOCKETCALL
+	&& !__ASSUME_ACCEPT4_SYSCALL_WITH_SOCKETCALL &&
+	!__ASSUME_ACCEPT4_SYSCALL] (__NR_accept4): Undefine.
+	[__ASSUME_ACCEPT4]: Change condition to
+	[__ASSUME_ACCEPT4_SOCKETCALL].
+	* ports/sysdeps/unix/sysv/linux/m68k/kernel-features.h
+	(__ASSUME_SOCKETCALL): Define.
+	* ports/sysdeps/unix/sysv/linux/mips/kernel-features.h
+	[__LINUX_KERNEL_VERSION >= 0x02061f] (__ASSUME_ACCEPT4_SYSCALL):
+	Likewise.
+ 	* ports/sysdeps/unix/sysv/linux/hppa/kernel-features.h
+ 	[__LINUX_KERNEL_VERSION >= 0x020622] (__ASSUME_ACCEPT4_SYSCALL):
+
+--- a/ports/sysdeps/unix/sysv/linux/hppa/kernel-features.h
++++ b/ports/sysdeps/unix/sysv/linux/hppa/kernel-features.h
+@@ -36,4 +36,10 @@
+ # define __ASSUME_LWS_CAS		1
+ #endif
+ 
++/* Support for the accept4 and recvmmsg syscalls was added in 2.6.34.  */
++#if __LINUX_KERNEL_VERSION >= 0x020622
++# define __ASSUME_ACCEPT4_SYSCALL	1
++# define __ASSUME_RECVMMSG_SYSCALL	1
++#endif
++
+ #include_next <kernel-features.h>
+--- a/sysdeps/unix/sysv/linux/accept4.c
++++ b/sysdeps/unix/sysv/linux/accept4.c
+@@ -25,6 +25,14 @@
+ #include <sys/syscall.h>
+ #include <kernel-features.h>
+ 
++/* Do not use the accept4 syscall on socketcall architectures unless
++   it was added at the same time as the socketcall support or can be
++   assumed to be present.  */
++#if defined __ASSUME_SOCKETCALL \
++    && !defined __ASSUME_ACCEPT4_SYSCALL_WITH_SOCKETCALL \
++    && !defined __ASSUME_ACCEPT4_SYSCALL
++# undef __NR_accept4
++#endif
+ 
+ #ifdef __NR_accept4
+ int
+@@ -43,7 +51,7 @@
+   return result;
+ }
+ #elif defined __NR_socketcall
+-# ifndef __ASSUME_ACCEPT4
++# ifndef __ASSUME_ACCEPT4_SOCKETCALL
+ extern int __internal_accept4 (int fd, __SOCKADDR_ARG addr,
+ 			       socklen_t *addr_len, int flags)
+      attribute_hidden;
+@@ -84,7 +92,8 @@
+   return -1;
+ }
+ # else
+-/* When __ASSUME_ACCEPT4 accept4 is defined in internal_accept4.S.  */
++/* When __ASSUME_ACCEPT4_SOCKETCALL accept4 is defined in
++   internal_accept4.S.  */
+ # endif
+ #else
+ int
+--- a/ports/sysdeps/unix/sysv/linux/alpha/kernel-features.h
++++ b/ports/sysdeps/unix/sysv/linux/alpha/kernel-features.h
+@@ -61,9 +61,14 @@
+ # define __ASSUME_SIGNALFD4 1
+ #endif
+ 
+-/* Support for accept4 was added for alpha after 2.6.33-rc1.  */
++/* Support for recvmmsg was added for alpha in 2.6.33.  */
+ #if __LINUX_KERNEL_VERSION >= 0x020621
+-# define __ASSUME_ACCEPT4      1
++# define __ASSUME_RECVMMSG_SYSCALL       1
++#endif
++
++/* Support for accept4 was added for alpha in 3.2.  */
++#if __LINUX_KERNEL_VERSION >= 0x030200
++# define __ASSUME_ACCEPT4_SYSCALL      1
+ #endif
+ 
+ #include_next <kernel-features.h>
+--- a/ports/sysdeps/unix/sysv/linux/arm/kernel-features.h
++++ b/ports/sysdeps/unix/sysv/linux/arm/kernel-features.h
+@@ -57,6 +57,16 @@
+ # define __ASSUME_SIGNALFD4	1
+ #endif
+ 
++/* Support for the recvmmsg syscall was added in 2.6.33.  */
++#if __LINUX_KERNEL_VERSION >= 0x020621
++# define __ASSUME_RECVMMSG_SYSCALL	1
++#endif
++
++/* Support for the accept4 syscall was added in 2.6.36.  */
++#if __LINUX_KERNEL_VERSION >= 0x020624
++# define __ASSUME_ACCEPT4_SYSCALL	1
++#endif
++
+ #include_next <kernel-features.h>
+ 
+ /* Support for pselect6, ppoll and epoll_pwait was added in 2.6.32.  */
+--- a/sysdeps/unix/sysv/linux/i386/accept4.S
++++ b/sysdeps/unix/sysv/linux/i386/accept4.S
+@@ -24,7 +24,7 @@
+ #define EINVAL	22
+ #define ENOSYS	38
+ 
+-#ifdef __ASSUME_ACCEPT4
++#ifdef __ASSUME_ACCEPT4_SOCKETCALL
+ # define errlabel SYSCALL_ERROR_LABEL
+ #else
+ # define errlabel .Lerr
+@@ -116,7 +116,7 @@
+ 	ret
+ #endif
+ 
+-#ifndef __ASSUME_ACCEPT4
++#ifndef __ASSUME_ACCEPT4_SOCKETCALL
+ 	/* The kernel returns -EINVAL for unknown socket operations.
+ 	   We need to convert that error to an ENOSYS error.  */
+ .Lerr:	cmpl $-EINVAL, %eax
+--- a/sysdeps/unix/sysv/linux/internal_accept4.S
++++ b/sysdeps/unix/sysv/linux/internal_accept4.S
+@@ -1,8 +1,18 @@
+ #include <kernel-features.h>
+ #include <sys/syscall.h>
++
++/* Do not use the accept4 syscall on socketcall architectures unless
++   it was added at the same time as the socketcall support or can be
++   assumed to be present.  */
++#if defined __ASSUME_SOCKETCALL \
++    && !defined __ASSUME_ACCEPT4_SYSCALL_WITH_SOCKETCALL \
++    && !defined __ASSUME_ACCEPT4_SYSCALL
++# undef __NR_accept4
++#endif
++
+ #if !defined __NR_accept4 && defined __NR_socketcall
+ # define socket	accept4
+-# ifdef __ASSUME_ACCEPT4
++# ifdef __ASSUME_ACCEPT4_SOCKETCALL
+ #  define __socket accept4
+ # else
+ #  define __socket __internal_accept4
+--- a/sysdeps/unix/sysv/linux/kernel-features.h
++++ b/sysdeps/unix/sysv/linux/kernel-features.h
+@@ -85,6 +85,18 @@
+ # define __ASSUME_SENDFILE		1
+ #endif
+ 
++/* Some architectures use the socketcall multiplexer for some or all
++   socket-related operations, via a socket.S file in glibc, instead of
++   separate syscalls.  __ASSUME_SOCKETCALL is defined for such
++   architectures.  */
++#if defined __i386__ \
++    || defined __powerpc__ \
++    || defined __s390__ \
++    || defined __sh__ \
++    || defined __sparc__
++# define __ASSUME_SOCKETCALL		1
++#endif
++
+ /* Only very old kernels had no real symlinks for terminal descriptors
+    in /proc/self/fd.  */
+ #if __LINUX_KERNEL_VERSION >= 131584
+@@ -498,10 +510,36 @@
+ # define __ASSUME_SIGNALFD4	1
+ #endif
+ 
+-/* Support for the accept4 syscall was added in 2.6.28.  */
+-#if __LINUX_KERNEL_VERSION >= 0x02061c \
+-    && (defined __i386__ || defined __x86_64__ || defined __powerpc__ \
+-	|| defined __sparc__ || defined __s390__)
++/* Support for accept4 functionality was added in 2.6.28, but for some
++   architectures using a separate syscall rather than socketcall that
++   syscall was only added later, and some architectures first had
++   socketcall support then a separate syscall.  Define
++   __ASSUME_ACCEPT4_SOCKETCALL if glibc uses socketcall on this
++   architecture and accept4 is available through socketcall,
++   __ASSUME_ACCEPT4_SYSCALL if it is available through a separate
++   syscall, __ASSUME_ACCEPT4_SYSCALL_WITH_SOCKETCALL if it became
++   available through a separate syscall at the same time as through
++   socketcall, and __ASSUME_ACCEPT4 if the accept4 function is known
++   to work.  */
++#if __LINUX_KERNEL_VERSION >= 0x02061c && defined __ASSUME_SOCKETCALL
++# define __ASSUME_ACCEPT4_SOCKETCALL	1
++#endif
++
++/* The accept4 syscall was added for x86_64 and SPARC in 2.6.28,
++   for PowerPC and SH in 2.6.37, and for IA64 in 3.3.  */
++#if (__LINUX_KERNEL_VERSION >= 0x02061c			\
++     && (defined __x86_64__ || defined __sparc__))	\
++    || (__LINUX_KERNEL_VERSION >= 0x020625		\
++	&& (defined __powerpc__ || defined __sh__))	\
++    || (__LINUX_KERNEL_VERSION >= 0x030300		\
++	&& (defined __ia64))
++# define __ASSUME_ACCEPT4_SYSCALL	1
++#endif
++#ifdef __sparc__
++# define __ASSUME_ACCEPT4_SYSCALL_WITH_SOCKETCALL	1
++#endif
++
++#if defined __ASSUME_ACCEPT4_SOCKETCALL || defined __ASSUME_ACCEPT4_SYSCALL
+ # define __ASSUME_ACCEPT4	1
+ #endif
+ 
+@@ -526,8 +564,26 @@
+ # define __ASSUME_F_GETOWN_EX	1
+ #endif
+ 
+-/* Support for the recvmmsg syscall was added in 2.6.33.  */
+-#if __LINUX_KERNEL_VERSION >= 0x020621
++/* Support for recvmmsg functionality was added in 2.6.33.  The macros
++   defined correspond to those for accept4.  */
++#if __LINUX_KERNEL_VERSION >= 0x020621 && defined __ASSUME_SOCKETCALL
++# define __ASSUME_RECVMMSG_SOCKETCALL	1
++#endif
++
++/* The recvmmsg syscall was added for i386, x86_64n SPARC and IA64 in
++   2.6.33, and for PowerPC and SH in 2.6.37.  */
++#if (__LINUX_KERNEL_VERSION >= 0x020621			\
++     && (defined __i386__ || defined __x86_64__ || defined __sparc__	 \
++	 || defined __ia64__))	 \
++    || (__LINUX_KERNEL_VERSION >= 0x020625		\
++	&& (defined __powerpc__ || defined __sh__))
++# define __ASSUME_RECVMMSG_SYSCALL	1
++#endif
++#if defined __i386__ || defined __sparc__
++# define __ASSUME_RECVMMSG_SYSCALL_WITH_SOCKETCALL	1
++#endif
++
++#if defined __ASSUME_RECVMMSG_SOCKETCALL || defined __ASSUME_RECVMMSG_SYSCALL
+ # define __ASSUME_RECVMMSG	1
+ #endif
+ 
+--- a/ports/sysdeps/unix/sysv/linux/m68k/kernel-features.h
++++ b/ports/sysdeps/unix/sysv/linux/m68k/kernel-features.h
+@@ -27,6 +27,9 @@
+ # define __ASSUME_VFORK_SYSCALL		1
+ #endif
+ 
++/* m68k uses socketcall.  */
++#define __ASSUME_SOCKETCALL	1
++
+ /* Many syscalls were added in 2.6.10 for m68k.  */
+ #if __LINUX_KERNEL_VERSION >= 132618
+ # define __ASSUME_TGKILL	1
+--- a/ports/sysdeps/unix/sysv/linux/mips/kernel-features.h
++++ b/ports/sysdeps/unix/sysv/linux/mips/kernel-features.h
+@@ -37,6 +37,16 @@
+ # define __ASSUME_SIGNALFD4	1
+ #endif
+ 
++/* Support for the accept4 syscall was added in 2.6.31.  */
++#if __LINUX_KERNEL_VERSION >= 0x02061f
++# define __ASSUME_ACCEPT4_SYSCALL	1
++#endif
++
++/* Support for the recvmmsg syscall was added in 2.6.33.  */
++#if __LINUX_KERNEL_VERSION >= 0x020621
++# define __ASSUME_RECVMMSG_SYSCALL	1
++#endif
++
+ #include_next <kernel-features.h>
+ 
+ /* The n32 syscall ABI did not have a getdents64 syscall until
+--- a/sysdeps/unix/sysv/linux/internal_recvmmsg.S
++++ b/sysdeps/unix/sysv/linux/internal_recvmmsg.S
+@@ -1,8 +1,18 @@
+ #include <kernel-features.h>
+ #include <sys/syscall.h>
++
++/* Do not use the recvmmsg syscall on socketcall architectures unless
++   it was added at the same time as the socketcall support or can be
++   assumed to be present.  */
++#if defined __ASSUME_SOCKETCALL \
++    && !defined __ASSUME_RECVMMSG_SYSCALL_WITH_SOCKETCALL \
++    && !defined __ASSUME_RECVMMSG_SYSCALL
++# undef __NR_recvmmsg
++#endif
++
+ #if !defined __NR_recvmmsg && defined __NR_socketcall
+ # define socket	recvmmsg
+-# ifdef __ASSUME_RECVMMSG
++# ifdef __ASSUME_RECVMMSG_SOCKETCALL
+ #  define __socket recvmmsg
+ # else
+ #  define __socket __internal_recvmmsg
+--- a/sysdeps/unix/sysv/linux/recvmmsg.c
++++ b/sysdeps/unix/sysv/linux/recvmmsg.c
+@@ -24,6 +24,14 @@
+ #include <sys/syscall.h>
+ #include <kernel-features.h>
+ 
++/* Do not use the recvmmsg syscall on socketcall architectures unless
++   it was added at the same time as the socketcall support or can be
++   assumed to be present.  */
++#if defined __ASSUME_SOCKETCALL \
++    && !defined __ASSUME_RECVMMSG_SYSCALL_WITH_SOCKETCALL \
++    && !defined __ASSUME_RECVMMSG_SYSCALL
++# undef __NR_recvmmsg
++#endif
+ 
+ #ifdef __NR_recvmmsg
+ int
+@@ -42,7 +50,7 @@
+   return result;
+ }
+ #elif defined __NR_socketcall
+-# ifndef __ASSUME_RECVMMSG
++# ifndef __ASSUME_RECVMMSG_SOCKETCALL
+ extern int __internal_recvmmsg (int fd, struct mmsghdr *vmessages,
+ 				unsigned int vlen, int flags,
+ 				const struct timespec *tmo)
+@@ -86,7 +94,8 @@
+   return -1;
+ }
+ # else
+-/* When __ASSUME_RECVMMSG recvmmsg is defined in internal_recvmmsg.S.  */
++/* When __ASSUME_RECVMMSG_SOCKETCALL recvmmsg is defined in
++   internal_recvmmsg.S.  */
+ # endif
+ #else
+ int
Index: debian/patches/any/local-ldconfig-ignore-ld.so.diff
===================================================================
--- debian/patches/any/local-ldconfig-ignore-ld.so.diff	(révision 0)
+++ debian/patches/any/local-ldconfig-ignore-ld.so.diff	(révision 6110)
@@ -0,0 +1,56 @@
+diff --git a/elf/ldconfig.c b/elf/ldconfig.c
+index 4211f4c..6425f8e 100644
+--- a/elf/ldconfig.c
++++ b/elf/ldconfig.c
+@@ -450,6 +450,23 @@ chroot_stat (const char *real_path, const char *path, struct stat64 *st)
+   return ret;
+ }
+ 
++static const char * const ld_sonames[] =
++{
++  "ld-kfreebsd-x86-64.so.1",
++  "ld-linux-aarch64.so.1",
++  "ld-linux-aarch64_be.so.1",
++  "ld-linux-armhf.so.3",
++  "ld-linux-ia64.so.2",
++  "ld-linux-mipsn8.so.1",
++  "ld-linux-x32.so.2",
++  "ld-linux-x86-64.so.2",
++  "ld-linux.so.2",
++  "ld-linux.so.3",
++  "ld.so.1",
++  "ld64.so.1",
++  "ld64.so.2",
++};
++
+ /* Create a symbolic link from soname to libname in directory path.  */
+ static void
+ create_links (const char *real_path, const char *path, const char *libname,
+@@ -460,6 +477,7 @@ create_links (const char *real_path, const char *path, const char *libname,
+   struct stat64 stat_lib, stat_so, lstat_so;
+   int do_link = 1;
+   int do_remove = 1;
++  int i;
+   /* XXX: The logics in this function should be simplified.  */
+ 
+   /* Get complete path.  */
+@@ -488,6 +506,18 @@ create_links (const char *real_path, const char *path, const char *libname,
+ 	  error (0, 0, _("Can't stat %s\n"), full_libname);
+ 	  return;
+ 	}
++
++      /* Do not change the symlink pointer to the dynamic linker except for
++	 non-existing symlinks, as it might break break multiarch systems.  */
++      for (i = 0; i < sizeof (ld_sonames) / sizeof (ld_sonames[0]); i++)
++	if (__glibc_unlikely(!strcmp(soname, ld_sonames[i])))
++	  {
++	    if (opt_verbose)
++	      error (0, 0, _("%s is the dynamic linker, ignoring\n"),
++			     full_libname);
++	    do_link = 0;
++	  }
++
+       if (stat_lib.st_dev == stat_so.st_dev
+ 	  && stat_lib.st_ino == stat_so.st_ino)
+ 	/* Link is already correct.  */
+
Index: debian/patches/localedata/cvs-de_AT-Februar.diff
===================================================================
--- debian/patches/localedata/cvs-de_AT-Februar.diff	(révision 0)
+++ debian/patches/localedata/cvs-de_AT-Februar.diff	(révision 6110)
@@ -0,0 +1,17 @@
+2012-10-19  Florian Pritz  <bluewind@xinu.at>
+
+	[BZ #13758]
+	* locales/de_AT (LC_TIME): Change month name from "FebruAr" to
+	"Februar".
+
+--- a/localedata/locales/de_AT
++++ b/localedata/locales/de_AT
+@@ -102,7 +102,7 @@
+         "<U0053><U0065><U0070>";"<U004F><U006B><U0074>";/
+         "<U004E><U006F><U0076>";"<U0044><U0065><U007A>"
+ mon     "<U004A><U00E4><U006E><U006E><U0065><U0072>";/
+-        "<U0046><U0065><U0062><U0072><U0075><U0041><U0072>";/
++        "<U0046><U0065><U0062><U0072><U0075><U0061><U0072>";/
+         "<U004D><U00E4><U0072><U007A>";/
+         "<U0041><U0070><U0072><U0069><U006C>";/
+         "<U004D><U0061><U0069>";/
Index: debian/patches/series
===================================================================
--- debian/patches/series	(révision 5872)
+++ debian/patches/series	(copie de travail)
@@ -52,6 +52,7 @@
 localedata/submitted-en_AU-date_fmt.diff
 localedata/cvs-rupeesign.diff
 localedata/submitted-es_MX-decimal_point.diff
+localedata/cvs-de_AT-Februar.diff
 
 alpha/local-gcc4.1.diff
 alpha/submitted-creat64.diff
@@ -245,6 +246,7 @@
 mips/submitted-dl-platform.diff
 mips/cvs-dlopen-lazy.diff
 mips/cvs-prlimit64.diff
+mips/cvs-backtrace.diff
 
 powerpc/local-libgcc_eh-ld.so.diff
 
@@ -383,3 +385,6 @@
 any/cvs-CVE-2013-4458.diff
 any/cvs-CVE-2013-4788.diff
 any/cvs-findlocale-div-by-zero.diff
+any/local-ldconfig-ignore-ld.so.diff
+any/cvs-nl_langinfo-static.diff
+any/cvs-socketcall-syscall.diff
Index: debian/patches/mips/cvs-backtrace.diff
===================================================================
--- debian/patches/mips/cvs-backtrace.diff	(révision 0)
+++ debian/patches/mips/cvs-backtrace.diff	(révision 6110)
@@ -0,0 +1,20 @@
+2012-01-03  Tom de Vries  <tom@codesourcery.com>
+
+	* ports/sysdeps/mips/backtrace.c: New file, including ia64 backtrace.c.
+	* ports/sysdeps/mips/Makefile: Compile backtrace.c with -funwind-tables.
+
+--- a/ports/sysdeps/mips/Makefile
++++ b/ports/sysdeps/mips/Makefile
+@@ -11,4 +11,8 @@ ifeq ($(subdir),rt)
+ librt-sysdep_routines += rt-sysdep
+ endif
+ 
++ifeq ($(subdir),debug)
++CFLAGS-backtrace.c += -funwind-tables
++endif
++
+ ASFLAGS-.os += $(pic-ccflag)
+--- /dev/null
++++ b/ports/sysdeps/mips/backtrace.c
+@@ -0,0 +1 @@
++#include <sysdeps/ia64/backtrace.c>
Index: debian/debhelper.in/libc-alt.postrm
===================================================================
--- debian/debhelper.in/libc-alt.postrm	(révision 5872)
+++ debian/debhelper.in/libc-alt.postrm	(copie de travail)
@@ -2,11 +2,13 @@
 set -e
 
 if [ "$1" = remove ]; then
-    ARCH=${DPKG_MAINTSCRIPT_ARCH:-$(dpkg --print-architecture)}
-    if [ "${ARCH}" = "amd64" ] && [ "LIBC-FLAVOR" = "libc6-i386" ]; then
-	if [ -h /lib/ld-linux.so.2 ] && [ ! -f /lib/ld-linux.so.2 ]; then
-	    rm /lib/ld-linux.so.2
-	fi
+    # Native multiarch packages declare a Replaces: on the corresponding
+    # biarch package. Therefore if both a biarch package and the corresponding
+    # multiarch package are installed, then the multiarch package is removed,
+    # and then the biarch package is removed, the dynamic linker symlink
+    # becomes a dangling symlink. Remove it in that case.
+    if [ -h RTLD_SO ] && [ ! -f RTLD_SO ]; then
+        rm RTLD_SO
     fi
 fi
 
Index: debian/debhelper.in/libc.preinst
===================================================================
--- debian/debhelper.in/libc.preinst	(révision 5872)
+++ debian/debhelper.in/libc.preinst	(copie de travail)
@@ -262,8 +262,15 @@
 
     # Try to detect copies of the libc library in the various places
     # the dynamic linker uses.
-    ldfile=$(readlink -e RTLD_SO)
-    ldbytes=$(head -c 20 RTLD_SO | od -c)
+    ldfile=$(readlink -m RTLD_SO)
+    if test -f "$file"; then
+        ldbytes=$(head -c 20 RTLD_SO | od -c)
+    else
+        # If the symlink to the dynamic linker is dangling or missing, set
+        # ldbytes to an empty string, the test below will fail and all the
+        # libraries found will be ignored.
+        ldbytes=""
+    fi
     libcfiles=$(dpkg-query -L $(package_name) 2>/dev/null)
 
     dirs="SLIBDIR /lib /lib/tls /lib32 /lib64 /usr/local/lib /usr/local/lib32 /usr/local/lib64"
@@ -300,6 +307,26 @@
             exit 1
         fi
     fi
+
+    # ldconfig might have broken the ld.so symlink in case a biarch package
+    # of the same architecture than the native one has been installed (e.g.:
+    # libc6-amd64:i386 on amd64). Try to detect this by checking that the 
+    # ld.so symlink correctly points to ld-*.so in the slib directory, and 
+    # disabling ldconfig if it is not the case and the new version hasn't
+    # been unpacked yet. The symlink will be fixed when unpacking the new 
+    # libc version and ldconfig will be re-enabled when a new fixed version
+    # is unpacked.
+    if ! readlink -m RTLD_SO | grep -qE 'SLIBDIR/ld-[0-9.]+\.so' ; then
+        # The unpack order is not guaranteed, only disable ldconfig if 
+        # a "broken" version is installed.
+        libc_bin_version=$(dpkg-query -W -f='${Version}' libc-bin)
+        if dpkg --compare-versions "$libc_bin_version" lt "2.13-38+deb7u2"; then
+            echo "Warning: found a potentially broken dynamic loader symlink,"
+            echo "disabling ldconfig to avoid a possible system breakage. It"
+            echo "will be reenabled when a new version of libc-bin is unpacked." 
+            ln -sf /bin/true /sbin/ldconfig
+        fi
+    fi
 fi
 
 if [ "$type" != abort-upgrade ]
Index: debian/debhelper.in/libc.postrm
===================================================================
--- debian/debhelper.in/libc.postrm	(révision 5872)
+++ debian/debhelper.in/libc.postrm	(copie de travail)
@@ -9,13 +9,23 @@
 	    suidunregister -s LIBC /usr/libexec/pt_chown
 	fi
     fi
+    # When both the multiarch and the corresponding biarch packages are
+    # installed, removing the multiarch package will remove the dynamic
+    # linker. Recreate it in the postinst.
     ARCH=${DPKG_MAINTSCRIPT_ARCH:-$(dpkg --print-architecture)}
-    if [ "${ARCH}" = "i386" ]; then
-	if [ -f /lib32/ld-linux.so.2 ] && [ ! -f /lib/ld-linux.so.2 ]; then
-	    ln -sf /lib32/ld-linux.so.2 /lib/ld-linux.so.2
-	elif [ -h /lib/ld-linux.so.2 ] && [ ! -f /lib/ld-linux.so.2 ]; then
-	    rm /lib/ld-linux.so.2
-	fi
+    case "${ARCH}" in
+        kfreebsd-i386 | s390 | powerpc)
+            target="/lib32/ld.so.1"
+            ;;
+        i386 | sparc)
+            target="/lib32/ld-linux.so.2"
+            ;;
+        *)
+            target="$(dpkg-query -L LIBC-${ARCH} 2>/dev/null | grep -E '/lib.*/ld-[0-9.]+\.so$' || true)"
+            ;;
+    esac
+    if [ -f "$target" ] && ! [ -f RTLD_SO ] ; then
+        ln -sf ${target#$(dirname RTLD_SO)/} RTLD_SO
     fi
 fi
 
Index: debian/changelog
===================================================================
--- debian/changelog	(révision 5872)
+++ debian/changelog	(copie de travail)
@@ -1,3 +1,34 @@
+eglibc (2.13-38+deb7u2) wheezy; urgency=medium
+
+  [ Aurelien Jarno ]
+  * debian/patches/localedata/cvs-de_AT-Februar.diff: new patch from
+    upstream to fix February month name in de_AT locale.  Closes: #738544.
+  * debian/patches/mips/cvs-backtrace.diff: new patch from upstream to
+    fix backtrace() on mips.  Closes: #741354.
+  * any/local-ldconfig-ignore-ld.so.diff: new patch to ignore the dynamic
+    linker in ldconfig.  Closes: #699206, #707185, #727786, #736097,
+    #739734, #739758.
+  * debian/debhelper.in/libc.preinst: Disable ldconfig when a potentially
+    broken dynamic loader symlink is found and when a fixed version hasn't
+    already been unpacked. This happens when a biarch package of the same
+    architecture than the native one has been installed (e.g.: 
+    libc6-amd64:i386 on amd64) and ldconfig is run afterwards. Don't fail
+    if the dynamic loader symlink is dangling or missing.  Closes: #740158,
+    #740196.
+  * debian/debhelper.in/libc.postrm: generalize the dynamic linker
+    symlink creation to all biarch packages.
+  * debian/debhelper.in/libc-alt.postrm: generalize the dynamic linker
+    symlink removal to all biarch packages.
+  * patches/any/submitted-nl_langinfo-static.diff: new patch from upstream
+    to fix nl_langinfo() when used in static binaries.  Closes: #747103.
+  * debian/patches/any/cvs-CVE-2013-4458.diff: backport a new part from
+    upstream to fix a regression introduced in 2.13-38+deb7u1 in IPv6 name
+    resolution.  Closes: #738652.
+  * patches/any/cvs-socketcall-syscall.diff: new patch from upstream to fix
+    socketcall multiplex syscall features detection.  Closes: #730744.
+
+ -- Aurelien Jarno <aurel32@debian.org>  Sun, 25 May 2014 20:01:05 +0200
+
 eglibc (2.13-38+deb7u1) wheezy; urgency=low
 
   [ Aurelien Jarno ]

Reply to: