[Commits] ee8a0b7: MDEV-9128 - Compiling on IBM System Z fails

Jan Lindström jan.lindstrom at mariadb.com
Thu Dec 31 07:40:12 EET 2015

revision-id: ee8a0b71d3a08e1ae4b524b8324fdcb3768b29e7 (mdbe-10.1.8-5-gee8a0b7)
parent(s): fb1e8158f9b4aed5c8004b43ca1ecae84da8bed0
committer: Jan Lindström
timestamp: 2015-12-31 07:40:11 +0200

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 56c0945..db996b0 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

More information about the commits mailing list