SHA256
1
0
forked from pool/mariadb
mariadb/mariadb-10.2.19-link-and-enable-c++11-atomics.patch
Kristyna Streitova 9356248433 Accepting request 879293 from home:kstreitova:branches:server:database
- Update to 10.5.9
  * release notes and changelog:
    https://mariadb.com/kb/en/library/mariadb-1059-release-notes
    https://mariadb.com/kb/en/library/mariadb-1059-changelog
  * fixes for the following security vulnerabilities:
    10.5.9: none
- Tracker bug: [bsc#1182739]
- Update fixes [bsc#1182255] (MDL BF-BF Conflict caused by
  TRUNCATE TABLE)
- refresh mariadb-10.2.19-link-and-enable-c++11-atomics.patch
- remove fix-lock-rollback-assert-abort.patch (applied upstream)

OBS-URL: https://build.opensuse.org/request/show/879293
OBS-URL: https://build.opensuse.org/package/show/server:database/mariadb?expand=0&rev=267
2021-03-15 22:23:34 +00:00

71 lines
2.3 KiB
Diff

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.
Index: mariadb-10.5.9/configure.cmake
===================================================================
--- mariadb-10.5.9.orig/configure.cmake
+++ mariadb-10.5.9/configure.cmake
@@ -862,7 +862,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)
Index: mariadb-10.5.9/mysys/CMakeLists.txt
===================================================================
--- mariadb-10.5.9.orig/mysys/CMakeLists.txt
+++ mariadb-10.5.9/mysys/CMakeLists.txt
@@ -154,6 +154,10 @@ TARGET_LINK_LIBRARIES(mysys dbug strings
${LIBNSL} ${LIBM} ${LIBRT} ${CMAKE_DL_LIBS} ${LIBSOCKET} ${LIBEXECINFO})
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)
Index: mariadb-10.5.9/sql/CMakeLists.txt
===================================================================
--- mariadb-10.5.9.orig/sql/CMakeLists.txt
+++ mariadb-10.5.9/sql/CMakeLists.txt
@@ -222,6 +222,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 OR CMAKE_SYSTEM_NAME MATCHES AIX)
SET(libs_to_export_symbols sql mysys dbug strings)
# Create shared library of already compiled object