From 30b2447f7d930b4f1a16f56f5213b2f54de9cf8c Mon Sep 17 00:00:00 2001 From: Sergey Vojtovich Date: Sun, 27 Dec 2015 15:40:34 +0400 Subject: [PATCH] MDEV-9128 - Compiling on IBM System Z fails Provided IBM System Z have outdated compiler version, which supports gcc sync builtins but not gcc atomic builtins. It also has weak memory model. InnoDB attempted to verify if __sync_lock_test_and_set() is available by checking IB_STRONG_MEMORY_MODEL. This macro has nothing to do with availability of __sync_lock_test_and_set(), the right one is HAVE_ATOMIC_BUILTINS. --- storage/xtradb/include/os0sync.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/storage/xtradb/include/os0sync.h b/storage/xtradb/include/os0sync.h index 56c094547b1..db996b096bb 100644 --- a/storage/xtradb/include/os0sync.h +++ b/storage/xtradb/include/os0sync.h @@ -488,7 +488,7 @@ os_atomic_clear(volatile lock_word_t* ptr) __atomic_clear(ptr, __ATOMIC_RELEASE); } -# elif defined(IB_STRONG_MEMORY_MODEL) +# elif defined(HAVE_ATOMIC_BUILTINS) /** Do an atomic test and set. @param[in,out] ptr Memory location to set to non-zero