[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#915046: mariadb-10.3: Please build with -latomic where necessary



Hello!

Attaching an updated version of the patch.

Please note, without the patch, mariadb-10.3 will not build on mips32 and
several other 32-bit platforms.

Thanks,
Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaubitz@debian.org
`. `'   Freie Universitaet Berlin - glaubitz@physik.fu-berlin.de
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913
Description: Link against libatomic where necessary
Author: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Last-Update: 2018-12-16

--- mariadb-10.3-10.3.11.orig/configure.cmake
+++ mariadb-10.3-10.3.11/configure.cmake
@@ -923,6 +923,21 @@ int main()
 }"
 HAVE_GCC_ATOMIC_BUILTINS)
 CHECK_CXX_SOURCE_COMPILES("
+#include <cstdint>
+int main() {
+    uint64_t x = 1;
+    __atomic_add_fetch(&x, 0, __ATOMIC_RELAXED);
+    return x;
+}
+" HAVE__ATOMIC_ADD_FETCH)
+if (NOT HAVE__ATOMIC_ADD_FETCH)
+    check_library_exists(atomic __atomic_add_fetch_8 "" HAVE_LIBATOMIC)
+    if (HAVE_LIBATOMIC)
+        SET(CMAKE_REQUIRED_LIBRARIES atomic)
+        SET(LIBATOMIC atomic)
+    endif()
+endif()
+CHECK_CXX_SOURCE_COMPILES("
 int main()
 {
   long long int var= 1;
--- mariadb-10.3-10.3.11.orig/libmysqld/CMakeLists.txt
+++ mariadb-10.3-10.3.11/libmysqld/CMakeLists.txt
@@ -145,7 +145,7 @@ ENDIF()
 
 
 SET(LIBS 
-  dbug strings mysys mysys_ssl pcre vio 
+  dbug strings mysys mysys_ssl pcre vio ${LIBATOMIC}
   ${ZLIB_LIBRARY} ${SSL_LIBRARIES} 
   ${LIBWRAP} ${LIBCRYPT} ${LIBDL}
   ${MYSQLD_STATIC_PLUGIN_LIBS}
--- mariadb-10.3-10.3.11.orig/sql/CMakeLists.txt
+++ mariadb-10.3-10.3.11/sql/CMakeLists.txt
@@ -169,7 +169,8 @@ TARGET_LINK_LIBRARIES(sql ${MYSQLD_STATI
   ${LIBWRAP} ${LIBCRYPT} ${LIBDL} ${CMAKE_THREAD_LIBS_INIT}
   ${WSREP_LIB}
   ${SSL_LIBRARIES}
-  ${LIBSYSTEMD})
+  ${LIBSYSTEMD}
+  ${LIBATOMIC})
 
 IF(WIN32)
   SET(MYSQLD_SOURCE main.cc nt_servc.cc message.rc)
--- mariadb-10.3-10.3.11.orig/storage/perfschema/unittest/CMakeLists.txt
+++ mariadb-10.3-10.3.11/storage/perfschema/unittest/CMakeLists.txt
@@ -29,4 +29,4 @@ ADD_DEPENDENCIES(pfs_server_stubs GenErr
 
 MY_ADD_TESTS(pfs_instr_class pfs_instr_class-oom pfs_instr pfs_instr-oom
              pfs_account-oom pfs_host-oom pfs_timer pfs_user-oom pfs pfs_misc
-  EXT "cc" LINK_LIBRARIES perfschema mysys pfs_server_stubs)
+  EXT "cc" LINK_LIBRARIES perfschema mysys pfs_server_stubs ${LIBATOMIC})
--- mariadb-10.3-10.3.11.orig/unittest/mysys/CMakeLists.txt
+++ mariadb-10.3-10.3.11/unittest/mysys/CMakeLists.txt
@@ -15,7 +15,7 @@
 
 MY_ADD_TESTS(bitmap base64 my_atomic my_rdtsc lf my_malloc my_getopt dynstring
              aes
-             LINK_LIBRARIES mysys)
+             LINK_LIBRARIES mysys ${LIBATOMIC})
 MY_ADD_TESTS(my_vsnprintf LINK_LIBRARIES strings mysys)
 
 ADD_DEFINITIONS(${SSL_DEFINES})
--- mariadb-10.3-10.3.11.orig/unittest/sql/CMakeLists.txt
+++ mariadb-10.3-10.3.11/unittest/sql/CMakeLists.txt
@@ -27,7 +27,7 @@ ELSE()
   ADD_EXECUTABLE(explain_filename-t explain_filename-t.cc)
 ENDIF()
 
-TARGET_LINK_LIBRARIES(explain_filename-t sql mytap)
+TARGET_LINK_LIBRARIES(explain_filename-t sql mytap ${LIBATOMIC})
 MY_ADD_TEST(explain_filename)
 
 ADD_EXECUTABLE(mf_iocache-t mf_iocache-t.cc ../../sql/mf_iocache_encr.cc)

Reply to: