[lttng-dev] [URCU PATCH] readme: state correct GCC dependency for ARM

Gerlando Falauto gerlando.falauto at keymile.com
Wed Dec 21 08:22:19 EST 2011


If you are trying to compile liburcu for ARM and get errors like:

/usr/local/include/urcu/uatomic/generic.h:180: undefined reference to
`__sync_add_and_fetch_4'
usr/local/lib/liburcu-common.so: undefined reference to
`__sync_lock_test_and_set_4'
/usr/local/lib/liburcu.so: undefined reference to
`__sync_or_and_fetch_4'

please upgrade your GCC to 4.4.
---
 README |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/README b/README
index ce25e3a..104ef2a 100644
--- a/README
+++ b/README
@@ -29,7 +29,7 @@ Currently, x86 (i386, i486, i586, i686), x86 64-bit, PowerPC 32/64, S390, S390x,
 ARM, Alpha, ia64 and Sparcv9 32/64 are supported. Only tested on Linux so
 far, but should theoretically work on other operating systems.
 
-ARM depends on running a Linux kernel 2.6.15 or better.
+ARM depends on running a Linux kernel 2.6.15 or better, GCC 4.4 or better.
 
 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:
@@ -41,8 +41,9 @@ supported, with the following exceptions:
     http://www.mail-archive.com/gcc-bugs@gcc.gnu.org/msg281255.html
 - gcc 3.3 cannot match the "xchg" instruction on 32-bit x86 build.
   See: http://kerneltrap.org/node/7507
-- Alpha, ia64 and ARM architectures depend on 4.x gcc with atomic builtins
-  support.
+- 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
 
 For developers using the git tree:
 
-- 
1.7.1




More information about the lttng-dev mailing list