X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=README.md;h=a8318c823cca7dd026c284ce1521d95df731e7a1;hp=2b89ffa0af9f35469f7839568706829a20a6d3ac;hb=4d1f67b9026ca2a11854929f66833ad3d13dd2da;hpb=afb6113ffba9d494ec90d773aed3e83acd299473 diff --git a/README.md b/README.md index 2b89ffa..a8318c8 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ Tested on: - FreeBSD 8.2/8.3/9.0/9.1/10.0 i386/amd64 - Solaris 10/11 i386 - Cygwin i386/amd64 - - MacOSX amd64 + - MacOS amd64/arm64 Should also work on: @@ -72,6 +72,9 @@ Should also work on: Linux ARM depends on running a Linux kernel 2.6.15 or better, GCC 4.4 or better. +The C compiler used needs to support at least C99. The C++ compiler used +needs to support at least C++11. + The GCC compiler versions 3.3, 3.4, 4.0, 4.1, 4.2, 4.3, 4.4 and 4.5 are supported, with the following exceptions: @@ -91,16 +94,8 @@ supported, with the following exceptions: Clang version 3.0 (based on LLVM 3.0) is supported. -Building on MacOS X (Darwin) requires a work-around for processor -detection: - - - 32-bit: - - ./configure --build=i686-apple-darwin11 - - - 64-bit: - - ./configure --build=x86_64-apple-darwin11 +Glibc >= 2.4 should work but the older version we test against is +currently 2.17. For developers using the Git tree: @@ -441,6 +436,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 --------