Il 09/11/2013 19:09, Peter Maydell ha scritto: > Ping! This is needed as a build-fix for MacOSX and didn't > make it into 1.7-rc0. Paolo, can I get you to review this?
I thought I already had done that, anyway: >> diff --git a/include/qemu/atomic.h b/include/qemu/atomic.h >> index 0aa8913..492bce1 100644 >> --- a/include/qemu/atomic.h >> +++ b/include/qemu/atomic.h >> @@ -168,14 +168,14 @@ >> #endif >> >> #ifndef atomic_xchg >> -#ifdef __ATOMIC_SEQ_CST >> +#if defined(__clang__) >> +#define atomic_xchg(ptr, i) __sync_swap(ptr, i) >> +#elif defined(__ATOMIC_SEQ_CST) >> #define atomic_xchg(ptr, i) ({ \ >> typeof(*ptr) _new = (i), _old; \ >> __atomic_exchange(ptr, &_new, &_old, __ATOMIC_SEQ_CST); \ >> _old; \ >> }) >> -#elif defined __clang__ >> -#define atomic_xchg(ptr, i) __sync_exchange(ptr, i) >> #else >> /* __sync_lock_test_and_set() is documented to be an acquire barrier only. >> */ >> #define atomic_xchg(ptr, i) (smp_mb(), __sync_lock_test_and_set(ptr, i)) Reviewed-by: Paolo Bonzini <pbonz...@redhat.com>