From 15076a788437a143af0b3841ce2b223fba2cbf29 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=A9mie=20Galarneau?= Date: Mon, 14 Jun 2021 15:21:23 -0400 Subject: [PATCH] Fix: bump minimal urcu dependency to 0.11 MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 Change-Id: I7d8daba877cbdcfaf93cdc4c9b16a3b3df974782 --- README.md | 2 +- configure.ac | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 92df20daf..6c67291d6 100644 --- 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` diff --git a/configure.ac b/configure.ac index 9545673c8..5bc6b8a90 100644 --- a/configure.ac +++ b/configure.ac @@ -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 ]] ) -#Function added in urcu 0.9.0 -AC_CHECK_DECL([urcu_ref_get_unless_zero], [], - [AC_MSG_ERROR([WRONG_LIBURCU_MSG])], [[#include ]] +#Function added in urcu 0.11.0 +AC_CHECK_DECL([urcu_memb_barrier], [], + [AC_MSG_ERROR([WRONG_LIBURCU_MSG])], [[#include ]] ) # Check for libkmod, it will be auto-neabled if found but won't fail if it's not, -- 2.34.1