From 817dff578f13ce97576c609ab141508b9dc782e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Thu, 28 Mar 2013 10:48:39 +0100 Subject: [PATCH] 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. --- configure | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/configure b/configure index 7f77b007e6..46635ce21f 100755 --- a/configure +++ b/configure @@ -1241,6 +1241,7 @@ HAVE_LIST=" arpa_inet_h asm_mod_q asm_mod_y + atomic_cas_ptr atomics_native attribute_may_alias attribute_packed @@ -3467,6 +3468,7 @@ check_func strtok_r 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 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_func sysconf check_func sysctl @@ -3537,7 +3539,7 @@ for thread in $THREADS_LIST; do done 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 check_lib math.h sin -lm && LIBM="-lm"