- 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:
- Alpha, ia64 and ARM architectures depend on GCC 4.x with atomic builtins
support. For ARM this was introduced with GCC 4.4:
http://gcc.gnu.org/gcc-4.4/changes.html.
+ - Linux aarch64 depends on GCC 5.1 or better because prior versions
+ perform unsafe access to deallocated stack.
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:
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/)
The BP library flavor stands for "bulletproof". It is specifically
designed to help tracing library to hook on applications without
-requiring to modify these applications. `urcu_bp_init()`,
-`urcu_bp_register_thread()` and `urcu_bp_unregister_thread()` all become
-nops. The state is dealt with by the library internally at the expense
-of read-side and write-side performance.
+requiring to modify these applications. `urcu_bp_init()`, and
+`urcu_bp_unregister_thread()` all become nops, whereas calling
+`urcu_bp_register_thread()` becomes optional. The state is dealt with by
+the library internally at the expense of read-side and write-side
+performance.
### Initialization
./configure --enable-rcu-debug
For fine grained enabling of debugging self-checks, build
-urserspace-rcu with DEBUG_RCU defined and compile dependent
+userspace-rcu with DEBUG_RCU defined and compile dependent
applications with DEBUG_RCU defined when necessary.
Warning: Enabling this feature result in a performance penalty.