Hello community,

here is the log from the commit of package glibc for openSUSE:Factory checked 
in at 2016-07-16 22:10:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/glibc (Old)
 and      /work/SRC/openSUSE:Factory/.glibc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "glibc"

Changes:
--------
--- /work/SRC/openSUSE:Factory/glibc/glibc-testsuite.changes    2016-07-03 
12:17:26.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.glibc.new/glibc-testsuite.changes       
2016-07-16 22:10:14.000000000 +0200
@@ -1,0 +2,22 @@
+Wed Jun 29 12:50:21 UTC 2016 - [email protected]
+
+- strncat-avoid-array-bounds-warning.patch: Avoid array-bounds warning for
+  stncat on i586 (BZ #20260)
+- Update glibc.keyring
+- Unset MALLOC_CHECK_ during testsuite run
+
+-------------------------------------------------------------------
+Thu Jun 23 07:41:06 UTC 2016 - [email protected]
+
+- nsswitch.conf: Add fallback to files for passwd and group to prepare for
+  libnsl removal.
+
+-------------------------------------------------------------------
+Wed Jun 22 09:08:02 UTC 2016 - [email protected]
+
+- nis-initgroups-status.patch: Return proper status from
+  _nss_nis_initgroups_dyn (bsc#984269, BZ #20262)
+- robust-mutex-deadlock.patch: Fix generic __lll_robust_timedlock_wait to
+  check for timeout (bsc#985170, BZ #20263)
+
+-------------------------------------------------------------------
glibc-utils.changes: same change
glibc.changes: same change

New:
----
  nis-initgroups-status.patch
  robust-mutex-deadlock.patch
  strncat-avoid-array-bounds-warning.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ glibc-testsuite.spec ++++++
--- /var/tmp/diff_new_pack.uHBZpo/_old  2016-07-16 22:10:18.000000000 +0200
+++ /var/tmp/diff_new_pack.uHBZpo/_new  2016-07-16 22:10:18.000000000 +0200
@@ -120,7 +120,7 @@
 %if !%{build_snapshot}
 Source1:        http://ftp.gnu.org/pub/gnu/glibc/glibc-%{version}.tar.xz.sig
 %endif
-Source2:        glibc.keyring
+Source2:        
http://savannah.gnu.org/project/memberlist-gpgkeys.php?group=libc&download=1#/glibc.keyring
 Source3:        noversion.tar.bz2
 Source4:        manpages.tar.bz2
 Source5:        nsswitch.conf
@@ -310,6 +310,12 @@
 Patch1056:      clntudp-call-alloca.patch
 # PATCH-FIX-UPSTREAM Fix nscd assertion failure in gc (BZ #19755)
 Patch1057:      nscd-gc-crash.patch
+# PATCH-FIX-UPSTREAM Return proper status from _nss_nis_initgroups_dyn (BZ 
#20262)
+Patch1058:      nis-initgroups-status.patch
+# PATCH-FIX-UPSTREAM Fix generic __lll_robust_timedlock_wait to check for 
timeout (BZ #20263)
+Patch1059:      robust-mutex-deadlock.patch
+# PATCH-FIX-UPSTREAM Avoid array-bounds warning for strncat on i586 (BZ #20260)
+Patch1060:      strncat-avoid-array-bounds-warning.patch
 
 ### 
 # Patches awaiting upstream approval
@@ -590,6 +596,9 @@
 %patch1055 -p1
 %patch1056 -p1
 %patch1057 -p1
+%patch1058 -p1
+%patch1059 -p1
+%patch1060 -p1
 
 %patch2000 -p1
 %patch2001 -p1
@@ -857,6 +866,8 @@
 export SUSE_ASNEEDED=0
 # Increase timeout
 export TIMEOUTFACTOR=16
+# The testsuite does its own malloc checking
+unset MALLOC_CHECK_
 make -C cc-base -k check || {
   cd cc-base
   o=$-

glibc-utils.spec: same change
++++++ glibc.spec ++++++
--- /var/tmp/diff_new_pack.uHBZpo/_old  2016-07-16 22:10:18.000000000 +0200
+++ /var/tmp/diff_new_pack.uHBZpo/_new  2016-07-16 22:10:18.000000000 +0200
@@ -120,7 +120,7 @@
 %if !%{build_snapshot}
 Source1:        http://ftp.gnu.org/pub/gnu/glibc/glibc-%{version}.tar.xz.sig
 %endif
-Source2:        glibc.keyring
+Source2:        
http://savannah.gnu.org/project/memberlist-gpgkeys.php?group=libc&download=1#/glibc.keyring
 Source3:        noversion.tar.bz2
 Source4:        manpages.tar.bz2
 Source5:        nsswitch.conf
@@ -310,6 +310,12 @@
 Patch1056:      clntudp-call-alloca.patch
 # PATCH-FIX-UPSTREAM Fix nscd assertion failure in gc (BZ #19755)
 Patch1057:      nscd-gc-crash.patch
+# PATCH-FIX-UPSTREAM Return proper status from _nss_nis_initgroups_dyn (BZ 
#20262)
+Patch1058:      nis-initgroups-status.patch
+# PATCH-FIX-UPSTREAM Fix generic __lll_robust_timedlock_wait to check for 
timeout (BZ #20263)
+Patch1059:      robust-mutex-deadlock.patch
+# PATCH-FIX-UPSTREAM Avoid array-bounds warning for strncat on i586 (BZ #20260)
+Patch1060:      strncat-avoid-array-bounds-warning.patch
 
 ### 
 # Patches awaiting upstream approval
@@ -590,6 +596,9 @@
 %patch1055 -p1
 %patch1056 -p1
 %patch1057 -p1
+%patch1058 -p1
+%patch1059 -p1
+%patch1060 -p1
 
 %patch2000 -p1
 %patch2001 -p1
@@ -857,6 +866,8 @@
 export SUSE_ASNEEDED=0
 # Increase timeout
 export TIMEOUTFACTOR=16
+# The testsuite does its own malloc checking
+unset MALLOC_CHECK_
 make -C cc-base -k check || {
   cd cc-base
   o=$-



++++++ glibc.keyring ++++++
Files /var/tmp/diff_new_pack.uHBZpo/_old and /var/tmp/diff_new_pack.uHBZpo/_new 
differ

++++++ nis-initgroups-status.patch ++++++
        [BZ #20262]
        * nis/nss_nis/nis-initgroups.c (_nss_nis_initgroups_dyn): Return
        NSS_STATUS_SUCCESS when done.  Return NSS_STATUS_TRYAGAIN when out
        of memory.

Index: glibc-2.23/nis/nss_nis/nis-initgroups.c
===================================================================
--- glibc-2.23.orig/nis/nss_nis/nis-initgroups.c
+++ glibc-2.23/nis/nss_nis/nis-initgroups.c
@@ -266,7 +266,7 @@ _nss_nis_initgroups_dyn (const char *use
 
   tmpbuf = __alloca (buflen);
 
-  do
+  while (1)
     {
       while ((status =
              internal_getgrent_r (&grpbuf, tmpbuf, buflen, errnop,
@@ -275,8 +275,11 @@ _nss_nis_initgroups_dyn (const char *use
        tmpbuf = extend_alloca (tmpbuf, buflen, 2 * buflen);
 
       if (status != NSS_STATUS_SUCCESS)
-       goto done;
-
+       {
+         if (status == NSS_STATUS_NOTFOUND)
+           status = NSS_STATUS_SUCCESS;
+         goto done;
+       }
 
       g = &grpbuf;
       if (g->gr_gid != group)
@@ -304,7 +307,11 @@ _nss_nis_initgroups_dyn (const char *use
 
                    newgroups = realloc (groups, newsize * sizeof (*groups));
                    if (newgroups == NULL)
-                     goto done;
+                     {
+                       status = NSS_STATUS_TRYAGAIN;
+                       *errnop = errno;
+                       goto done;
+                     }
                    *groupsp = groups = newgroups;
                     *size = newsize;
                   }
@@ -316,7 +323,6 @@ _nss_nis_initgroups_dyn (const char *use
               }
         }
     }
-  while (status == NSS_STATUS_SUCCESS);
 
 done:
   while (intern.start != NULL)
++++++ nsswitch.conf ++++++
--- /var/tmp/diff_new_pack.uHBZpo/_old  2016-07-16 22:10:18.000000000 +0200
+++ /var/tmp/diff_new_pack.uHBZpo/_new  2016-07-16 22:10:18.000000000 +0200
@@ -26,8 +26,8 @@
 # shadow: files nis
 # group:  files nis
 
-passwd: compat
-group:  compat
+passwd: compat [NOTFOUND=return] files
+group:  compat [NOTFOUND=return] files
 
 hosts:         files dns
 networks:      files dns

++++++ robust-mutex-deadlock.patch ++++++
        [BZ #20263]
        * nptl/lowlevelrobustlock.c (__lll_robust_timedlock_wait)
        [__ASSUME_FUTEX_CLOCK_REALTIME]: Check for timeout from
        lll_futex_timed_wait_bitset.
        * nptl/tst-robust10.c: New test.
        * nptl/Makefile (tests): Add tst-robust10.

Index: glibc-2.23/nptl/Makefile
===================================================================
--- glibc-2.23.orig/nptl/Makefile
+++ glibc-2.23/nptl/Makefile
@@ -288,7 +288,7 @@ tests = tst-typesizes \
        tst-initializers1 $(addprefix tst-initializers1-,\
                            c89 gnu89 c99 gnu99 c11 gnu11) \
        tst-bad-schedattr \
-       tst-thread_local1 tst-mutex-errorcheck
+       tst-thread_local1 tst-mutex-errorcheck tst-robust10
 xtests = tst-setuid1 tst-setuid1-static tst-setuid2 \
        tst-mutexpp1 tst-mutexpp6 tst-mutexpp10
 test-srcs = tst-oddstacklimit
Index: glibc-2.23/nptl/lowlevelrobustlock.c
===================================================================
--- glibc-2.23.orig/nptl/lowlevelrobustlock.c
+++ glibc-2.23/nptl/lowlevelrobustlock.c
@@ -118,8 +118,10 @@ __lll_robust_timedlock_wait (int *futex,
      || !defined lll_futex_timed_wait_bitset)
       lll_futex_timed_wait (futex, newval, &rt, private);
 #else
-      lll_futex_timed_wait_bitset (futex, newval, abstime,
-                                  FUTEX_CLOCK_REALTIME, private);
+      int err = lll_futex_timed_wait_bitset (futex, newval, abstime,
+                                            FUTEX_CLOCK_REALTIME, private);
+      if (err == -ETIMEDOUT)
+       return -err;
 #endif
 
     try:
Index: glibc-2.23/nptl/tst-robust10.c
===================================================================
--- /dev/null
+++ glibc-2.23/nptl/tst-robust10.c
@@ -0,0 +1,110 @@
+/* Test that pthread_mutex_timedlock properly times out.
+   Copyright (C) 2016 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/>.  */
+
+#include <pthread.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+
+pthread_mutex_t mutex;
+
+static void *
+thr (void *arg)
+{
+  struct timespec abstime;
+  clock_gettime (CLOCK_REALTIME, &abstime);
+  abstime.tv_sec += 1;
+  int ret = pthread_mutex_timedlock (&mutex, &abstime);
+  if (ret == 0)
+    {
+      puts ("mutex_timedlock didn't fail");
+      exit (1);
+    }
+  if (ret != ETIMEDOUT)
+    {
+      printf ("mutex_timedlock failed: %s\n", strerror (ret));
+      exit (1);
+    }
+
+  return 0;
+}
+
+static int
+do_test (void)
+{
+  pthread_t pt;
+  pthread_mutexattr_t ma;
+
+  if (pthread_mutexattr_init (&ma) != 0)
+    {
+      puts ("mutexattr_init failed");
+      return 0;
+    }
+  if (pthread_mutexattr_setrobust_np (&ma, PTHREAD_MUTEX_ROBUST_NP) != 0)
+    {
+      puts ("mutexattr_setrobust failed");
+      return 1;
+    }
+  if (pthread_mutex_init (&mutex, &ma))
+    {
+      puts ("mutex_init failed");
+      return 1;
+    }
+
+  if (pthread_mutexattr_destroy (&ma))
+    {
+      puts ("mutexattr_destroy failed");
+      return 1;
+    }
+
+  if (pthread_mutex_lock (&mutex))
+    {
+      puts ("mutex_lock failed");
+      return 1;
+    }
+
+  if (pthread_create (&pt, NULL, thr, NULL))
+    {
+      puts ("pthread_create failed");
+      return 1;
+    }
+
+  if (pthread_join (pt, NULL))
+    {
+      puts ("pthread_join failed");
+      return 1;
+    }
+
+  if (pthread_mutex_unlock (&mutex))
+    {
+      puts ("mutex_unlock failed");
+      return 1;
+    }
+
+  if (pthread_mutex_destroy (&mutex))
+    {
+      puts ("mutex_destroy failed");
+      return 1;
+    }
+
+  return 0;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
++++++ strncat-avoid-array-bounds-warning.patch ++++++
Subject: [PATCH] Avoid array-bounds warning for strncat on i586

        [BZ #20260]
        * sysdeps/x86/bits/string.h (__strncat_g) [!__i686__]: Compute the
        address before the beginning of the string as an integer to avoid
        array-bounds warning.

diff --git a/sysdeps/x86/bits/string.h b/sysdeps/x86/bits/string.h
index 8dfce05..805d33f 100644
--- a/sysdeps/x86/bits/string.h
+++ b/sysdeps/x86/bits/string.h
@@ -1089,7 +1089,6 @@ __strncat_g (char *__dest, const char __src[], size_t __n)
      :  "g" (__n), "0" (0), "1" (__tmp), "2" (__src), "3" (0xffffffff)
      : "memory", "cc");
 # else
-  --__tmp;
   __asm__ __volatile__
     ("1:\n\t"
      "cmpb     $0,1(%1)\n\t"
@@ -1108,7 +1107,7 @@ __strncat_g (char *__dest, const char __src[], size_t __n)
      "3:\n\t"
      "movb     $0,(%1)"
      : "=&q" (__dummy), "=&r" (__tmp), "=&r" (__src), "=&r" (__n)
-     : "1" (__tmp), "2" (__src), "3" (__n)
+     : "1" ((unsigned long) __tmp - 1), "2" (__src), "3" (__n)
      : "memory", "cc");
 #endif
   return __dest;
-- 
2.9.0


Reply via email to