From 43f53c966a8124fa2220971899e74c9a197d36ac 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 d39de22..02b903a 100644 --- a/README.md +++ b/README.md @@ -433,6 +433,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.39.5