mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-10-01 09:01:21 +00:00
Per https://mariadb.org/about/maintenance-policy/, mariadb 5.5.x series only supported until next year April 2020, so upgrade it to 10.3.13. Remove some deprecated patches, add some new patches to fix build failure and rework two patches to avoid fuzz warnings. Add -latomic to linker flags for armv5 Use -pthread to link for mussing atomic symbols on arches e.g. riscv Fixes issues like ld.bfd: librocksdblib.a(memtable.cc.o):/usr/include/c++/9.0.1/bits/atomic_base.h:438: more undefined references to `__atomic_compare_exchange_1' follow Fix build with musl add libxml2 to depends Fix build with clang Signed-off-by: Mingli Yu <mingli.yu@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
68 lines
1.9 KiB
Diff
68 lines
1.9 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.
|
|
|
|
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)
|
|
|