Document known ABI issue in README.md
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thu, 3 Jun 2021 18:30:40 +0000 (14:30 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thu, 3 Jun 2021 18:40:20 +0000 (14:40 -0400)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: Ic4bc9273eb63e051eb1da122bee4f99a8eefafd3

README.md

index d39de22bdc6efcd9d343355df37772d02b20f4c8..02b903a2e18ea9d533cc4cd31e0b6288a32cc3b6 100644 (file)
--- 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
 --------
 
This page took 0.034717 seconds and 4 git commands to generate.