X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=README.md;h=a8318c823cca7dd026c284ce1521d95df731e7a1;hp=8dfd5e96a62ab2cc048e54e26a111bcc7b357894;hb=4d1f67b9026ca2a11854929f66833ad3d13dd2da;hpb=ddec79fd4f75b5ae0c49ee25c843220cf060cb96 diff --git a/README.md b/README.md index 8dfd5e9..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: @@ -108,7 +103,7 @@ This source tree is based on the autotools suite from GNU to simplify portability. Here are some things you should have on your system in order to compile the git repository tree : - - GNU autotools (automake >=1.10, autoconf >=2.50, autoheader >=2.50) + - GNU autotools (automake >=1.12, autoconf >=2.69) (make sure your system wide `automake` points to a recent version!) - GNU Libtool >=2.2 (for more information, go to http://www.gnu.org/software/autoconf/) @@ -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 --------