Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package glibc for openSUSE:Factory checked 
in at 2022-06-12 17:36:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/glibc (Old)
 and      /work/SRC/openSUSE:Factory/.glibc.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "glibc"

Sun Jun 12 17:36:43 2022 rev:260 rq:981500 version:2.35

Changes:
--------
--- /work/SRC/openSUSE:Factory/glibc/glibc.changes      2022-05-19 
22:49:06.266318312 +0200
+++ /work/SRC/openSUSE:Factory/.glibc.new.1548/glibc.changes    2022-06-12 
17:36:46.605938687 +0200
@@ -1,0 +2,13 @@
+Thu Jun  9 12:01:07 UTC 2022 - Andreas Schwab <sch...@suse.de>
+
+- Set SUSE_ZNOW=0
+
+-------------------------------------------------------------------
+Wed Jun  8 13:32:57 UTC 2022 - Andreas Schwab <sch...@suse.de>
+
+- strncpy-power9-vsx.patch: powerpc: Fix VSX register number on
+  __strncpy_power9 (BZ #29197)
+- nptl-cleanup-async-restore.patch: nptl: Fix __libc_cleanup_pop_restore
+  asynchronous restore (bsc#1200093, BZ #29214)
+
+-------------------------------------------------------------------

New:
----
  nptl-cleanup-async-restore.patch
  strncpy-power9-vsx.patch

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

Other differences:
------------------
++++++ glibc.spec ++++++
--- /var/tmp/diff_new_pack.YE0rfO/_old  2022-06-12 17:36:49.325942567 +0200
+++ /var/tmp/diff_new_pack.YE0rfO/_new  2022-06-12 17:36:49.329942573 +0200
@@ -295,6 +295,10 @@
 Patch1004:      localedef-ld-monetary.patch
 # PATCH-FIX-UPSTREAM nptl: Handle spurious EINTR when thread cancellation is 
disabled (BZ #29029)
 Patch1005:      nptl-spurious-eintr.patch
+# PATCH-FIX-UPSTREAM powerpc: Fix VSX register number on __strncpy_power9 (BZ 
#29197)
+Patch1006:      strncpy-power9-vsx.patch
+# PATCH-FIX-UPSTREAM nptl: Fix __libc_cleanup_pop_restore asynchronous restore 
(BZ #29214)
+Patch1007:      nptl-cleanup-async-restore.patch
 
 ###
 # Patches awaiting upstream approval
@@ -520,6 +524,8 @@
 %patch1003 -p1
 %patch1004 -p1
 %patch1005 -p1
+%patch1006 -p1
+%patch1007 -p1
 
 %patch2000 -p1
 %patch2001 -p1
@@ -554,6 +560,8 @@
 # Before enabling it, run the testsuite and verify that it
 # passes completely
 export SUSE_ASNEEDED=0
+# This is controlled by --enable-bind-now.
+export SUSE_ZNOW=0
 # Adjust glibc version.h
 echo "#define CONFHOST \"${target}\"" >> version.h
 echo "#define GITID \"%{git_id}\"" >> version.h
@@ -712,6 +720,8 @@
 %if %{build_testsuite}
 # The testsuite will fail if asneeded is used
 export SUSE_ASNEEDED=0
+# The testsuite will fail if -znow is used
+export SUSE_ZNOW=0
 # Increase timeout
 export TIMEOUTFACTOR=16
 # The testsuite does its own malloc checking


++++++ nptl-cleanup-async-restore.patch ++++++
>From 97dd8b3f705b23de1f84713082b631189084a33b Mon Sep 17 00:00:00 2001
From: Adhemerval Zanella <adhemerval.zane...@linaro.org>
Date: Tue, 31 May 2022 17:13:35 -0300
Subject: [PATCH] nptl: Fix __libc_cleanup_pop_restore asynchronous restore
 (BZ#29214)

This was due a wrong revert done on 404656009b459658.

Checked on x86_64-linux-gnu.

(cherry picked from commit c7d36dcecc08a29825175f65c4ee873ff3177a23)
---
 NEWS                           |  1 +
 nptl/libc-cleanup.c            |  3 +-
 sysdeps/pthread/Makefile       |  1 +
 sysdeps/pthread/tst-cancel30.c | 82 ++++++++++++++++++++++++++++++++++
 4 files changed, 86 insertions(+), 1 deletion(-)
 create mode 100644 sysdeps/pthread/tst-cancel30.c

diff --git a/nptl/libc-cleanup.c b/nptl/libc-cleanup.c
index c4a83591bf..2ce59388d4 100644
--- a/nptl/libc-cleanup.c
+++ b/nptl/libc-cleanup.c
@@ -57,7 +57,8 @@ __libc_cleanup_pop_restore (struct _pthread_cleanup_buffer 
*buffer)
   THREAD_SETMEM (self, cleanup, buffer->__prev);
 
   int cancelhandling = atomic_load_relaxed (&self->cancelhandling);
-  if (cancelhandling & CANCELTYPE_BITMASK)
+  if (buffer->__canceltype != PTHREAD_CANCEL_DEFERRED
+      && (cancelhandling & CANCELTYPE_BITMASK) == 0)
     {
       int newval;
       do
diff --git a/sysdeps/pthread/Makefile b/sysdeps/pthread/Makefile
index c725586308..3a505c5f99 100644
--- a/sysdeps/pthread/Makefile
+++ b/sysdeps/pthread/Makefile
@@ -126,6 +126,7 @@ tests += tst-cnd-basic tst-mtx-trylock tst-cnd-broadcast \
         tst-pthread-raise-blocked-self \
         tst-pthread_kill-exited \
         tst-pthread_kill-exiting \
+        tst-cancel30 \
         # tests
 
 tests-time64 := \
diff --git a/sysdeps/pthread/tst-cancel30.c b/sysdeps/pthread/tst-cancel30.c
new file mode 100644
index 0000000000..e08392f968
--- /dev/null
+++ b/sysdeps/pthread/tst-cancel30.c
@@ -0,0 +1,82 @@
+/* Check if printf like functions does not disable asynchronous cancellation
+   mode (BZ#29214).
+
+   Copyright (C) 2022 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
+   <https://www.gnu.org/licenses/>.  */
+
+#include <support/check.h>
+#include <support/xstdio.h>
+#include <support/xthread.h>
+#include <sys/syscall.h>
+#include <unistd.h>
+
+static pthread_barrier_t b;
+
+static void *
+tf (void *arg)
+{
+  int old;
+
+  TEST_COMPARE (pthread_setcanceltype (PTHREAD_CANCEL_ASYNCHRONOUS, NULL), 0);
+
+  TEST_COMPARE (pthread_setcanceltype (PTHREAD_CANCEL_ASYNCHRONOUS, &old), 0);
+  TEST_COMPARE (old, PTHREAD_CANCEL_ASYNCHRONOUS);
+
+  /* Check if internal lock cleanup routines restore the cancellation type
+     correctly.  */
+  printf ("...\n");
+  TEST_COMPARE (pthread_setcanceltype (PTHREAD_CANCEL_ASYNCHRONOUS, &old), 0);
+  TEST_COMPARE (old, PTHREAD_CANCEL_ASYNCHRONOUS);
+
+  xpthread_barrier_wait (&b);
+
+  /* Wait indefinitely for cancellation, which only works if asynchronous
+     cancellation is enabled.  */
+#ifdef SYS_pause
+  syscall (SYS_pause);
+#elif defined SYS_ppoll || defined SYS_ppoll_time64
+# ifndef SYS_ppoll_time64
+#  define SYS_ppoll_time64 SYS_ppoll
+# endif
+  syscall (SYS_ppoll_time64, NULL, 0, NULL, NULL);
+#else
+  for (;;);
+#endif
+
+  return 0;
+}
+
+static int
+do_test (void)
+{
+  xpthread_barrier_init (&b, NULL, 2);
+
+  pthread_t th = xpthread_create (NULL, tf, NULL);
+
+  xpthread_barrier_wait (&b);
+
+  xpthread_cancel (th);
+
+  void *status = xpthread_join (th);
+  TEST_VERIFY (status == PTHREAD_CANCELED);
+
+  return 0;
+}
+
+/* There is no need to wait full TIMEOUT if asynchronous is not working.  */
+#define TIMEOUT 3
+#include <support/test-driver.c>
-- 
2.35.3


++++++ strncpy-power9-vsx.patch ++++++
>From 0a1572b8bb880a63d50a63b2afe4bb67704ac23e Mon Sep 17 00:00:00 2001
From: Matheus Castanho <m...@linux.ibm.com>
Date: Tue, 7 Jun 2022 10:27:26 -0300
Subject: [PATCH] powerpc: Fix VSX register number on __strncpy_power9 [BZ
 #29197]

__strncpy_power9 initializes VR 18 with zeroes to be used throughout the
code, including when zero-padding the destination string. However, the
v18 reference was mistakenly being used for stxv and stxvl, which take a
VSX vector as operand. The code ended up using the uninitialized VSR 18
register by mistake.

Both occurrences have been changed to use the proper VSX number for VR 18
(i.e. VSR 50).

Tested on powerpc, powerpc64 and powerpc64le.

Signed-off-by: Kewen Lin <li...@gcc.gnu.org>
(cherry picked from commit 0218463dd8265ed937622f88ac68c7d984fe0cfc)
---
 sysdeps/powerpc/powerpc64/le/power9/strncpy.S | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sysdeps/powerpc/powerpc64/le/power9/strncpy.S 
b/sysdeps/powerpc/powerpc64/le/power9/strncpy.S
index ae23161316..deb94671cc 100644
--- a/sysdeps/powerpc/powerpc64/le/power9/strncpy.S
+++ b/sysdeps/powerpc/powerpc64/le/power9/strncpy.S
@@ -352,7 +352,7 @@ L(zero_padding_loop):
        cmpldi  cr6,r5,16       /* Check if length was reached.  */
        ble     cr6,L(zero_padding_end)
 
-       stxv    v18,0(r11)
+       stxv    32+v18,0(r11)
        addi    r11,r11,16
        addi    r5,r5,-16
 
@@ -360,7 +360,7 @@ L(zero_padding_loop):
 
 L(zero_padding_end):
        sldi    r10,r5,56       /* stxvl wants size in top 8 bits  */
-       stxvl   v18,r11,r10     /* Partial store  */
+       stxvl   32+v18,r11,r10  /* Partial store  */
        blr
 
        .align  4
-- 
2.35.3

Reply via email to