Fix static linking: fix symbol name namespaces
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thu, 1 Nov 2012 21:49:39 +0000 (17:49 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thu, 1 Nov 2012 21:49:39 +0000 (17:49 -0400)
commit1de4df4b770e5e90440008becc5e14a15c75c6e0
tree2250234bffd4a0ebe58b53c32c6b77ffa5159eac
parentc961f4f335c90032890f49ae790d0c4b560fd834
Fix static linking: fix symbol name namespaces

gp_futex, yield_active, rand_yield, has_sys_membarrier, rcu_defer_exit,
call_rcu_data_free, call_rcu_before_fork, call_rcu_after_fork_parent,
call_rcu_after_fork_child are exported by each urcu flavor.

In order to fix use-cases where multiple flavors are statically linked
into the same application, we need to move these symbols to local
namespaces.

Ensure that all symbols are prefixed by "rcu_".

Also add each of those symbols into urcu/map/*.h headers, so they get
mapped to their flavor-specific symbol name by the preprocessor.

This requires bumping our .so version from 1.0.0 to 2.0.0, because it
changes some symbol names.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
19 files changed:
configure.ac
tests/test_urcu.c
tests/test_urcu_assign.c
tests/test_urcu_bp.c
tests/test_urcu_defer.c
tests/test_urcu_gc.c
tests/test_urcu_hash_rw.c
tests/test_urcu_hash_unique.c
tests/test_urcu_qsbr.c
tests/test_urcu_qsbr_gc.c
urcu-bp.c
urcu-qsbr.c
urcu.c
urcu/map/urcu-bp.h
urcu/map/urcu-qsbr.h
urcu/map/urcu.h
urcu/static/urcu-bp.h
urcu/static/urcu-qsbr.h
urcu/static/urcu.h
This page took 0.041604 seconds and 4 git commands to generate.