summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2013-03-08 12:32:38 +0200
committerMichael Niedermayer <michaelni@gmx.at>2013-03-12 10:41:02 +0100
commitc48828f763672e45f0b1a20de41fb7ddd744462b (patch)
treef1d4afdd4b5285e18a6b54c7f49b098838f972a3 /configure
parentc536253854eadf9ebf5aa0506657f9c24e522e57 (diff)
atomic: Check for __sync_val_compare_and_swap instead of __sync_synchronize
Not all gcc configurations have an implementation of all the atomic operations, and some gcc configurations have some atomic builtins implemented but not all. Thus check for the most essential function, whose presence should indicate that all others are present as well, since it can be used to implement all the other ones. Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure4
1 files changed, 2 insertions, 2 deletions
diff --git a/configure b/configure
index 1b1f6f890a..cce71abc87 100755
--- a/configure
+++ b/configure
@@ -1482,7 +1482,7 @@ HAVE_LIST="
struct_v4l2_frmivalenum_discrete
symver_asm_label
symver_gnu_asm
- sync_synchronize
+ sync_val_compare_and_swap
sysconf
sysctl
sys_mman_h
@@ -3795,7 +3795,7 @@ check_func_headers malloc.h _aligned_malloc && enable aligned_malloc
check_func setrlimit
check_func strerror_r
check_func sched_getaffinity
-check_builtin sync_synchronize "" "__sync_synchronize()"
+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 MemoryBarrier windows.h "MemoryBarrier()"
check_func sysconf