diff options
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch')
-rw-r--r-- | meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch new file mode 100644 index 000000000..169986130 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch @@ -0,0 +1,67 @@ +Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> +Date: Fri Dec 21 19:14:04 2018 +0200 + + Link with libatomic to enable C11 atomics support + + Some architectures (mips) require libatomic to support proper + atomic operations. Check first if support is available without + linking, otherwise use the library. + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +--- a/configure.cmake ++++ b/configure.cmake +@@ -926,7 +926,25 @@ int main() + long long int *ptr= &var; + return (int)__atomic_load_n(ptr, __ATOMIC_SEQ_CST); + }" +-HAVE_GCC_C11_ATOMICS) ++HAVE_GCC_C11_ATOMICS_WITHOUT_LIBATOMIC) ++IF (HAVE_GCC_C11_ATOMICS_WITHOUT_LIBATOMIC) ++ SET(HAVE_GCC_C11_ATOMICS True) ++ELSE() ++ SET(OLD_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES}) ++ LIST(APPEND CMAKE_REQUIRED_LIBRARIES "atomic") ++ CHECK_CXX_SOURCE_COMPILES(" ++ int main() ++ { ++ long long int var= 1; ++ long long int *ptr= &var; ++ return (int)__atomic_load_n(ptr, __ATOMIC_SEQ_CST); ++ }" ++ HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC) ++ IF(HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC) ++ SET(HAVE_GCC_C11_ATOMICS True) ++ ENDIF() ++ SET(CMAKE_REQUIRED_LIBRARIES ${OLD_CMAKE_REQUIRED_LIBRARIES}) ++ENDIF() + + IF(WITH_VALGRIND) + SET(HAVE_valgrind 1) +--- a/mysys/CMakeLists.txt ++++ b/mysys/CMakeLists.txt +@@ -78,6 +78,10 @@ TARGET_LINK_LIBRARIES(mysys dbug strings + ${LIBNSL} ${LIBM} ${LIBRT} ${LIBDL} ${LIBSOCKET} ${LIBEXECINFO} ${CRC32_LIBRARY}) + DTRACE_INSTRUMENT(mysys) + ++IF (HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC) ++ TARGET_LINK_LIBRARIES(mysys atomic) ++ENDIF() ++ + IF(HAVE_BFD_H) + TARGET_LINK_LIBRARIES(mysys bfd) + ENDIF(HAVE_BFD_H) +--- a/sql/CMakeLists.txt ++++ b/sql/CMakeLists.txt +@@ -178,6 +178,10 @@ ELSE() + SET(MYSQLD_SOURCE main.cc ${DTRACE_PROBES_ALL}) + ENDIF() + ++IF (HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC) ++ TARGET_LINK_LIBRARIES(sql atomic) ++ENDIF() ++ + + IF(MSVC AND NOT WITHOUT_DYNAMIC_PLUGINS) + |