summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTzachi Zidenberg <tsahee@amazon.com>2020-07-05 15:21:43 +0300
committerDaniel Black <daniel@mariadb.org>2021-11-09 18:35:00 +1100
commit2fd06ed9ce4f4da437ca0f5bc30d29f7d369e81e (patch)
treee130467a68fd6d21ce5ba9c09fc612ea2d33dbf2
parent524b4a89da3d9143ad72a82d73617ffde9e3a7a8 (diff)
downloadmariadb-git-bb-10.3-danielblack-MDEV-27008-aarch-atomics.tar.gz
MDEV-27008: aarch64: use compiler flag outline-atomics if availablebb-10.3-danielblack-MDEV-27008-aarch-atomics
outline-atomics compilation flag changes behaviour of builtin_atomics, by adding runtime detection of LSE atomics. If these are supported, they will be used. This gains LSE atomics use without hurting compatibility with older aarch64 machines. Backport of f843e215f3f640de377d8fd60e85bb372fb138fd to fix f502ccbcb5dfce29067434885a23db8d1bd5f134
-rw-r--r--configure.cmake5
1 files changed, 5 insertions, 0 deletions
diff --git a/configure.cmake b/configure.cmake
index db8742bb93b..55ce4a4313b 100644
--- a/configure.cmake
+++ b/configure.cmake
@@ -74,6 +74,11 @@ IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "i686" AND CMAKE_COMPILER_IS_GNUCC AND
SET(PLUGIN_QUERY_RESPONSE_TIME NO CACHE BOOL "Disabled, gcc is too old")
ENDIF()
+# use runtime atomic-support detection in aarch64
+IF(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
+ MY_CHECK_AND_SET_COMPILER_FLAG("-moutline-atomics")
+ENDIF()
+
IF(WITHOUT_DYNAMIC_PLUGINS)
MESSAGE("Dynamic plugins are disabled.")
ENDIF(WITHOUT_DYNAMIC_PLUGINS)