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

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

commit 7820b3798ab1fa8558976251dadf555bd56bb259
Author: Aurelien Jarno <aurel...@aurel32.net>
Date:   Wed Nov 22 00:23:13 2017 +0100

    debian/patches/git-updates.diff: update from upstream stable branch.
---
 debian/changelog                |   1 +
 debian/patches/git-updates.diff | 630 +++++++++++++++++++++++++++++++++++++++-
 2 files changed, 627 insertions(+), 4 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 4f82917..63e5b3e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -7,6 +7,7 @@ glibc (2.26-0experimental1) UNRELEASED; urgency=medium
   * Bump build-dependency on binutils to >= 2.25, as required by glibc 2.26.
   * debian/testsuite-xfail-debian.mk: re-add double-lround XFAILs for
     mips64el.
+  * debian/patches/git-updates.diff: update from upstream stable branch.
 
  -- Aurelien Jarno <aure...@debian.org>  Sun, 19 Nov 2017 13:44:52 +0100
 
diff --git a/debian/patches/git-updates.diff b/debian/patches/git-updates.diff
index 7e072fe..c79e921 100644
--- a/debian/patches/git-updates.diff
+++ b/debian/patches/git-updates.diff
@@ -1,10 +1,53 @@
 GIT update of git://sourceware.org/git/glibc.git/release/2.26/master from 
glibc-2.26
 
 diff --git a/ChangeLog b/ChangeLog
-index 8dbfc7eaff..d67ad031bc 100644
+index 8dbfc7eaff..0dcbe3bc69 100644
 --- a/ChangeLog
 +++ b/ChangeLog
-@@ -1,3 +1,847 @@
+@@ -1,3 +1,890 @@
++2017-08-09  Andreas Schwab  <sch...@suse.de>
++
++      * nptl/Makefile (tests) [$(build-shared) = yes]: Add
++      tst-compat-forwarder.
++      (modules-names): Add tst-compat-forwarder-mod.
++      ($(objpfx)tst-compat-forwarder): Depend on
++      $(objpfx)tst-compat-forwarder-mod.so.
++      * nptl/tst-compat-forwarder.c: New file.
++      * nptl/tst-compat-forwarder-mod.c: New file.
++
++2017-08-09  Andreas Schwab  <sch...@suse.de>
++
++      * sysdeps/unix/sysv/linux/s390/pt-longjmp.c: Update reference to
++      renamed alias.
++
++2017-08-08  Andreas Schwab  <sch...@suse.de>
++
++      [BZ #21041]
++      * nptl/pt-longjmp.c (longjmp, siglongjmp): Don't use IFUNC resolver.
++      * nptl/pt-system.c (system): Likewise.
++
++2017-11-21  Rajalakshmi Srinivasaraghavan  <r...@linux.vnet.ibm.com>
++
++      * sysdeps/powerpc/powerpc64/power7/memcpy.S: Replace
++      lxvd2x/stxvd2x with lvx/stvx.
++      * sysdeps/powerpc/powerpc64/power7/memmove.S: Likewise.
++
++2017-10-04  Florian Weimer  <fwei...@redhat.com>
++
++      * scripts/check-local-headers.sh: Ignore nspr4 header file
++      directory in addition to nspr.
++
++2017-10-04  Guido Trentalancia  <gu...@trentalancia.net>
++
++      [BZ #17956]
++      * configure.ac (--enable-nss-crypt): Use NSPR include directory.
++      * configure: Regenerate.
++      * crypt/Makefile (nss-cpp-flags): New variable.
++      (CPPFLAGS-sha256-crypt.c, CPPFLAGS-sha512-crypt.c)
++      (CPPFLAGS-md5-crypt.c): Use it.
++      * scripts/check-local-headers.sh: Ignore nspr header file
++      directory.
++
 +2017-10-18  Wilco Dijkstra  <wdijk...@arm.com>
 +
 +      * malloc/malloc.c (malloc_state): Use int for have_fastchunks since
@@ -876,10 +919,10 @@ index 9bb707c168..828a445f24 100644
  # Don't try to use -lc when making libc.so itself.
  # Also omits crti.o and crtn.o, which we do not want
 diff --git a/NEWS b/NEWS
-index 8295f20c0a..ea1c1f1c04 100644
+index 8295f20c0a..e7b62a8d46 100644
 --- a/NEWS
 +++ b/NEWS
-@@ -5,6 +5,54 @@ See the end for copying conditions.
+@@ -5,6 +5,55 @@ See the end for copying conditions.
  Please send GNU C library bug reports via <http://sourceware.org/bugzilla/>
  using `glibc' in the "product" field.
  
@@ -901,6 +944,7 @@ index 8295f20c0a..ea1c1f1c04 100644
 +The following bugs are resolved with this release:
 +
 +  [16750] ldd: Never run file directly.
++  [17956] crypt: Use NSPR header files in addition to NSS header files
 +  [21242] assert: Suppress pedantic warning caused by statement expression
 +  [21265] x86-64: Use fxsave/xsave/xsavec in _dl_runtime_resolve
 +  [21780] posix: Set p{read,write}v2 to return ENOTSUP
@@ -1110,6 +1154,61 @@ index 0000000000..8c06402825
 +   <http://www.gnu.org/licenses/>.  */
 +
 +#include <tst-assert-c++.cc>
+diff --git a/configure b/configure
+index d8e1c50e11..47d8c75248 100755
+--- a/configure
++++ b/configure
+@@ -3547,8 +3547,12 @@ if test x$nss_crypt = xyes; then
+   if test $? -ne 0; then
+     as_fn_error $? "cannot find include directory with nss-config" "$LINENO" 5
+   fi
++  nspr_includes=-I$(nspr-config --includedir 2>/dev/null)
++  if test $? -ne 0; then
++    as_fn_error $? "cannot find include directory with nspr-config" "$LINENO" 
5
++  fi
+   old_CFLAGS="$CFLAGS"
+-  CFLAGS="$CFLAGS $nss_includes"
++  CFLAGS="$CFLAGS $nss_includes $nspr_includes"
+ 
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h.  */
+diff --git a/configure.ac b/configure.ac
+index 77456aa8d9..e8a1ab3562 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -330,8 +330,12 @@ if test x$nss_crypt = xyes; then
+   if test $? -ne 0; then
+     AC_MSG_ERROR([cannot find include directory with nss-config])
+   fi
++  nspr_includes=-I$(nspr-config --includedir 2>/dev/null)
++  if test $? -ne 0; then
++    AC_MSG_ERROR([cannot find include directory with nspr-config])
++  fi
+   old_CFLAGS="$CFLAGS"
+-  CFLAGS="$CFLAGS $nss_includes"
++  CFLAGS="$CFLAGS $nss_includes $nspr_includes"
+   AC_COMPILE_IFELSE([AC_LANG_PROGRAM([typedef int PRBool;
+ #include <hasht.h>
+ #include <nsslowhash.h>
+diff --git a/crypt/Makefile b/crypt/Makefile
+index 0280fba8a7..8bbbf2a121 100644
+--- a/crypt/Makefile
++++ b/crypt/Makefile
+@@ -37,9 +37,11 @@ routines += $(libcrypt-routines)
+ endif
+ 
+ ifeq ($(nss-crypt),yes)
+-CPPFLAGS-sha256-crypt.c = -DUSE_NSS -I$(shell nss-config --includedir)
+-CPPFLAGS-sha512-crypt.c = -DUSE_NSS -I$(shell nss-config --includedir)
+-CPPFLAGS-md5-crypt.c = -DUSE_NSS -I$(shell nss-config --includedir)
++nss-cpp-flags := -DUSE_NSS \
++  -I$(shell nss-config --includedir) -I$(shell nspr-config --includedir)
++CPPFLAGS-sha256-crypt.c = $(nss-cpp-flags)
++CPPFLAGS-sha512-crypt.c = $(nss-cpp-flags)
++CPPFLAGS-md5-crypt.c = $(nss-cpp-flags)
+ LDLIBS-crypt.so = -lfreebl3
+ else
+ libcrypt-routines += md5 sha256 sha512
 diff --git a/elf/dl-tunables.c b/elf/dl-tunables.c
 index 231fb8ca93..d9975ef2d0 100644
 --- a/elf/dl-tunables.c
@@ -2160,6 +2259,37 @@ index 06523bfe9c..0c808216a4 100644
  # define __HAVE_GENERIC_SELECTION 1
  #else
  # define __HAVE_GENERIC_SELECTION 0
+diff --git a/nptl/Makefile b/nptl/Makefile
+index 5cb1bb2c3d..9ca6d01b8c 100644
+--- a/nptl/Makefile
++++ b/nptl/Makefile
+@@ -367,7 +367,7 @@ tests += tst-cancelx2 tst-cancelx3 tst-cancelx4 
tst-cancelx5 \
+        tst-cleanupx0 tst-cleanupx1 tst-cleanupx2 tst-cleanupx3 tst-cleanupx4 \
+        tst-oncex3 tst-oncex4
+ ifeq ($(build-shared),yes)
+-tests += tst-atfork2 tst-tls4 tst-_res1 tst-fini1
++tests += tst-atfork2 tst-tls4 tst-_res1 tst-fini1 tst-compat-forwarder
+ tests-internal += tst-tls3 tst-tls3-malloc tst-tls5 tst-stackguard1
+ tests-nolibpthread += tst-fini1
+ ifeq ($(have-z-execstack),yes)
+@@ -379,7 +379,7 @@ modules-names = tst-atfork2mod tst-tls3mod tst-tls4moda 
tst-tls4modb \
+               tst-tls5mod tst-tls5moda tst-tls5modb tst-tls5modc \
+               tst-tls5modd tst-tls5mode tst-tls5modf tst-stack4mod \
+               tst-_res1mod1 tst-_res1mod2 tst-execstack-mod tst-fini1mod \
+-              tst-join7mod
++              tst-join7mod tst-compat-forwarder-mod
+ extra-test-objs += $(addsuffix .os,$(strip $(modules-names))) \
+                  tst-cleanup4aux.o tst-cleanupx4aux.o
+ test-extras += tst-cleanup4aux tst-cleanupx4aux
+@@ -718,6 +718,8 @@ $(objpfx)tst-oddstacklimit.out: $(objpfx)tst-oddstacklimit 
$(objpfx)tst-basic1
+       $(evaluate-test)
+ endif
+ 
++$(objpfx)tst-compat-forwarder: $(objpfx)tst-compat-forwarder-mod.so
++
+ # The tests here better do not run in parallel
+ ifneq ($(filter %tests,$(MAKECMDGOALS)),)
+ .NOTPARALLEL:
 diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c
 index ce2e24af95..dff5d3469e 100644
 --- a/nptl/allocatestack.c
@@ -2199,6 +2329,99 @@ index 29216077a2..869e926f17 100644
      pd->robust_prev = &pd->robust_head;
  #endif
      pd->robust_head.list = &pd->robust_head;
+diff --git a/nptl/pt-longjmp.c b/nptl/pt-longjmp.c
+index 2ef757e687..8f3c6b3a09 100644
+--- a/nptl/pt-longjmp.c
++++ b/nptl/pt-longjmp.c
+@@ -25,21 +25,14 @@
+    symbol in libpthread, but the historical ABI requires it.  For static
+    linking, there is no need to provide anything here--the libc version
+    will be linked in.  For shared library ABI compatibility, there must be
+-   longjmp and siglongjmp symbols in libpthread.so; so we define them using
+-   IFUNC to redirect to the libc function.  */
++   longjmp and siglongjmp symbols in libpthread.so.
+ 
+-#if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_22)
+-
+-# if HAVE_IFUNC
+-
+-#  undef INIT_ARCH
+-#  define INIT_ARCH()
+-#  define DEFINE_LONGJMP(name) libc_ifunc (name, &__libc_longjmp)
+-
+-extern __typeof(longjmp) longjmp_ifunc;
+-extern __typeof(siglongjmp) siglongjmp_ifunc;
++   With an IFUNC resolver, it would be possible to avoid the indirection,
++   but the IFUNC resolver might run before the __libc_longjmp symbol has
++   been relocated, in which case the IFUNC resolver would not be able to
++   provide the correct address.  */
+ 
+-# else  /* !HAVE_IFUNC */
++#if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_22)
+ 
+ static void __attribute__ ((noreturn, used))
+ longjmp_compat (jmp_buf env, int val)
+@@ -47,14 +40,10 @@ longjmp_compat (jmp_buf env, int val)
+   __libc_longjmp (env, val);
+ }
+ 
+-# define DEFINE_LONGJMP(name) strong_alias (longjmp_compat, name)
+-
+-# endif  /* HAVE_IFUNC */
+-
+-DEFINE_LONGJMP (longjmp_ifunc)
+-compat_symbol (libpthread, longjmp_ifunc, longjmp, GLIBC_2_0);
++strong_alias (longjmp_compat, longjmp_alias)
++compat_symbol (libpthread, longjmp_alias, longjmp, GLIBC_2_0);
+ 
+-strong_alias (longjmp_ifunc, siglongjmp_ifunc)
+-compat_symbol (libpthread, siglongjmp_ifunc, siglongjmp, GLIBC_2_0);
++strong_alias (longjmp_alias, siglongjmp_alias)
++compat_symbol (libpthread, siglongjmp_alias, siglongjmp, GLIBC_2_0);
+ 
+ #endif
+diff --git a/nptl/pt-system.c b/nptl/pt-system.c
+index f8ca6ba0d9..b30ddf2b39 100644
+--- a/nptl/pt-system.c
++++ b/nptl/pt-system.c
+@@ -25,29 +25,21 @@
+    libpthread, but the historical ABI requires it.  For static linking,
+    there is no need to provide anything here--the libc version will be
+    linked in.  For shared library ABI compatibility, there must be a
+-   'system' symbol in libpthread.so; so we define it using IFUNC to
+-   redirect to the libc function.  */
++   'system' symbol in libpthread.so.
+ 
+-#if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_22)
+-
+-# if HAVE_IFUNC
+-
+-extern __typeof(system) system_ifunc;
+-#  undef INIT_ARCH
+-#  define INIT_ARCH()
+-libc_ifunc (system_ifunc, &__libc_system)
++   With an IFUNC resolver, it would be possible to avoid the indirection,
++   but the IFUNC resolver might run before the __libc_system symbol has
++   been relocated, in which case the IFUNC resolver would not be able to
++   provide the correct address.  */
+ 
+-# else  /* !HAVE_IFUNC */
++#if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_22)
+ 
+ static int __attribute__ ((used))
+ system_compat (const char *line)
+ {
+   return __libc_system (line);
+ }
+-strong_alias (system_compat, system_ifunc)
+-
+-# endif  /* HAVE_IFUNC */
+-
+-compat_symbol (libpthread, system_ifunc, system, GLIBC_2_0);
++strong_alias (system_compat, system_alias)
++compat_symbol (libpthread, system_alias, system, GLIBC_2_0);
+ 
+ #endif
 diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
 index 6e7d6ff09e..c5ae04692e 100644
 --- a/nptl/pthreadP.h
@@ -2267,6 +2490,81 @@ index 6f2fc808ff..e1f911bf29 100644
  
    imutexattr = ((const struct pthread_mutexattr *) mutexattr
                ?: &default_mutexattr);
+diff --git a/nptl/tst-compat-forwarder-mod.c b/nptl/tst-compat-forwarder-mod.c
+new file mode 100644
+index 0000000000..823bfa22de
+--- /dev/null
++++ b/nptl/tst-compat-forwarder-mod.c
+@@ -0,0 +1,28 @@
++/* Copyright (C) 2017 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
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library is distributed in the hope that it will be useful,
++   but WITHOUT ANY WARRANTY; without even the implied warranty of
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, see
++   <http://www.gnu.org/licenses/>.  */
++
++/* Call the function system through a statically initialized pointer.  */
++
++#include <stdlib.h>
++
++int (*system_function) (const char *) = system;
++
++void
++call_system (void)
++{
++  system_function (NULL);
++}
+diff --git a/nptl/tst-compat-forwarder.c b/nptl/tst-compat-forwarder.c
+new file mode 100644
+index 0000000000..f96806b7fe
+--- /dev/null
++++ b/nptl/tst-compat-forwarder.c
+@@ -0,0 +1,35 @@
++/* Copyright (C) 2017 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
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library is distributed in the hope that it will be useful,
++   but WITHOUT ANY WARRANTY; without even the implied warranty of
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, see
++   <http://www.gnu.org/licenses/>.  */
++
++/* Test that the compat forwaders in libpthread work correctly.  */
++
++#include <support/test-driver.h>
++
++extern void call_system (void);
++
++int
++do_test (void)
++{
++  /* Calling the system function from a shared library that is not linked
++     against libpthread, when the main program is linked against
++     libpthread, should not crash.  */
++  call_system ();
++
++  return 0;
++}
++
++#include <support/test-driver.c>
 diff --git a/nss/Makefile b/nss/Makefile
 index d9f6d41181..8efb2a56fa 100644
 --- a/nss/Makefile
@@ -8719,6 +9017,19 @@ index 06ea3dbd14..da3325f80c 100644
  
  static int
  wrap_res_query (int type, unsigned char *answer, int answer_length)
+diff --git a/scripts/check-local-headers.sh b/scripts/check-local-headers.sh
+index 7859f613b2..0cde6e8e92 100755
+--- a/scripts/check-local-headers.sh
++++ b/scripts/check-local-headers.sh
+@@ -33,7 +33,7 @@ exec ${AWK} -v includedir="$includedir" '
+ BEGIN {
+   status = 0
+   exclude = "^" includedir \
+-    
"/(.*-.*-.*/|.*-.*/|)(asm[-/]|arch|linux/|selinux/|mach/|mach_debug/|device/|hurd/(((hurd|ioctl)_types|paths)\\.h|ioctls\\.defs|ihash\\.h)|cthreads\\.h|gd|nss3/|c\\+\\+/|sys/(capability|sdt(|-config))\\.h|libaudit\\.h)"
++    
"/(.*-.*-.*/|.*-.*/|)(asm[-/]|arch|linux/|selinux/|mach/|mach_debug/|device/|hurd/(((hurd|ioctl)_types|paths)\\.h|ioctls\\.defs|ihash\\.h)|cthreads\\.h|gd|nss3/|nspr4?/|c\\+\\+/|sys/(capability|sdt(|-config))\\.h|libaudit\\.h)"
+ }
+ /^[^ ]/ && $1 ~ /.*:/ { obj = $1 }
+ {
 diff --git a/scripts/gen-tunables.awk b/scripts/gen-tunables.awk
 index ccdd0c6c71..622199061a 100644
 --- a/scripts/gen-tunables.awk
@@ -15032,6 +15343,302 @@ index 3cfe1793da..a8127e89f7 100644
  
  libc_ifunc_redirected (__redirect___isnan, __isnan,
                       (hwcap2 & PPC_FEATURE2_ARCH_2_07)
+diff --git a/sysdeps/powerpc/powerpc64/power7/memcpy.S 
b/sysdeps/powerpc/powerpc64/power7/memcpy.S
+index 641c7e2118..c9b6507d1b 100644
+--- a/sysdeps/powerpc/powerpc64/power7/memcpy.S
++++ b/sysdeps/powerpc/powerpc64/power7/memcpy.S
+@@ -91,63 +91,63 @@ L(aligned_copy):
+       srdi    12,cnt,7
+       cmpdi   12,0
+       beq     L(aligned_tail)
+-      lxvd2x  6,0,src
+-      lxvd2x  7,src,6
++      lvx     6,0,src
++      lvx     7,src,6
+       mtctr   12
+       b       L(aligned_128loop)
+ 
+       .align  4
+ L(aligned_128head):
+       /* for the 2nd + iteration of this loop. */
+-      lxvd2x  6,0,src
+-      lxvd2x  7,src,6
++      lvx     6,0,src
++      lvx     7,src,6
+ L(aligned_128loop):
+-      lxvd2x  8,src,7
+-      lxvd2x  9,src,8
+-      stxvd2x 6,0,dst
++      lvx     8,src,7
++      lvx     9,src,8
++      stvx    6,0,dst
+       addi    src,src,64
+-      stxvd2x 7,dst,6
+-      stxvd2x 8,dst,7
+-      stxvd2x 9,dst,8
+-      lxvd2x  6,0,src
+-      lxvd2x  7,src,6
++      stvx    7,dst,6
++      stvx    8,dst,7
++      stvx    9,dst,8
++      lvx     6,0,src
++      lvx     7,src,6
+       addi    dst,dst,64
+-      lxvd2x  8,src,7
+-      lxvd2x  9,src,8
++      lvx     8,src,7
++      lvx     9,src,8
+       addi    src,src,64
+-      stxvd2x 6,0,dst
+-      stxvd2x 7,dst,6
+-      stxvd2x 8,dst,7
+-      stxvd2x 9,dst,8
++      stvx    6,0,dst
++      stvx    7,dst,6
++      stvx    8,dst,7
++      stvx    9,dst,8
+       addi    dst,dst,64
+       bdnz    L(aligned_128head)
+ 
+ L(aligned_tail):
+       mtocrf  0x01,cnt
+       bf      25,32f
+-      lxvd2x  6,0,src
+-      lxvd2x  7,src,6
+-      lxvd2x  8,src,7
+-      lxvd2x  9,src,8
++      lvx     6,0,src
++      lvx     7,src,6
++      lvx     8,src,7
++      lvx     9,src,8
+       addi    src,src,64
+-      stxvd2x 6,0,dst
+-      stxvd2x 7,dst,6
+-      stxvd2x 8,dst,7
+-      stxvd2x 9,dst,8
++      stvx    6,0,dst
++      stvx    7,dst,6
++      stvx    8,dst,7
++      stvx    9,dst,8
+       addi    dst,dst,64
+ 32:
+       bf      26,16f
+-      lxvd2x  6,0,src
+-      lxvd2x  7,src,6
++      lvx     6,0,src
++      lvx     7,src,6
+       addi    src,src,32
+-      stxvd2x 6,0,dst
+-      stxvd2x 7,dst,6
++      stvx    6,0,dst
++      stvx    7,dst,6
+       addi    dst,dst,32
+ 16:
+       bf      27,8f
+-      lxvd2x  6,0,src
++      lvx     6,0,src
+       addi    src,src,16
+-      stxvd2x 6,0,dst
++      stvx    6,0,dst
+       addi    dst,dst,16
+ 8:
+       bf      28,4f
+diff --git a/sysdeps/powerpc/powerpc64/power7/memmove.S 
b/sysdeps/powerpc/powerpc64/power7/memmove.S
+index 93baa69ee2..667c6e2092 100644
+--- a/sysdeps/powerpc/powerpc64/power7/memmove.S
++++ b/sysdeps/powerpc/powerpc64/power7/memmove.S
+@@ -92,63 +92,63 @@ L(aligned_copy):
+       srdi    12,r5,7
+       cmpdi   12,0
+       beq     L(aligned_tail)
+-      lxvd2x  6,0,r4
+-      lxvd2x  7,r4,6
++      lvx     6,0,r4
++      lvx     7,r4,6
+       mtctr   12
+       b       L(aligned_128loop)
+ 
+       .align  4
+ L(aligned_128head):
+       /* for the 2nd + iteration of this loop. */
+-      lxvd2x  6,0,r4
+-      lxvd2x  7,r4,6
++      lvx     6,0,r4
++      lvx     7,r4,6
+ L(aligned_128loop):
+-      lxvd2x  8,r4,7
+-      lxvd2x  9,r4,8
+-      stxvd2x 6,0,r11
++      lvx     8,r4,7
++      lvx     9,r4,8
++      stvx    6,0,r11
+       addi    r4,r4,64
+-      stxvd2x 7,r11,6
+-      stxvd2x 8,r11,7
+-      stxvd2x 9,r11,8
+-      lxvd2x  6,0,r4
+-      lxvd2x  7,r4,6
++      stvx    7,r11,6
++      stvx    8,r11,7
++      stvx    9,r11,8
++      lvx     6,0,r4
++      lvx     7,r4,6
+       addi    r11,r11,64
+-      lxvd2x  8,r4,7
+-      lxvd2x  9,r4,8
++      lvx     8,r4,7
++      lvx     9,r4,8
+       addi    r4,r4,64
+-      stxvd2x 6,0,r11
+-      stxvd2x 7,r11,6
+-      stxvd2x 8,r11,7
+-      stxvd2x 9,r11,8
++      stvx    6,0,r11
++      stvx    7,r11,6
++      stvx    8,r11,7
++      stvx    9,r11,8
+       addi    r11,r11,64
+       bdnz    L(aligned_128head)
+ 
+ L(aligned_tail):
+       mtocrf  0x01,r5
+       bf      25,32f
+-      lxvd2x  6,0,r4
+-      lxvd2x  7,r4,6
+-      lxvd2x  8,r4,7
+-      lxvd2x  9,r4,8
++      lvx     6,0,r4
++      lvx     7,r4,6
++      lvx     8,r4,7
++      lvx     9,r4,8
+       addi    r4,r4,64
+-      stxvd2x 6,0,r11
+-      stxvd2x 7,r11,6
+-      stxvd2x 8,r11,7
+-      stxvd2x 9,r11,8
++      stvx    6,0,r11
++      stvx    7,r11,6
++      stvx    8,r11,7
++      stvx    9,r11,8
+       addi    r11,r11,64
+ 32:
+       bf      26,16f
+-      lxvd2x  6,0,r4
+-      lxvd2x  7,r4,6
++      lvx     6,0,r4
++      lvx     7,r4,6
+       addi    r4,r4,32
+-      stxvd2x 6,0,r11
+-      stxvd2x 7,r11,6
++      stvx    6,0,r11
++      stvx    7,r11,6
+       addi    r11,r11,32
+ 16:
+       bf      27,8f
+-      lxvd2x  6,0,r4
++      lvx     6,0,r4
+       addi    r4,r4,16
+-      stxvd2x 6,0,r11
++      stvx    6,0,r11
+       addi    r11,r11,16
+ 8:
+       bf      28,4f
+@@ -488,63 +488,63 @@ L(aligned_copy_bwd):
+       srdi    r12,r5,7
+       cmpdi   r12,0
+       beq     L(aligned_tail_bwd)
+-      lxvd2x  v6,r4,r6
+-      lxvd2x  v7,r4,r7
++      lvx     v6,r4,r6
++      lvx     v7,r4,r7
+       mtctr   12
+       b       L(aligned_128loop_bwd)
+ 
+       .align  4
+ L(aligned_128head_bwd):
+       /* for the 2nd + iteration of this loop. */
+-      lxvd2x  v6,r4,r6
+-      lxvd2x  v7,r4,r7
++      lvx     v6,r4,r6
++      lvx     v7,r4,r7
+ L(aligned_128loop_bwd):
+-      lxvd2x  v8,r4,r8
+-      lxvd2x  v9,r4,r9
+-      stxvd2x v6,r11,r6
++      lvx     v8,r4,r8
++      lvx     v9,r4,r9
++      stvx    v6,r11,r6
+       subi    r4,r4,64
+-      stxvd2x v7,r11,r7
+-      stxvd2x v8,r11,r8
+-      stxvd2x v9,r11,r9
+-      lxvd2x  v6,r4,r6
+-      lxvd2x  v7,r4,7
++      stvx    v7,r11,r7
++      stvx    v8,r11,r8
++      stvx    v9,r11,r9
++      lvx     v6,r4,r6
++      lvx     v7,r4,7
+       subi    r11,r11,64
+-      lxvd2x  v8,r4,r8
+-      lxvd2x  v9,r4,r9
++      lvx     v8,r4,r8
++      lvx     v9,r4,r9
+       subi    r4,r4,64
+-      stxvd2x v6,r11,r6
+-      stxvd2x v7,r11,r7
+-      stxvd2x v8,r11,r8
+-      stxvd2x v9,r11,r9
++      stvx    v6,r11,r6
++      stvx    v7,r11,r7
++      stvx    v8,r11,r8
++      stvx    v9,r11,r9
+       subi    r11,r11,64
+       bdnz    L(aligned_128head_bwd)
+ 
+ L(aligned_tail_bwd):
+       mtocrf  0x01,r5
+       bf      25,32f
+-      lxvd2x  v6,r4,r6
+-      lxvd2x  v7,r4,r7
+-      lxvd2x  v8,r4,r8
+-      lxvd2x  v9,r4,r9
++      lvx     v6,r4,r6
++      lvx     v7,r4,r7
++      lvx     v8,r4,r8
++      lvx     v9,r4,r9
+       subi    r4,r4,64
+-      stxvd2x v6,r11,r6
+-      stxvd2x v7,r11,r7
+-      stxvd2x v8,r11,r8
+-      stxvd2x v9,r11,r9
++      stvx    v6,r11,r6
++      stvx    v7,r11,r7
++      stvx    v8,r11,r8
++      stvx    v9,r11,r9
+       subi    r11,r11,64
+ 32:
+       bf      26,16f
+-      lxvd2x  v6,r4,r6
+-      lxvd2x  v7,r4,r7
++      lvx     v6,r4,r6
++      lvx     v7,r4,r7
+       subi    r4,r4,32
+-      stxvd2x v6,r11,r6
+-      stxvd2x v7,r11,r7
++      stvx    v6,r11,r6
++      stvx    v7,r11,r7
+       subi    r11,r11,32
+ 16:
+       bf      27,8f
+-      lxvd2x  v6,r4,r6
++      lvx     v6,r4,r6
+       subi    r4,r4,16
+-      stxvd2x v6,r11,r6
++      stvx    v6,r11,r6
+       subi    r11,r11,16
+ 8:
+       bf      28,4f
 diff --git a/sysdeps/powerpc/powerpc64/tls-macros.h 
b/sysdeps/powerpc/powerpc64/tls-macros.h
 index 42a95ec5c1..79a0b2579c 100644
 --- a/sysdeps/powerpc/powerpc64/tls-macros.h
@@ -16034,6 +16641,21 @@ index def9a0bc57..d2800c6657 100644
        return -1;
      }
    return pwritev64 (fd, vector, count, offset);
+diff --git a/sysdeps/unix/sysv/linux/s390/pt-longjmp.c 
b/sysdeps/unix/sysv/linux/s390/pt-longjmp.c
+index d324237edd..0221ac2cf5 100644
+--- a/sysdeps/unix/sysv/linux/s390/pt-longjmp.c
++++ b/sysdeps/unix/sysv/linux/s390/pt-longjmp.c
+@@ -26,8 +26,8 @@
+ /* In glibc release 2.19 new versions of longjmp-functions were introduced,
+    but were reverted before 2.20. Thus both versions are the same function.  
*/
+ 
+-strong_alias (longjmp_ifunc, __v2longjmp)
++strong_alias (longjmp_alias, __v2longjmp)
+ compat_symbol (libpthread, __v2longjmp, longjmp, GLIBC_2_19);
+-strong_alias (siglongjmp_ifunc, __v2siglongjmp)
++strong_alias (siglongjmp_alias, __v2siglongjmp)
+ compat_symbol (libpthread, __v2siglongjmp, siglongjmp, GLIBC_2_19);
+ #endif /* SHLIB_COMPAT (libpthread, GLIBC_2_19, GLIBC_2_20))  */
 diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/glob64.c 
b/sysdeps/unix/sysv/linux/s390/s390-32/glob64.c
 new file mode 100644
 index 0000000000..d220e22e30

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

Reply via email to