urcu-defer: generate linker error if call_rcu() is used
[urcu.git] / urcu-pointer.c
index 79ee72a..1c5f6bd 100644 (file)
@@ -24,6 +24,8 @@
  * IBM's contributions to this file may be relicensed under LGPLv2 or later.
  */
 
+#include <urcu/uatomic_arch.h>
+
 #include "urcu-pointer-static.h"
 /* Do not #define _LGPL_SOURCE to ensure we can emit the wrapper symbols */
 #include "urcu-pointer.h"
@@ -38,7 +40,7 @@ void *rcu_dereference_sym(void *p)
 void *rcu_set_pointer_sym(void **p, void *v)
 {
        wmb();
-       return STORE_SHARED(*p, v);
+       return uatomic_set(p, v);
 }
 
 void *rcu_xchg_pointer_sym(void **p, void *v)
@@ -50,9 +52,5 @@ void *rcu_xchg_pointer_sym(void **p, void *v)
 void *rcu_cmpxchg_pointer_sym(void **p, void *old, void *_new)
 {
        wmb();
-       if (likely(URCU_CAS_AVAIL()))
-               return uatomic_cmpxchg(p, old, _new);
-
-       /* Compatibility for i386. Old-timer. */
-       return compat_uatomic_cmpxchg(p, old, _new);
+       return uatomic_cmpxchg(p, old, _new);
 }
This page took 0.028889 seconds and 4 git commands to generate.