summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch')
-rw-r--r--meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch82
1 files changed, 0 insertions, 82 deletions
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch b/meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch
deleted file mode 100644
index 1c76ab3918..0000000000
--- a/meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch
+++ /dev/null
@@ -1,82 +0,0 @@
1From 976468458d53d8bb71acf48ddfc852a60557acb9 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Vicen=C8=9Biu=20Ciorbaru?= <vicentiu@mariadb.org>
3Date: Thu, 23 Jul 2020 00:02:21 -0700
4Subject: [PATCH] Link with libatomic to enable C11 atomics support
5
6 Some architectures (mips) require libatomic to support proper
7 atomic operations. Check first if support is available without
8 linking, otherwise use the library.
9
10Upstream-Status: Pending
11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
13---
14 configure.cmake | 20 +++++++++++++++++++-
15 mysys/CMakeLists.txt | 4 ++++
16 sql/CMakeLists.txt | 4 ++++
17 3 files changed, 27 insertions(+), 1 deletion(-)
18
19diff --git a/configure.cmake b/configure.cmake
20index 4fc324a9..23a2ea91 100644
21--- a/configure.cmake
22+++ b/configure.cmake
23@@ -862,7 +862,25 @@ int main()
24 long long int *ptr= &var;
25 return (int)__atomic_load_n(ptr, __ATOMIC_SEQ_CST);
26 }"
27-HAVE_GCC_C11_ATOMICS)
28+HAVE_GCC_C11_ATOMICS_WITHOUT_LIBATOMIC)
29+IF (HAVE_GCC_C11_ATOMICS_WITHOUT_LIBATOMIC)
30+ SET(HAVE_GCC_C11_ATOMICS True)
31+ELSE()
32+ SET(OLD_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
33+ LIST(APPEND CMAKE_REQUIRED_LIBRARIES "atomic")
34+ CHECK_CXX_SOURCE_COMPILES("
35+ int main()
36+ {
37+ long long int var= 1;
38+ long long int *ptr= &var;
39+ return (int)__atomic_load_n(ptr, __ATOMIC_SEQ_CST);
40+ }"
41+ HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
42+ IF(HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
43+ SET(HAVE_GCC_C11_ATOMICS True)
44+ ENDIF()
45+ SET(CMAKE_REQUIRED_LIBRARIES ${OLD_CMAKE_REQUIRED_LIBRARIES})
46+ENDIF()
47
48 IF(WITH_VALGRIND)
49 SET(HAVE_valgrind 1)
50diff --git a/mysys/CMakeLists.txt b/mysys/CMakeLists.txt
51index 6aab788f..91b9c393 100644
52--- a/mysys/CMakeLists.txt
53+++ b/mysys/CMakeLists.txt
54@@ -154,6 +154,10 @@ TARGET_LINK_LIBRARIES(mysys dbug strings ${ZLIB_LIBRARY}
55 ${LIBNSL} ${LIBM} ${LIBRT} ${CMAKE_DL_LIBS} ${LIBSOCKET} ${LIBEXECINFO})
56 DTRACE_INSTRUMENT(mysys)
57
58+IF (HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
59+ TARGET_LINK_LIBRARIES(mysys atomic)
60+ENDIF()
61+
62 IF(HAVE_BFD_H)
63 TARGET_LINK_LIBRARIES(mysys bfd)
64 ENDIF(HAVE_BFD_H)
65diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt
66index b9cd418f..d42e5017 100644
67--- a/sql/CMakeLists.txt
68+++ b/sql/CMakeLists.txt
69@@ -222,6 +222,10 @@ ELSE()
70 SET(MYSQLD_SOURCE main.cc ${DTRACE_PROBES_ALL})
71 ENDIF()
72
73+IF (HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
74+ TARGET_LINK_LIBRARIES(sql atomic)
75+ENDIF()
76+
77 IF(MSVC OR CMAKE_SYSTEM_NAME MATCHES AIX)
78 SET(libs_to_export_symbols sql mysys dbug strings)
79 # Create shared library of already compiled object
80--
812.25.1
82