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>
Wed, 16 Jun 2021 17:00:58 +0000 (13:00 -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 6dbf19f7f12f5b19813614d9c4c216a6c0c422c3..f2c030afd3d74df52bbd5c9b0a39d483f7cc4bdf 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 28d037b7b34596a551d9446f41ab123a5a6e0444..8e94bd0eec61fc0332185d8e9d395c4c37cfb908 100644 (file)
@@ -492,7 +492,7 @@ AC_SUBST(UUID_LIBS)
 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], [],
@@ -517,9 +517,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.027033 seconds and 4 git commands to generate.