configure: Check for the atomic.h functions used in the suncc atomics header
The "suncc" atomics implementation uses a suncc specific memory barrier, but also relies on a few atomic functions from atomic.h, that are not suncc specific but specific to solaris. This made the current implementation fail on suncc on linux.
This commit is contained in:

committed by
Anton Khirnov

parent
f9f6402e9c
commit
817dff578f
4
configure
vendored
4
configure
vendored
@@ -1241,6 +1241,7 @@ HAVE_LIST="
|
|||||||
arpa_inet_h
|
arpa_inet_h
|
||||||
asm_mod_q
|
asm_mod_q
|
||||||
asm_mod_y
|
asm_mod_y
|
||||||
|
atomic_cas_ptr
|
||||||
atomics_native
|
atomics_native
|
||||||
attribute_may_alias
|
attribute_may_alias
|
||||||
attribute_packed
|
attribute_packed
|
||||||
@@ -3467,6 +3468,7 @@ check_func strtok_r
|
|||||||
check_func sched_getaffinity
|
check_func sched_getaffinity
|
||||||
check_builtin sync_val_compare_and_swap "" "int *ptr; int oldval, newval; __sync_val_compare_and_swap(ptr, oldval, newval)"
|
check_builtin sync_val_compare_and_swap "" "int *ptr; int oldval, newval; __sync_val_compare_and_swap(ptr, oldval, newval)"
|
||||||
check_builtin machine_rw_barrier mbarrier.h "__machine_rw_barrier()"
|
check_builtin machine_rw_barrier mbarrier.h "__machine_rw_barrier()"
|
||||||
|
check_builtin atomic_cas_ptr atomic.h "void **ptr; void *oldval, *newval; atomic_cas_ptr(ptr, oldval, newval)"
|
||||||
check_builtin MemoryBarrier windows.h "MemoryBarrier()"
|
check_builtin MemoryBarrier windows.h "MemoryBarrier()"
|
||||||
check_func sysconf
|
check_func sysconf
|
||||||
check_func sysctl
|
check_func sysctl
|
||||||
@@ -3537,7 +3539,7 @@ for thread in $THREADS_LIST; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
enabled sync_val_compare_and_swap && enable atomics_gcc
|
enabled sync_val_compare_and_swap && enable atomics_gcc
|
||||||
enabled machine_rw_barrier && enable atomics_suncc
|
enabled machine_rw_barrier && enabled atomic_cas_ptr && enable atomics_suncc
|
||||||
enabled MemoryBarrier && enable atomics_win32
|
enabled MemoryBarrier && enable atomics_win32
|
||||||
|
|
||||||
check_lib math.h sin -lm && LIBM="-lm"
|
check_lib math.h sin -lm && LIBM="-lm"
|
||||||
|
Reference in New Issue
Block a user