From 313a8d6e4dc39c47fbc253802f60415b5f37e0d3 Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Thu, 3 Jun 2021 14:30:40 -0400 Subject: [PATCH] Document known ABI issue in README.md Signed-off-by: Mathieu Desnoyers Change-Id: Ic4bc9273eb63e051eb1da122bee4f99a8eefafd3 --- README.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/README.md b/README.md index 8dfd5e9..b1a2990 100644 --- a/README.md +++ b/README.md @@ -441,6 +441,33 @@ In addition to the usual `make check` target, Userspace RCU features - `make bench`: long (many hours) benchmarks. +Known issues +------------ + +There is an application vs library compatibility issue between +applications built using Userspace RCU 0.10 headers linked against +Userspace RCU 0.11 or 0.12 shared objects. The problem occurs as +follows: + + - An application executable is built with _LGPL_SOURCE defined, includes + any of the Userspace RCU 0.10 urcu flavor headers, and is built + without the -fpic compiler option. + + - The Userspace RCU 0.10 library shared objects are updated to 0.11 + or 0.12 without rebuilding the application. + + - The application will hang, typically when RCU grace period + (synchronize_rcu) is invoked. + +Some possible work-arounds for this are: + + - Rebuild the application against Userspace RCU 0.11+. + + - Rebuild the application with -fpic. + + - Upgrade Userspace RCU to 0.13+ without installing 0.11 nor 0.12. + + Contacts -------- -- 2.34.1