Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package userspace-rcu for openSUSE:Factory 
checked in at 2022-01-29 21:01:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/userspace-rcu (Old)
 and      /work/SRC/openSUSE:Factory/.userspace-rcu.new.1898 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "userspace-rcu"

Sat Jan 29 21:01:05 2022 rev:18 rq:949394 version:0.13.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/userspace-rcu/userspace-rcu.changes      
2022-01-05 13:39:31.753515040 +0100
+++ /work/SRC/openSUSE:Factory/.userspace-rcu.new.1898/userspace-rcu.changes    
2022-01-29 21:01:31.334899857 +0100
@@ -1,0 +2,13 @@
+Sun Jan 23 10:46:40 UTC 2022 - Dirk M??ller <dmuel...@suse.com>
+
+- update to 0.13.1:
+  * fix: properly detect 'cmpxchg' on x86-32
+  * fix: use urcu-tls compat with c++ compiler
+  * fix: remove autoconf features default value in help message
+  * fix: add missing pkgconfig file for memb flavour lib
+  * Make temporary variable in _rcu_dereference non-const
+  * Fix: x86 and s390: uatomic __hp() macro C++ support
+  * Fix: x86 and s390: uatomic __hp() macro clang support
+  * Fix: x86 and s390 uatomic: __hp() macro warning with gcc 11
+  
+-------------------------------------------------------------------

Old:
----
  userspace-rcu-0.13.0.tar.bz2
  userspace-rcu-0.13.0.tar.bz2.asc

New:
----
  userspace-rcu-0.13.1.tar.bz2
  userspace-rcu-0.13.1.tar.bz2.asc

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

Other differences:
------------------
++++++ userspace-rcu.spec ++++++
--- /var/tmp/diff_new_pack.VFNp2A/_old  2022-01-29 21:01:31.958895662 +0100
+++ /var/tmp/diff_new_pack.VFNp2A/_new  2022-01-29 21:01:31.966895607 +0100
@@ -2,7 +2,7 @@
 #
 # spec file for package userspace-rcu
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 # Copyright (c) 2012 Pascal Bleser <pascal.ble...@opensuse.org>
 #
 # All modifications and additions to the file contributed by third parties
@@ -20,7 +20,7 @@
 
 %define soname  8
 Name:           userspace-rcu
-Version:        0.13.0
+Version:        0.13.1
 Release:        0
 Summary:        Userspace Read-Copy-Update Library
 License:        GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT AND 
GPL-3.0-or-later
@@ -118,6 +118,7 @@
 %{_libdir}/pkgconfig/liburcu-bp.pc
 %{_libdir}/pkgconfig/liburcu-cds.pc
 %{_libdir}/pkgconfig/liburcu-mb.pc
+%{_libdir}/pkgconfig/liburcu-memb.pc
 %{_libdir}/pkgconfig/liburcu-qsbr.pc
 %{_libdir}/pkgconfig/liburcu-signal.pc
 

++++++ userspace-rcu-0.13.0.tar.bz2 -> userspace-rcu-0.13.1.tar.bz2 ++++++
++++ 3829 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/userspace-rcu-0.13.0/ChangeLog new/userspace-rcu-0.13.1/ChangeLog
--- old/userspace-rcu-0.13.0/ChangeLog  2021-06-03 22:43:02.000000000 +0200
+++ new/userspace-rcu-0.13.1/ChangeLog  2022-01-05 21:38:11.000000000 +0100
@@ -1,4 +1,15 @@
-2020-06-03 Userspace RCU 0.13.0
+2022-01-05 Userspace RCU 0.13.1
+       * fix: properly detect 'cmpxchg' on x86-32
+       * fix: use urcu-tls compat with c++ compiler
+       * fix: remove autoconf features default value in help message
+       * fix: add missing pkgconfig file for memb flavour lib
+       * Make temporary variable in _rcu_dereference non-const
+       * Fix: x86 and s390: uatomic __hp() macro C++ support
+       * Fix: x86 and s390: uatomic __hp() macro clang support
+       * Fix: x86 and s390 uatomic: __hp() macro warning with gcc 11
+       * Fix: changelog: v0.13.0 was released in 2021
+
+2021-06-03 Userspace RCU 0.13.0
        * Document known ABI issue in README.md
        * Add serialized ABI definition files
        * bump SONAME major to 8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/userspace-rcu-0.13.0/config/test-driver 
new/userspace-rcu-0.13.1/config/test-driver
--- old/userspace-rcu-0.13.0/config/test-driver 2018-02-20 18:18:42.000000000 
+0100
+++ new/userspace-rcu-0.13.1/config/test-driver 2021-12-10 04:11:01.000000000 
+0100
@@ -1,9 +1,9 @@
 #! /bin/sh
 # test-driver - basic testsuite driver script.
 
-scriptversion=2013-07-13.22; # UTC
+scriptversion=2018-03-07.03; # UTC
 
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2018 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -16,7 +16,7 @@
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -140,9 +140,9 @@
 # Local Variables:
 # mode: shell-script
 # sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/userspace-rcu-0.13.0/configure.ac new/userspace-rcu-0.13.1/configure.ac
--- old/userspace-rcu-0.13.0/configure.ac       2021-06-03 22:47:50.000000000 
+0200
+++ new/userspace-rcu-0.13.1/configure.ac       2022-01-05 21:38:11.000000000 
+0100
@@ -7,7 +7,7 @@
 # Project version information
 m4_define([urcu_version_major], [0])
 m4_define([urcu_version_minor], [13])
-m4_define([urcu_version_patch], [0])
+m4_define([urcu_version_patch], [1])
 m4_define([urcu_version_dev_stage], [])
 m4_define([urcu_version], 
urcu_version_major[.]urcu_version_minor[.]urcu_version_patch[]urcu_version_dev_stage)
 
@@ -298,6 +298,7 @@
        src/liburcu-cds.pc
        src/liburcu-qsbr.pc
        src/liburcu-mb.pc
+       src/liburcu-memb.pc
        src/liburcu-signal.pc
 ])
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/userspace-rcu-0.13.0/include/urcu/arch.h 
new/userspace-rcu-0.13.1/include/urcu/arch.h
--- old/userspace-rcu-0.13.0/include/urcu/arch.h        2021-06-03 
20:44:03.000000000 +0200
+++ new/userspace-rcu-0.13.1/include/urcu/arch.h        2022-01-05 
21:38:11.000000000 +0100
@@ -64,15 +64,25 @@
 #define URCU_ARCH_AMD64 1
 #include <urcu/arch/x86.h>
 
-#elif (defined(__i486__) || defined(__i586__) || defined(__i686__))
+#elif (defined(__i386__) || defined(__i386) || defined(__i486__) || 
defined(__i586__) || defined(__i686__))
 
 #define URCU_ARCH_X86 1
-#include <urcu/arch/x86.h>
-
-#elif (defined(__i386__) || defined(__i386))
 
-#define URCU_ARCH_X86 1
+/*
+ * URCU_ARCH_X86_NO_CAS enables a compat layer that will detect the presence of
+ * the cmpxchg instructions at runtime and provide a compat mode based on a
+ * pthread mutex when it isn't.
+ *
+ * __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 was introduced in GCC 4.3 and Clang 3.3,
+ * building with older compilers will result in the compat layer always being
+ * used on x86-32.
+ */
+#ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4
+#define URCU_ARCH_X86_NO_CAS 1
+/* For backwards compat */
 #define URCU_ARCH_I386 1
+#endif
+
 #include <urcu/arch/x86.h>
 
 #elif (defined(__powerpc64__) || defined(__ppc64__))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/userspace-rcu-0.13.0/include/urcu/static/pointer.h 
new/userspace-rcu-0.13.1/include/urcu/static/pointer.h
--- old/userspace-rcu-0.13.0/include/urcu/static/pointer.h      2021-06-01 
22:15:35.000000000 +0200
+++ new/userspace-rcu-0.13.1/include/urcu/static/pointer.h      2022-01-05 
21:04:04.000000000 +0100
@@ -90,9 +90,15 @@
 # define __URCU_DEREFERENCE_USE_ATOMIC_CONSUME
 #endif
 
+/*
+ * If p is const (the pointer itself, not what it points to), using
+ * __typeof__(p) would declare a const variable, leading to
+ * -Wincompatible-pointer-types errors.  Using `+ 0` makes it an rvalue and
+ * gets rid of the const-ness.
+ */
 #ifdef __URCU_DEREFERENCE_USE_ATOMIC_CONSUME
 # define _rcu_dereference(p) __extension__ ({                                  
        \
-                               __typeof__(p) _________p1;                      
        \
+                               __typeof__(p + 0) _________p1;                  
        \
                                __atomic_load(&(p), &_________p1, 
__ATOMIC_CONSUME);    \
                                (_________p1);                                  
        \
                        })
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/userspace-rcu-0.13.0/include/urcu/tls-compat.h 
new/userspace-rcu-0.13.1/include/urcu/tls-compat.h
--- old/userspace-rcu-0.13.0/include/urcu/tls-compat.h  2021-06-03 
20:44:03.000000000 +0200
+++ new/userspace-rcu-0.13.1/include/urcu/tls-compat.h  2022-01-05 
21:36:47.000000000 +0100
@@ -112,6 +112,7 @@
        type *__tls_access_ ## name(void)                       \
        {                                                       \
                static struct urcu_tls __tls_ ## name = {       \
+                       .key = 0,                               \
                        .init_mutex = PTHREAD_MUTEX_INITIALIZER,\
                        .init_done = 0,                         \
                };                                              \
@@ -128,9 +129,9 @@
                        pthread_mutex_unlock(&__tls_ ## name.init_mutex); \
                }                                               \
                cmm_smp_rmb();  /* read init_done before getting key */ \
-               __tls_p = pthread_getspecific(__tls_ ## name.key); \
+               __tls_p = (__typeof__(type) *) pthread_getspecific(__tls_ ## 
name.key); \
                if (caa_unlikely(__tls_p == NULL)) {            \
-                       __tls_p = calloc(1, sizeof(type));      \
+                       __tls_p = (__typeof__(type) *) calloc(1, sizeof(type)); 
\
                        do_init                                 \
                        (void) pthread_setspecific(__tls_ ## name.key,  \
                                __tls_p);                       \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/userspace-rcu-0.13.0/include/urcu/uatomic/s390.h 
new/userspace-rcu-0.13.1/include/urcu/uatomic/s390.h
--- old/userspace-rcu-0.13.0/include/urcu/uatomic/s390.h        2021-06-01 
22:15:35.000000000 +0200
+++ new/userspace-rcu-0.13.1/include/urcu/uatomic/s390.h        2022-01-05 
21:04:04.000000000 +0100
@@ -61,10 +61,19 @@
 
 #endif /* !COMPILER_HAVE_SHORT_MEM_OPERAND */
 
-struct __uatomic_dummy {
-       unsigned long v[10];
-};
-#define __hp(x)        ((struct __uatomic_dummy *)(x))
+/*
+ * The __hp() macro casts the void pointer @x to a pointer to a structure
+ * containing an array of char of the specified size. This allows passing the
+ * @addr arguments of the following inline functions as "m" and "+m" operands
+ * to the assembly. The @size parameter should be a constant to support
+ * compilers such as clang which do not support VLA. Create typedefs because
+ * C++ does not allow types be defined in casts.
+ */
+
+typedef struct { char v[4]; } __hp_4;
+typedef struct { char v[8]; } __hp_8;
+
+#define __hp(size, x)  ((__hp_##size *)(x))
 
 /* xchg */
 
@@ -79,8 +88,8 @@
                __asm__ __volatile__(
                        "0:     cs %0,%2," MEMOP_REF(%3) "\n"
                        "       brc 4,0b\n"
-                       : "=&r" (old_val), MEMOP_OUT (__hp(addr))
-                       : "r" (val), MEMOP_IN (__hp(addr))
+                       : "=&r" (old_val), MEMOP_OUT (__hp(4, addr))
+                       : "r" (val), MEMOP_IN (__hp(4, addr))
                        : "memory", "cc");
                return old_val;
        }
@@ -92,8 +101,8 @@
                __asm__ __volatile__(
                        "0:     csg %0,%2," MEMOP_REF(%3) "\n"
                        "       brc 4,0b\n"
-                       : "=&r" (old_val), MEMOP_OUT (__hp(addr))
-                       : "r" (val), MEMOP_IN (__hp(addr))
+                       : "=&r" (old_val), MEMOP_OUT (__hp(8, addr))
+                       : "r" (val), MEMOP_IN (__hp(8, addr))
                        : "memory", "cc");
                return old_val;
        }
@@ -123,8 +132,8 @@
 
                __asm__ __volatile__(
                        "       cs %0,%2," MEMOP_REF(%3) "\n"
-                       : "+r" (old_val), MEMOP_OUT (__hp(addr))
-                       : "r" (_new), MEMOP_IN (__hp(addr))
+                       : "+r" (old_val), MEMOP_OUT (__hp(4, addr))
+                       : "r" (_new), MEMOP_IN (__hp(4, addr))
                        : "memory", "cc");
                return old_val;
        }
@@ -133,8 +142,8 @@
        {
                __asm__ __volatile__(
                        "       csg %0,%2," MEMOP_REF(%3) "\n"
-                       : "+r" (old), MEMOP_OUT (__hp(addr))
-                       : "r" (_new), MEMOP_IN (__hp(addr))
+                       : "+r" (old), MEMOP_OUT (__hp(8, addr))
+                       : "r" (_new), MEMOP_IN (__hp(8, addr))
                        : "memory", "cc");
                return old;
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/userspace-rcu-0.13.0/include/urcu/uatomic/x86.h 
new/userspace-rcu-0.13.1/include/urcu/uatomic/x86.h
--- old/userspace-rcu-0.13.0/include/urcu/uatomic/x86.h 2021-06-03 
20:44:03.000000000 +0200
+++ new/userspace-rcu-0.13.1/include/urcu/uatomic/x86.h 2022-01-05 
21:38:11.000000000 +0100
@@ -36,10 +36,21 @@
  * Derived from AO_compare_and_swap() and AO_test_and_set_full().
  */
 
-struct __uatomic_dummy {
-       unsigned long v[10];
-};
-#define __hp(x)        ((struct __uatomic_dummy *)(x))
+/*
+ * The __hp() macro casts the void pointer @x to a pointer to a structure
+ * containing an array of char of the specified size. This allows passing the
+ * @addr arguments of the following inline functions as "m" and "+m" operands
+ * to the assembly. The @size parameter should be a constant to support
+ * compilers such as clang which do not support VLA. Create typedefs because
+ * C++ does not allow types be defined in casts.
+ */
+
+typedef struct { char v[1]; } __hp_1;
+typedef struct { char v[2]; } __hp_2;
+typedef struct { char v[4]; } __hp_4;
+typedef struct { char v[8]; } __hp_8;
+
+#define __hp(size, x)  ((__hp_##size *)(x))
 
 #define _uatomic_set(addr, v)  ((void) CMM_STORE_SHARED(*(addr), (v)))
 
@@ -56,7 +67,7 @@
 
                __asm__ __volatile__(
                "lock; cmpxchgb %2, %1"
-                       : "+a"(result), "+m"(*__hp(addr))
+                       : "+a"(result), "+m"(*__hp(1, addr))
                        : "q"((unsigned char)_new)
                        : "memory");
                return result;
@@ -67,7 +78,7 @@
 
                __asm__ __volatile__(
                "lock; cmpxchgw %2, %1"
-                       : "+a"(result), "+m"(*__hp(addr))
+                       : "+a"(result), "+m"(*__hp(2, addr))
                        : "r"((unsigned short)_new)
                        : "memory");
                return result;
@@ -78,7 +89,7 @@
 
                __asm__ __volatile__(
                "lock; cmpxchgl %2, %1"
-                       : "+a"(result), "+m"(*__hp(addr))
+                       : "+a"(result), "+m"(*__hp(4, addr))
                        : "r"((unsigned int)_new)
                        : "memory");
                return result;
@@ -90,7 +101,7 @@
 
                __asm__ __volatile__(
                "lock; cmpxchgq %2, %1"
-                       : "+a"(result), "+m"(*__hp(addr))
+                       : "+a"(result), "+m"(*__hp(8, addr))
                        : "r"((unsigned long)_new)
                        : "memory");
                return result;
@@ -123,7 +134,7 @@
                unsigned char result;
                __asm__ __volatile__(
                "xchgb %0, %1"
-                       : "=q"(result), "+m"(*__hp(addr))
+                       : "=q"(result), "+m"(*__hp(1, addr))
                        : "0" ((unsigned char)val)
                        : "memory");
                return result;
@@ -133,7 +144,7 @@
                unsigned short result;
                __asm__ __volatile__(
                "xchgw %0, %1"
-                       : "=r"(result), "+m"(*__hp(addr))
+                       : "=r"(result), "+m"(*__hp(2, addr))
                        : "0" ((unsigned short)val)
                        : "memory");
                return result;
@@ -143,7 +154,7 @@
                unsigned int result;
                __asm__ __volatile__(
                "xchgl %0, %1"
-                       : "=r"(result), "+m"(*__hp(addr))
+                       : "=r"(result), "+m"(*__hp(4, addr))
                        : "0" ((unsigned int)val)
                        : "memory");
                return result;
@@ -154,7 +165,7 @@
                unsigned long result;
                __asm__ __volatile__(
                "xchgq %0, %1"
-                       : "=r"(result), "+m"(*__hp(addr))
+                       : "=r"(result), "+m"(*__hp(8, addr))
                        : "0" ((unsigned long)val)
                        : "memory");
                return result;
@@ -187,7 +198,7 @@
 
                __asm__ __volatile__(
                "lock; xaddb %1, %0"
-                       : "+m"(*__hp(addr)), "+q" (result)
+                       : "+m"(*__hp(1, addr)), "+q" (result)
                        :
                        : "memory");
                return result + (unsigned char)val;
@@ -198,7 +209,7 @@
 
                __asm__ __volatile__(
                "lock; xaddw %1, %0"
-                       : "+m"(*__hp(addr)), "+r" (result)
+                       : "+m"(*__hp(2, addr)), "+r" (result)
                        :
                        : "memory");
                return result + (unsigned short)val;
@@ -209,7 +220,7 @@
 
                __asm__ __volatile__(
                "lock; xaddl %1, %0"
-                       : "+m"(*__hp(addr)), "+r" (result)
+                       : "+m"(*__hp(4, addr)), "+r" (result)
                        :
                        : "memory");
                return result + (unsigned int)val;
@@ -221,7 +232,7 @@
 
                __asm__ __volatile__(
                "lock; xaddq %1, %0"
-                       : "+m"(*__hp(addr)), "+r" (result)
+                       : "+m"(*__hp(8, addr)), "+r" (result)
                        :
                        : "memory");
                return result + (unsigned long)val;
@@ -251,7 +262,7 @@
        {
                __asm__ __volatile__(
                "lock; andb %1, %0"
-                       : "=m"(*__hp(addr))
+                       : "=m"(*__hp(1, addr))
                        : "iq" ((unsigned char)val)
                        : "memory");
                return;
@@ -260,7 +271,7 @@
        {
                __asm__ __volatile__(
                "lock; andw %1, %0"
-                       : "=m"(*__hp(addr))
+                       : "=m"(*__hp(2, addr))
                        : "ir" ((unsigned short)val)
                        : "memory");
                return;
@@ -269,7 +280,7 @@
        {
                __asm__ __volatile__(
                "lock; andl %1, %0"
-                       : "=m"(*__hp(addr))
+                       : "=m"(*__hp(4, addr))
                        : "ir" ((unsigned int)val)
                        : "memory");
                return;
@@ -279,7 +290,7 @@
        {
                __asm__ __volatile__(
                "lock; andq %1, %0"
-                       : "=m"(*__hp(addr))
+                       : "=m"(*__hp(8, addr))
                        : "er" ((unsigned long)val)
                        : "memory");
                return;
@@ -307,7 +318,7 @@
        {
                __asm__ __volatile__(
                "lock; orb %1, %0"
-                       : "=m"(*__hp(addr))
+                       : "=m"(*__hp(1, addr))
                        : "iq" ((unsigned char)val)
                        : "memory");
                return;
@@ -316,7 +327,7 @@
        {
                __asm__ __volatile__(
                "lock; orw %1, %0"
-                       : "=m"(*__hp(addr))
+                       : "=m"(*__hp(2, addr))
                        : "ir" ((unsigned short)val)
                        : "memory");
                return;
@@ -325,7 +336,7 @@
        {
                __asm__ __volatile__(
                "lock; orl %1, %0"
-                       : "=m"(*__hp(addr))
+                       : "=m"(*__hp(4, addr))
                        : "ir" ((unsigned int)val)
                        : "memory");
                return;
@@ -335,7 +346,7 @@
        {
                __asm__ __volatile__(
                "lock; orq %1, %0"
-                       : "=m"(*__hp(addr))
+                       : "=m"(*__hp(8, addr))
                        : "er" ((unsigned long)val)
                        : "memory");
                return;
@@ -363,7 +374,7 @@
        {
                __asm__ __volatile__(
                "lock; addb %1, %0"
-                       : "=m"(*__hp(addr))
+                       : "=m"(*__hp(1, addr))
                        : "iq" ((unsigned char)val)
                        : "memory");
                return;
@@ -372,7 +383,7 @@
        {
                __asm__ __volatile__(
                "lock; addw %1, %0"
-                       : "=m"(*__hp(addr))
+                       : "=m"(*__hp(2, addr))
                        : "ir" ((unsigned short)val)
                        : "memory");
                return;
@@ -381,7 +392,7 @@
        {
                __asm__ __volatile__(
                "lock; addl %1, %0"
-                       : "=m"(*__hp(addr))
+                       : "=m"(*__hp(4, addr))
                        : "ir" ((unsigned int)val)
                        : "memory");
                return;
@@ -391,7 +402,7 @@
        {
                __asm__ __volatile__(
                "lock; addq %1, %0"
-                       : "=m"(*__hp(addr))
+                       : "=m"(*__hp(8, addr))
                        : "er" ((unsigned long)val)
                        : "memory");
                return;
@@ -420,7 +431,7 @@
        {
                __asm__ __volatile__(
                "lock; incb %0"
-                       : "=m"(*__hp(addr))
+                       : "=m"(*__hp(1, addr))
                        :
                        : "memory");
                return;
@@ -429,7 +440,7 @@
        {
                __asm__ __volatile__(
                "lock; incw %0"
-                       : "=m"(*__hp(addr))
+                       : "=m"(*__hp(2, addr))
                        :
                        : "memory");
                return;
@@ -438,7 +449,7 @@
        {
                __asm__ __volatile__(
                "lock; incl %0"
-                       : "=m"(*__hp(addr))
+                       : "=m"(*__hp(4, addr))
                        :
                        : "memory");
                return;
@@ -448,7 +459,7 @@
        {
                __asm__ __volatile__(
                "lock; incq %0"
-                       : "=m"(*__hp(addr))
+                       : "=m"(*__hp(8, addr))
                        :
                        : "memory");
                return;
@@ -473,7 +484,7 @@
        {
                __asm__ __volatile__(
                "lock; decb %0"
-                       : "=m"(*__hp(addr))
+                       : "=m"(*__hp(1, addr))
                        :
                        : "memory");
                return;
@@ -482,7 +493,7 @@
        {
                __asm__ __volatile__(
                "lock; decw %0"
-                       : "=m"(*__hp(addr))
+                       : "=m"(*__hp(2, addr))
                        :
                        : "memory");
                return;
@@ -491,7 +502,7 @@
        {
                __asm__ __volatile__(
                "lock; decl %0"
-                       : "=m"(*__hp(addr))
+                       : "=m"(*__hp(4, addr))
                        :
                        : "memory");
                return;
@@ -501,7 +512,7 @@
        {
                __asm__ __volatile__(
                "lock; decq %0"
-                       : "=m"(*__hp(addr))
+                       : "=m"(*__hp(8, addr))
                        :
                        : "memory");
                return;
@@ -518,7 +529,7 @@
 
 #define _uatomic_dec(addr)     (__uatomic_dec((addr), sizeof(*(addr))))
 
-#if ((CAA_BITS_PER_LONG != 64) && defined(URCU_ARCH_I386))
+#ifdef URCU_ARCH_X86_NO_CAS
 
 /* For backwards compat */
 #define CONFIG_RCU_COMPAT_ARCH 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/userspace-rcu-0.13.0/m4/ae_config_feature.m4 
new/userspace-rcu-0.13.1/m4/ae_config_feature.m4
--- old/userspace-rcu-0.13.0/m4/ae_config_feature.m4    2021-06-03 
20:44:03.000000000 +0200
+++ new/userspace-rcu-0.13.1/m4/ae_config_feature.m4    2022-01-05 
21:38:11.000000000 +0100
@@ -95,7 +95,7 @@
 #   modified version of the Autoconf Macro, you may extend this special
 #   exception to the GPL to apply to your modified version as well.
 
-#serial 1
+#serial 2
 
 
 # AE_FEATURE_DEFAULT_ENABLE: The next feature defined with AE_FEATURE will
@@ -230,7 +230,7 @@
 
 AC_ARG_ENABLE([$1],
   AS_HELP_STRING([--ae_feature_default_switch-$1],dnl
-                 [$2 [default=ae_feature_default_arg]]),[
+                 [$2]),[
 case "${enableval}" in
    yes)
      enable_[]FEATURE[]=yes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/userspace-rcu-0.13.0/m4/libtool.m4 new/userspace-rcu-0.13.1/m4/libtool.m4
--- old/userspace-rcu-0.13.0/m4/libtool.m4      2017-06-20 21:49:26.000000000 
+0200
+++ new/userspace-rcu-0.13.1/m4/libtool.m4      2021-12-10 04:10:58.000000000 
+0100
@@ -4063,7 +4063,8 @@
   if AC_TRY_EVAL(ac_compile); then
     # Now try to grab the symbols.
     nlist=conftest.nm
-    if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" 
\> $nlist) && test -s "$nlist"; then
+    $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | 
$lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD
+    if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> 
$nlist 2>&AS_MESSAGE_LOG_FD && test -s "$nlist"; then
       # Try sorting and uniquifying the output.
       if sort "$nlist" | uniq > "$nlist"T; then
        mv -f "$nlist"T "$nlist"
@@ -6438,7 +6439,7 @@
       # Commands to make compiler produce verbose output that lists
       # what "hidden" libraries, object files and flags are used when
       # linking a shared library.
-      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | 
$GREP -v "^Configured with:" | $GREP "\-L"'
+      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | 
$GREP -v "^Configured with:" | $GREP " \-L"'
 
     else
       GXX=no
@@ -6813,7 +6814,7 @@
             # explicitly linking system object files so we need to strip them
             # from the output so that they don't get included in the library
             # dependencies.
-            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v 
conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z 
in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; 
done; func_echo_all "$list"'
+            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v 
conftest.$objext 2>&1) | $EGREP " \-L"`; list= ; for z in $templist; do case $z 
in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; 
done; func_echo_all "$list"'
             ;;
           *)
             if test yes = "$GXX"; then
@@ -6878,7 +6879,7 @@
            # explicitly linking system object files so we need to strip them
            # from the output so that they don't get included in the library
            # dependencies.
-           output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v 
conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z 
in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; 
done; func_echo_all "$list"'
+           output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v 
conftest.$objext 2>&1) | $GREP " \-L"`; list= ; for z in $templist; do case $z 
in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; 
done; func_echo_all "$list"'
            ;;
           *)
            if test yes = "$GXX"; then
@@ -7217,7 +7218,7 @@
              # Commands to make compiler produce verbose output that lists
              # what "hidden" libraries, object files and flags are used when
              # linking a shared library.
-             output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 
2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+             output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 
2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
 
            else
              # FIXME: insert proper C++ library support
@@ -7301,7 +7302,7 @@
                # Commands to make compiler produce verbose output that lists
                # what "hidden" libraries, object files and flags are used when
                # linking a shared library.
-               output_verbose_link_cmd='$CC -shared $CFLAGS -v 
conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+               output_verbose_link_cmd='$CC -shared $CFLAGS -v 
conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
              else
                # g++ 2.7 appears to require '-G' NOT '-shared' on this
                # platform.
@@ -7312,7 +7313,7 @@
                # Commands to make compiler produce verbose output that lists
                # what "hidden" libraries, object files and flags are used when
                # linking a shared library.
-               output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 
2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+               output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 
2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
              fi
 
              _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/userspace-rcu-0.13.0/m4/ltsugar.m4 new/userspace-rcu-0.13.1/m4/ltsugar.m4
--- old/userspace-rcu-0.13.0/m4/ltsugar.m4      2016-05-12 17:27:36.000000000 
+0200
+++ new/userspace-rcu-0.13.1/m4/ltsugar.m4      2021-12-10 04:10:58.000000000 
+0100
@@ -1,6 +1,7 @@
 # ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
 #
-# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
+# Foundation, Inc.
 # Written by Gary V. Vaughan, 2004
 #
 # This file is free software; the Free Software Foundation gives
@@ -33,7 +34,7 @@
 # ------------
 # Manipulate m4 lists.
 # These macros are necessary as long as will still need to support
-# Autoconf-2.59 which quotes differently.
+# Autoconf-2.59, which quotes differently.
 m4_define([lt_car], [[$1]])
 m4_define([lt_cdr],
 [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
@@ -44,7 +45,7 @@
 
 # lt_append(MACRO-NAME, STRING, [SEPARATOR])
 # ------------------------------------------
-# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
+# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'.
 # Note that neither SEPARATOR nor STRING are expanded; they are appended
 # to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
 # No SEPARATOR is output if MACRO-NAME was previously undefined (different
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/userspace-rcu-0.13.0/m4/lt~obsolete.m4 
new/userspace-rcu-0.13.1/m4/lt~obsolete.m4
--- old/userspace-rcu-0.13.0/m4/lt~obsolete.m4  2016-05-12 17:27:36.000000000 
+0200
+++ new/userspace-rcu-0.13.1/m4/lt~obsolete.m4  2021-12-10 04:10:58.000000000 
+0100
@@ -1,6 +1,7 @@
 # lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
 #
-#   Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
+#   Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software
+#   Foundation, Inc.
 #   Written by Scott James Remnant, 2004.
 #
 # This file is free software; the Free Software Foundation gives
@@ -11,7 +12,7 @@
 
 # These exist entirely to fool aclocal when bootstrapping libtool.
 #
-# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN),
 # which have later been changed to m4_define as they aren't part of the
 # exported API, or moved to Autoconf or Automake where they belong.
 #
@@ -25,7 +26,7 @@
 # included after everything else.  This provides aclocal with the
 # AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
 # because those macros already exist, or will be overwritten later.
-# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. 
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
 #
 # Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
 # Yes, that means every name once taken will need to remain here until
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/userspace-rcu-0.13.0/src/Makefile.am 
new/userspace-rcu-0.13.1/src/Makefile.am
--- old/userspace-rcu-0.13.0/src/Makefile.am    2021-06-03 20:44:03.000000000 
+0200
+++ new/userspace-rcu-0.13.1/src/Makefile.am    2022-01-05 21:38:11.000000000 
+0100
@@ -52,7 +52,7 @@
 
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = liburcu-cds.pc liburcu.pc liburcu-bp.pc liburcu-qsbr.pc \
-       liburcu-signal.pc liburcu-mb.pc
+       liburcu-signal.pc liburcu-mb.pc liburcu-memb.pc
 
 EXTRA_DIST = \
        urcu-call-rcu-impl.h \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/userspace-rcu-0.13.0/src/compat_arch.c 
new/userspace-rcu-0.13.1/src/compat_arch.c
--- old/userspace-rcu-0.13.0/src/compat_arch.c  2021-06-03 20:44:03.000000000 
+0200
+++ new/userspace-rcu-0.13.1/src/compat_arch.c  2022-01-05 21:38:11.000000000 
+0100
@@ -22,7 +22,7 @@
 
 #include <urcu/arch.h>
 
-#if defined(URCU_ARCH_I386)
+#ifdef URCU_ARCH_X86_NO_CAS
 
 #include <stdio.h>
 #include <pthread.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/userspace-rcu-0.13.0/src/liburcu-memb.pc.in 
new/userspace-rcu-0.13.1/src/liburcu-memb.pc.in
--- old/userspace-rcu-0.13.0/src/liburcu-memb.pc.in     1970-01-01 
01:00:00.000000000 +0100
+++ new/userspace-rcu-0.13.1/src/liburcu-memb.pc.in     2022-01-05 
21:04:04.000000000 +0100
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: Userspace RCU membarrier syscall
+Description: A userspace RCU (read-copy-update) library, membarrier syscall 
version
+Version: @PACKAGE_VERSION@
+Requires:
+Libs: -L${libdir} -lurcu-common -lurcu-memb
+Cflags: -I${includedir}

Reply via email to