From edf6354bd6389ce1ca79591fe79deef4df6eca95 Mon Sep 17 00:00:00 2001 From: Sergey Vojtovich Date: Wed, 18 Nov 2015 15:51:20 +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/innobase/include/os0sync.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/storage/innobase/include/os0sync.h b/storage/innobase/include/os0sync.h index 8e4b4f41aae..e192a3a6c94 100644 --- a/storage/innobase/include/os0sync.h +++ b/storage/innobase/include/os0sync.h @@ -487,7 +487,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