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

[glibc] 02/02: Merge tag 'debian/2.22-10' into glibc-2.23



This is an automated email from the git hooks/post-receive script.

aurel32 pushed a commit to branch glibc-2.23
in repository glibc.

commit 0dc2decb2cf8c165c83f97b16d9311ad89810a34
Merge: 6e2ca1d fc0621b
Author: Aurelien Jarno <aurelien@aurel32.net>
Date:   Tue May 31 23:57:24 2016 +0200

    Merge tag 'debian/2.22-10' into glibc-2.23
    
    tagging package glibc version debian/2.22-10

 debian/changelog                                   | 30 ++++++++-
 debian/control                                     | 18 +++++-
 debian/control.in/main                             |  2 +-
 debian/control.in/opt                              | 16 +++++
 debian/debhelper.in/libc.NEWS                      |  9 +++
 debian/patches/hppa/submitted-dladdr.diff          | 71 ++++++++++++++++++++++
 debian/patches/hppa/submitted-setcontext.diff      | 13 ++++
 .../patches/hurd-i386/cvs-check-local-headers.diff | 23 +++++++
 debian/patches/hurd-i386/cvs-i686-link.diff        | 27 ++++++++
 debian/patches/hurd-i386/local-ihash-use.diff      | 13 ----
 debian/patches/series                              |  3 +
 debian/sysdeps/hurd-i386.mk                        | 35 +++++++----
 debian/testsuite-xfail-debian.mk                   |  2 +
 13 files changed, 233 insertions(+), 29 deletions(-)

diff --cc debian/changelog
index 246a5fd,bb3c596..7cb1a27
--- a/debian/changelog
+++ b/debian/changelog
@@@ -1,156 -1,31 +1,184 @@@
 +glibc (2.23-0experimental3) UNRELEASED; urgency=medium
 +
 +  [ Aurelien Jarno ]
 +  * debian/patches/git-updates.diff: update from upstream stable branch:
 +    - debian/patches/hurd-i386/tg-hurdsig-fixes-2.diff: refresh.
 +    - debian/patches/hurd-i386/cvs-libpthread.so.diff: drop, upstreamed.
 +
 + -- Aurelien Jarno <aurel32@debian.org>  Thu, 14 Apr 2016 15:08:27 +0200
 +
 +glibc (2.23-0experimental2) experimental; urgency=medium
 +
 +  [ Aurelien Jarno ]
 +  * debian/patches/git-updates.diff: update from upstream stable branch.
 +  * patches/kfreebsd/local-fbtl.diff: update to revision 5973 (from
 +    glibc-bsd).
 +  * debian/rules, debian/rules.d/build.mk: rename localedir into complocaledir
 +    following upstream change.
 +  * debian/patches/local-allocalim-header.diff: drop, obsolete.
 +  * debian/patches/any/local-no-pagesize.diff: drop, obsolete.
 +
 +  [ Adam Conrad ]
 +  * debian/testsuite-xfail-debian.mk: Also allow tst-malloc-thread-fail to
 +    fail where we've already done so for test-xfail-tst-malloc-thread-exit.
 +
 + -- Aurelien Jarno <aurel32@debian.org>  Thu, 14 Apr 2016 14:20:30 +0200
 +
 +glibc (2.23-0experimental1) experimental; urgency=medium
 +
 +  [ Aurelien Jarno ]
 +  * debian/patches/git-updates.diff: update from upstream stable branch.
 +  * debian/testsuite-xfail-debian.mk (powerpc) really mark
 +    tst-malloc-thread-exit as xfail.
 +  * debian/testsuite-xfail-debian.mk (ppc64) mark tst-malloc-thread-exit
 +    test as xfail, it is a known issue and not a regression.
 +  * patches/kfreebsd/local-fbtl.diff: update to revision 5969 (from
 +    glibc-bsd).
 +  * debian/patches/kfreebsd/local-tst-malloc-fbtl.diff: drop, obsoleted by
 +    hurd-i386/cvs-libpthread.so.diff.
 +  * debian/patches/kfreebsd/local-tst-unique.diff: disable tst-unique* on
 +    GNU/kFreeBSD, as they are not supported by the FreeBSD ELF OSABI.
 +  * debian/patches/alpha/submitted-fts64.diff: new patch to fix the new fts64
 +    function on alpha.
 +
 +  [ Samuel Thibault ]
 +  * hurd-i386/cvs-libpthread.diff: More updates to glibc-2.23.
 +  * hurd-i386/cvs-openat.diff: Fix __openat prototype.
 +  * hurd-i386/cvs-gai_sigqueue.diff: Fix gai_sigqueue prototype.
 +  * hurd-i386/cvs-aio_sigqueue.diff: Fix aio_sigqueue prototype.
 +  * hurd-i386/cvs-libpthread.diff: Separate 2.23 changes to...
 +  * hurd-i386/cvs-libpthread-2.23.diff: ... separate patch.
 +  * hurd-i386/cvs-libpthread.so.diff: Fix building malloc tests.
 +  * testsuite-xfail-debian.mk: Skip test which just overflows memory.
 +  * hurd-i386/cvs-pt-kill.diff: Fix pthread_kill locking.
 +  * hurd-i386/cvs-open.diff: Fix __open in ld.so, thus fixing dlopen().
 +  * hurd-i386/cvs-c++-types.diff: Add expected c++-types.data.
 +  * hurd-i386/local-ihash-use.diff: Note that libpthread uses ihash.h.
 +  * testsuite-xfail-debian.mk: Add failing new tests. Disable the problematic
 +    test-lfs test.
 +  * hurd-i386/local-versions.diff: New patch to fix symbol version.
 +
 +  [ Adam Conrad ]
 +  * debian/patches/any/cvs-tst-malloc-thread-exit.diff: Backport fix from
 +    upstream to make tst-malloc-thread-exit use fewer system resources.
 +  * debian/debhelper.in/locales.config: Make default_environment_locale
 +    get preseeded correctly both with and without /etc/default/locale.
 +  * debian/control.in/i386: Remove list of Breaks that predate oldstable.
 +  * debian/control.in/*: Drop long obsolete file overlap Breaks/Replaces.
 +
 + -- Aurelien Jarno <aurel32@debian.org>  Thu, 24 Mar 2016 00:21:05 +0100
 +
 +glibc (2.23-0experimental0) experimental; urgency=medium
 +
 +  [ Aurelien Jarno ]
 +  * New upstream release: version 2.23, with git updates up to 2016-03-12:
 +    - Fix German translation of "Alarm clock".  Closes: #291293.
 +    - Fix strtol in Turkish locales.  Closes: #458611.
 +    - Add LFS support for fts functions.  Closes: #534521.
 +    - Fix build with GCC 6.  Closes: #811574.
 +    - Fix unbounded stack allocation in nan* functions (CVE-2014-9761).
 +      Closes: #813187.
 +    - debian/patches/localedata/locale-ku_TR.diff: rebased.
 +    - debian/patches/localedata/fix-lang.diff: upstreamed.
 +    - debian/patches/localedata/first_weekday.diff: rebased.
 +    - debian/patches/localedata/locale-nb_NO.diff: upstreamed.
 +    - debian/patches/localedata/cvs-bg_BG-t_fmt.diff: upstreamed.
 +    - debian/patches/alpha/local-string-functions.diff: rebased.
 +    - debian/patches/amd64/local-blacklist-for-Intel-TSX.diff: rebased.
 +    - debian/patches/arm/local-ioperm.diff: dropped.
 +    - debian/patches/hppa/cvs-allocatestack-stacktop.diff: upstreamed.
 +    - debian/patches/hppa/local-pthread_spin_unlock.diff: upstreamed.
 +    - debian/patches/hppa/submitted-mathdef.diff: upstreamed.
 +    - debian/patches/hppa/cvs-update-mman.h.diff: upstreamed.
-     - debian/patches/hppa/submitted-dladdr.diff: upstreamed.
++    - debian/patches/hppa/submitted-dladdr.diff: partially upstreamed, rebased.
 +    - debian/patches/hurd-i386/local-enable-ldconfig.diff: rebased.
 +    - debian/patches/hurd-i386/tg-tls.diff: rebased.
 +    - debian/patches/hurd-i386/tg-tls-threadvar.diff: rebased.
 +    - debian/patches/hurd-i386/tg-hurdsig-fixes.diff: rebased.
 +    - debian/patches/hurd-i386/tg-hurdsig-global-dispositions.diff: rebased.
 +    - debian/patches/hurd-i386/cvs-libpthread.diff: updated.
 +    - debian/patches/hurd-i386/unsubmitted-gnumach.defs.diff: rebased.
 +    - debian/patches/hurd-i386/submitted-fork_port_leak.diff: upstreamed.
 +    - debian/patches/hurd-i386/tg-libc_getspecific.diff: rebased.
 +    - debian/patches/hurd-i386/cvs-libpthread-libc-lockP.diff: upstreamed.
 +    - debian/patches/hurd-i386/tg-mmap32th_bit.diff: upstreamed.
 +    - debian/patches/hurd-i386/tg-sysheaders.diff: upstreamed.
 +    - debian/patches/hurd-i386/cvs-bootstrap.diff: upstreamed.
 +    - debian/patches/hurd-i386/cvs-cache-mach_host_self.diff: upstreamed.
 +    - debian/patches/hurd-i386/cvs-csu_crt0.diff: upstreamed.
 +    - debian/patches/hurd-i386/cvs-s_scalbn.diff: upstreamed.
 +    - debian/patches/hurd-i386/local-mach_print.diff: rebased.
 +    - debian/patches/hurd-i386/cvs-hidden.diff: rebased.
 +    - debian/patches/hurd-i386/cvs-O_DIRECTORY.diff: upstreamed.
 +    - debian/patches/hurd-i386/cvs-raise-longjump.diff: upstreamed.
 +    - debian/patches/i386/local-i386-ulps.diff: dropped.
 +    - debian/patches/kfreebsd/local-scripts.diff: rebased.
 +    - debian/patches/m68k/submitted-gcc34-seccomment.diff: rebased.
 +    - debian/patches/mips/cvs-testsuite-o32-fp.diff: upstreamed.
 +    - debian/patches/powerpc/local-powerpc8xx-dcbz.diff: rebased.
 +    - debian/patches/sh4/local-fpscr_values.diff: rebased.
 +    - debian/patches/any/local-bindresvport_blacklist.diff: rebased.
 +    - debian/patches/any/local-libgcc-compat-main.diff: rebased.
 +    - debian/patches/any/local-libgcc-compat-abilists.diff: rebased.
 +    - debian/patches/any/local-mktemp.diff: upstreamed.
 +    - debian/patches/any/cvs-stdio-lock.diff: upstreamed.
 +    - debian/patches/any/local-tcsetaddr.diff: rebased.
 +    - debian/patches/any/local-tst-mktime2.diff: rebased.
 +    - debian/patches/any/submitted-nis-netgrp.diff: upstreamed.
 +    - debian/patches/any/submitted-longdouble.diff: rebased.
 +    - debian/patches/any/local-dynamic-resolvconf.diff: rebased.
 +    - debian/patches/any/local-static-dlopen-search-path.diff: upstreamed.
 +    - debian/patches/any/local-math-logb.diff: upstreamed.
 +    - debian/patches/any/cvs-gawk-gensub.diff: upstreamed.
 +    - debian/patches/any/cvs-grantpt-namespace.diff: upstreamed.
 +    - debian/patches/any/cvs-grantpt-pty-owner.diff: upstreamed.
 +    - debian/patches/any/cvs-bits-libc-stdio-lock.diff: upstreamed.
 +    - debian/patches/any/submitted-hle-checking-mutex.diff: upstreamed.
 +    - debian/{control,symbols.wildcards,copyright}: Updated strings for 2.23.
 +    - debian/patches/kfreebsd/local-undef-glibc.diff: rebased.
 +    - debian/patches/kfreebsd/local-tst-malloc-backtrace.diff: rebased,
 +      renamed into local-tst-malloc-fbtl.diff.
 +    - debian/patches/hurd-i386/submitted-net.diff: rebased.
 +    - debian/patches/hurd-i386/tg-bits_atomic.h_multiple_threads.diff:
 +      rebased.
 +    - debian/patches/hurd-i386/submitted-handle-eprototype.diff: dropped.
 +  * debian/testsuite-xfail-debian.mk (powerpc) mark tst-malloc-thread-fail
 +    test as xfail, it is a known issue and not a regression.
 +  * debian/testsuite-xfail-debian.mk (mipsel): mark a few math tests are
 +    failing, due to a bug in the Loongson 3 FPU.
 +  * patches/kfreebsd/local-fbtl.diff: update to revision 5940 (from
 +    glibc-bsd).
 +
 + -- Aurelien Jarno <aurel32@debian.org>  Sun, 13 Mar 2016 19:22:45 +0100
 +
+ glibc (2.22-10) unstable; urgency=medium
+ 
+   [ Aurelien Jarno ]
+   * Update from upstream stable branch:
+     - Fix a stack overflow in Sun RPC clntudp_call() (CVE-2016-4429).
+   * debian/control.in/main: build-depends on dpkg (>= 1.18.7) instead of
+     dpkg-dev (>= 1.18.7) as the cputable file is in dpkg, not dpkg-dev.
+     Closes: #824127.
+   * debian/debhelper.in/libc.NEWS: add an entry about the dropped libc6-i686,
+     libc0.1-i686 and libc0.3-i686 packages.  Closes: #825421.
+ 
+   [ Samuel Thibault ]
+   * patches/hurd-i386/cvs-i686-link.diff: Fix link of i686 build.
+   * sysdeps/hurd-i386.mk: Disable ifunc, not working yet.
+   * sysdeps/hurd-i386.mk: Fix and re-enable xen build.
+   * control: Re-introduce libc0.3-xen package.
+   * patches/hurd-i386/cvs-check-local-headers.diff: Update exclusion list.
+ 
+   [ John David Anglin ]
+   * debian/patches/hppa/submitted-setcontext.diff: new patch to fix setcontext
+     return code on hppa.  Closes: #824344.
+   * debian/patches/hppa/submitted-dladdr.diff: update patch to fix
+     debug/backtrace-tst test failure.  Closes: #824362.
+   * debian/testsuite-xfail-debian.mk: update expected testsuite results.
+     Closes: #824363.
+ 
+  -- Aurelien Jarno <aurel32@debian.org>  Tue, 31 May 2016 23:48:20 +0200
+ 
  glibc (2.22-9) unstable; urgency=medium
  
    [ Samuel Thibault ]
diff --cc debian/patches/hppa/submitted-dladdr.diff
index 0000000,c637b5b..5dc670f
mode 000000,100644..100644
--- a/debian/patches/hppa/submitted-dladdr.diff
+++ b/debian/patches/hppa/submitted-dladdr.diff
@@@ -1,0 -1,117 +1,71 @@@
 -2016-01-02  John David Anglin  <danglin@gcc.gnu.org>
++2016-05-14  John David Anglin  <danglin@gcc.gnu.org>
+ 
 -	[BZ #19415]
 -	* sysdeps/hppa/dl-fptr.c (_dl_fixup): Declare.
 -	(elf_machine_resolve): New.  Return address of _dl_runtime_resolve.
 -	(_dl_lookup_address): Rewrite using function resolver trampoline.
 -	* sysdeps/hppa/dl-lookupcfg.h (DL_LOOKUP_ADDRESS): Don't clear bottom
 -	two bits in address.
 -
 -Index: glibc-2.22/sysdeps/hppa/dl-fptr.c
 -===================================================================
 ---- glibc-2.22.orig/sysdeps/hppa/dl-fptr.c
 -+++ glibc-2.22/sysdeps/hppa/dl-fptr.c
 -@@ -321,23 +321,76 @@ _dl_unmap (struct link_map *map)
 -   map->l_mach.fptr_table = NULL;
++	[BZ 20098]
++	* sysdeps/hppa/dl-fptr.c (_dl_read_access_allowed): New.
++	(_dl_lookup_address): Return address if it is not consistent with
++	being a linker defined function pointer.  Likewise, return address
++	if address and function descriptor addresses are not accessible.
++	
++diff --git a/sysdeps/hppa/dl-fptr.c b/sysdeps/hppa/dl-fptr.c
++index 083242b..af0c5a1 100644
++--- a/sysdeps/hppa/dl-fptr.c
+++++ b/sysdeps/hppa/dl-fptr.c
++@@ -331,22 +331,45 @@ elf_machine_resolve (void)
++   return addr;
+  }
+  
 -+extern ElfW(Addr) _dl_fixup (struct link_map *, ElfW(Word)) attribute_hidden;
 -+
 -+static inline Elf32_Addr
 -+elf_machine_resolve (void)
 -+{
 -+  Elf32_Addr addr;
 -+
 -+  asm ("b,l     1f,%0\n"
 -+"	depi	0,31,2,%0\n"
 -+"1:	addil	L'_dl_runtime_resolve - ($PIC_pcrel$0 - 8),%0\n"
 -+"	ldo	R'_dl_runtime_resolve - ($PIC_pcrel$0 - 12)(%%r1),%0\n"
 -+       : "=r" (addr) : : "r1");
 -+
 -+  return addr;
 -+}
 -+
+ +static inline int
+ +_dl_read_access_allowed (unsigned int *addr)
+ +{
+ +  int result;
+ +
 -+  asm ("proberi        (%1),3,%0" : "=r" (result) : "r" (addr) : );
+++  asm ("proberi	(%1),3,%0" : "=r" (result) : "r" (addr) : );
+ +
+ +  return result;
+ +}
 - 
+++
+  ElfW(Addr)
+  _dl_lookup_address (const void *address)
+  {
+    ElfW(Addr) addr = (ElfW(Addr)) address;
 --  struct fdesc_table *t;
 --  unsigned long int i;
 -+  unsigned int *desc, *gptr;
++   unsigned int *desc, *gptr;
+  
 --  for (t = local.root; t != NULL; t = t->next)
 --    {
 --      i = (struct fdesc *) addr - &t->fdesc[0];
 --      if (i < t->first_unused && addr == (ElfW(Addr)) &t->fdesc[i])
 --	{
 --	  addr = t->fdesc[i].ip;
 --	  break;
 --	}
 --    }
++-  /* Check for special cases.  */
++-  if ((int) addr == -1
++-      || (unsigned int) addr < 4096
++-      || !((unsigned int) addr & 2))
+ +  /* Return ADDR if the least-significant two bits of ADDR are not consistent
+ +     with ADDR being a linker defined function pointer.  The normal value for
+ +     a code address in a backtrace is 3.  */
+ +  if (((unsigned int) addr & 3) != 2)
+ +    return addr;
 - 
 --  return addr;
+++
+ +  /* Handle special case where ADDR points to page 0.  */
+ +  if ((unsigned int) addr < 4096)
 -+    return addr;
 -+
 -+  /* Clear least-significant two bits from descriptor address.  */
 -+  desc = (unsigned int *) ((unsigned int) addr & ~3);
++     return addr;
++ 
++   /* Clear least-significant two bits from descriptor address.  */
++   desc = (unsigned int *) ((unsigned int) addr & ~3);
+ +  if (!_dl_read_access_allowed (desc))
+ +    return addr;
+ +
+ +  /* Load first word of candidate descriptor.  It should be a pointer
+ +     with word alignment and point to memory that can be read.  */
+ +  gptr = (unsigned int *) desc[0];
+ +  if (((unsigned int) gptr & 3) != 0
+ +      || !_dl_read_access_allowed (gptr))
+ +    return addr;
 -+
 -+  /* See if descriptor requires resolution.  The following trampoline is
 -+     used in each global offset table for function resolution:
 -+
 -+		ldw 0(r20),r22
 -+		bv r0(r22)
 -+		ldw 4(r20),r21
 -+     tramp:	b,l .-12,r20
 -+		depwi 0,31,2,r20
 -+		.word _dl_runtime_resolve
 -+		.word "_dl_runtime_resolve ltp"
 -+     got:	.word _DYNAMIC
 -+		.word "struct link map address" */
 -+  if (gptr[0] == 0xea9f1fdd			/* b,l .-12,r20     */
 -+      && gptr[1] == 0xd6801c1e			/* depwi 0,31,2,r20 */
 -+      && (ElfW(Addr)) gptr[2] == elf_machine_resolve ())
 -+    _dl_fixup ((struct link_map *) gptr[5], (ElfW(Word)) desc[1]);
 -+
 -+  return (ElfW(Addr)) desc[0];
 - }
 -Index: glibc-2.22/sysdeps/hppa/dl-lookupcfg.h
 -===================================================================
 ---- glibc-2.22.orig/sysdeps/hppa/dl-lookupcfg.h
 -+++ glibc-2.22/sysdeps/hppa/dl-lookupcfg.h
 -@@ -31,9 +31,7 @@ rtld_hidden_proto (_dl_symbol_address)
 - 
 - Elf32_Addr _dl_lookup_address (const void *address);
+  
 --/* Clear the bottom two bits so generic code can find the fdesc entry */
 --#define DL_LOOKUP_ADDRESS(addr) \
 --  (_dl_lookup_address ((void *)((unsigned long)addr & ~3)))
 -+#define DL_LOOKUP_ADDRESS(addr) _dl_lookup_address ((const void *) addr)
 - 
 - void attribute_hidden _dl_unmap (struct link_map *map);
++-  /* Check if descriptor requires resolution.  The following trampoline is
+++  /* See if descriptor requires resolution.  The following trampoline is
++      used in each global offset table for function resolution:
+  
++ 		ldw 0(r20),r22
++@@ -358,7 +381,6 @@ _dl_lookup_address (const void *address)
++ 		.word "_dl_runtime_resolve ltp"
++      got:	.word _DYNAMIC
++ 		.word "struct link map address" */
++-  gptr = (unsigned int *) desc[0];
++   if (gptr[0] == 0xea9f1fdd			/* b,l .-12,r20     */
++       && gptr[1] == 0xd6801c1e			/* depwi 0,31,2,r20 */
++       && (ElfW(Addr)) gptr[2] == elf_machine_resolve ())
diff --cc debian/patches/series
index 07eda68,6d657f6..af54999
--- a/debian/patches/series
+++ b/debian/patches/series
@@@ -55,8 -59,13 +55,9 @@@ hppa/local-inlining.dif
  hppa/local-stack-grows-up.diff
  hppa/local-elf-make-cflags.diff
  hppa/local-shmlba.diff
 -hppa/local-pthread_spin_unlock.diff
  hppa/local-fptr-table-size.diff
  hppa/submitted-gmon-start.diff
 -hppa/submitted-mathdef.diff
 -hppa/cvs-update-mman.h.diff
+ hppa/submitted-dladdr.diff
 -hppa/submitted-setcontext.diff
  
  hurd-i386/local-enable-ldconfig.diff
  hurd-i386/tg-context_functions.diff

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-glibc/glibc.git


Reply to: