Fix: bump minimal urcu dependency to 0.11
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Mon, 14 Jun 2021 19:21:23 +0000 (15:21 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Tue, 15 Jun 2021 15:31:48 +0000 (11:31 -0400)
cds_lfht_destroy is used from within RCU read-side critical sections
which is only allowed for urcu >= 0.10 (see userspace-rcu commit
d0ec0ed2f).

Such uses were introduced as part of the 2.11 release (contemporary
to urcu 0.10).

This version of the fix differs from 879000628 since the configure
script has changed significantly for the 2.13 release (use of PKG_CONFIG
rather than looking for a version-specific symbol).

The configure script looks for `urcu_memb_barrier` which was introduced
in liburcu 0.11.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Change-Id: I7d8daba877cbdcfaf93cdc4c9b16a3b3df974782

README.md
configure.ac

index 92df20daf48c94d410c56ebda8580cd1cbb26052..6c67291d6a4af0ed98ffa4522418eb54f2df6a4b 100644 (file)
--- a/README.md
+++ b/README.md
@@ -23,7 +23,7 @@ components:
     that, the kernel version may probably be older, but we can't provide
     any guarantee. Please let us know if you are able to go lower
     without any problems.
-  - **[`liburcu`](http://www.liburcu.org/) >= 0.9.0**: userspace RCU library,
+  - **[`liburcu`](http://www.liburcu.org/) >= 0.11.0**: userspace RCU library,
     by Mathieu Desnoyers and Paul E. McKenney.
   - **`libpopt` >= 1.13**:  command line arguments parsing library.
     - Debian/Ubuntu package: `libpopt-dev`
index 9545673c8aab82c8e4be9eb20aaf6c388c285633..5bc6b8a906bfde6d8ed1583ca13b71f78d124c60 100644 (file)
@@ -481,7 +481,7 @@ PKG_CHECK_MODULES([libxml2], [libxml-2.0 >= 2.7.6])
 AC_CHECK_FUNC([clock_gettime], [AC_DEFINE_UNQUOTED([LTTNG_HAVE_CLOCK_GETTIME], 1, [Has clock_gettime() support.])])
 
 # URCU library version needed or newer
-m4_define([WRONG_LIBURCU_MSG], [Userspace RCU (liburcu) >= 0.9.0 is needed])
+m4_define([WRONG_LIBURCU_MSG], [Userspace RCU (liburcu) >= 0.11.0 is needed])
 
 # Check liburcu needed function calls
 AC_CHECK_DECL([cds_list_add], [],
@@ -506,9 +506,9 @@ AC_CHECK_DECL([cmm_smp_mb__before_uatomic_or], [],
         [AC_MSG_ERROR([WRONG_LIBURCU_MSG])], [[#include <urcu.h>]]
 )
 
-#Function added in urcu 0.9.0
-AC_CHECK_DECL([urcu_ref_get_unless_zero], [],
-        [AC_MSG_ERROR([WRONG_LIBURCU_MSG])], [[#include <urcu/ref.h>]]
+#Function added in urcu 0.11.0
+AC_CHECK_DECL([urcu_memb_barrier], [],
+        [AC_MSG_ERROR([WRONG_LIBURCU_MSG])], [[#include <urcu/urcu-memb.h>]]
 )
 
 # Check for libkmod, it will be auto-neabled if found but won't fail if it's not,
This page took 0.039175 seconds and 4 git commands to generate.