Commit
4d0d66bb795d1ed938e11a97a4e5f71326e20c71, implementing
tls-compat.h for pthread TLS compatibility, adds a prefix in front of
each TLS symbol (__tls_*). However, some of these symbols are exported
by the URCU library (e.g. rcu_reader_mb, defined in urcu.c as
"rcu_reader", which is overloaded by the urcu/map/urcu.h) to
applications. Therefore, this breaks binary compatibility with 0.6.x
versions of the library. This is not intended, and therefore is a bug,
so we remove this __tls_* prefix from the variables declared, defined
and referenced to through the tls-compat.h API for compilers supporting
"__thread".
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
#ifdef CONFIG_RCU_TLS /* Based on ax_tls.m4 */
# define DECLARE_URCU_TLS(type, name) \
- CONFIG_RCU_TLS type __tls_ ## name
+ CONFIG_RCU_TLS type name
# define DEFINE_URCU_TLS(type, name) \
- CONFIG_RCU_TLS type __tls_ ## name
+ CONFIG_RCU_TLS type name
-# define URCU_TLS(name) (__tls_ ## name)
+# define URCU_TLS(name) (name)
#else /* #ifndef CONFIG_RCU_TLS */