From 83ce603e3e57a02f7d896d6bf73da41556b0a0b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20M=C3=A4kel=C3=A4?= Date: Thu, 8 Feb 2018 23:44:43 +0200 Subject: [PATCH] Fix CentOS 6 build failure The __sync load builtins do not work with pointers to constant variables. --- server/core/atomic.cc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/server/core/atomic.cc b/server/core/atomic.cc index 8e611f60a..da10511b5 100644 --- a/server/core/atomic.cc +++ b/server/core/atomic.cc @@ -58,7 +58,7 @@ int atomic_load_int(const int *variable) #ifdef MXS_USE_ATOMIC_BUILTINS return __atomic_load_n(variable, __ATOMIC_SEQ_CST); #else - return __sync_fetch_and_or(variable, 0); + return __sync_fetch_and_or((int*)variable, 0); #endif } @@ -67,7 +67,7 @@ int32_t atomic_load_int32(const int32_t *variable) #ifdef MXS_USE_ATOMIC_BUILTINS return __atomic_load_n(variable, __ATOMIC_SEQ_CST); #else - return __sync_fetch_and_or(variable, 0); + return __sync_fetch_and_or((int32_t*)variable, 0); #endif } @@ -76,7 +76,7 @@ int64_t atomic_load_int64(const int64_t *variable) #ifdef MXS_USE_ATOMIC_BUILTINS return __atomic_load_n(variable, __ATOMIC_SEQ_CST); #else - return __sync_fetch_and_or(variable, 0); + return __sync_fetch_and_or((int64_t*)variable, 0); #endif } @@ -85,7 +85,7 @@ uint32_t atomic_load_uint32(const uint32_t *variable) #ifdef MXS_USE_ATOMIC_BUILTINS return __atomic_load_n(variable, __ATOMIC_SEQ_CST); #else - return __sync_fetch_and_or(variable, 0); + return __sync_fetch_and_or((uint32_t*)variable, 0); #endif } @@ -94,7 +94,7 @@ uint64_t atomic_load_uint64(const uint64_t *variable) #ifdef MXS_USE_ATOMIC_BUILTINS return __atomic_load_n(variable, __ATOMIC_SEQ_CST); #else - return __sync_fetch_and_or(variable, 0); + return __sync_fetch_and_or((uint64_t*)variable, 0); #endif }