From 96712f860eca478e97626494642305b047504f50 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 6dbf19f7f..f2c030afd 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 28d037b7b..8e94bd0ee 100644 --- a/configure.ac +++ b/configure.ac @@ -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 ]] ) -#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