diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2020-07-31 18:09:08 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2020-07-31 18:09:08 +0300 |
commit | 9216114ce729733e6b0c4ce952bfdf57595ff387 (patch) | |
tree | 7a541ed87a6a8174d3d94c5f780724a34e08dc1c /storage/rocksdb | |
parent | dc513dff911d72eaaf9f752f390fef8d1ef9a4b0 (diff) | |
parent | 66ec3a770f7854f500ece66c78f3c87c9cd6da15 (diff) | |
download | mariadb-git-9216114ce729733e6b0c4ce952bfdf57595ff387.tar.gz |
Merge 10.3 into 10.4
Diffstat (limited to 'storage/rocksdb')
-rw-r--r-- | storage/rocksdb/CMakeLists.txt | 7 | ||||
-rw-r--r-- | storage/rocksdb/build_rocksdb.cmake | 26 | ||||
-rw-r--r-- | storage/rocksdb/mysql-test/rocksdb/t/concurrent_alter.test | 2 |
3 files changed, 28 insertions, 7 deletions
diff --git a/storage/rocksdb/CMakeLists.txt b/storage/rocksdb/CMakeLists.txt index 2ba887b3fae..d065c5e7bc3 100644 --- a/storage/rocksdb/CMakeLists.txt +++ b/storage/rocksdb/CMakeLists.txt @@ -112,9 +112,15 @@ SET(ROCKSDB_SE_SOURCES # This is a strong requirement coming from RocksDB. No conditional checks here. #ADD_DEFINITIONS(-DROCKSDB_PLATFORM_POSIX -DROCKSDB_LIB_IO_POSIX #) +if(CMAKE_SYSTEM_PROCESSOR STREQUAL "riscv64") + SET(ATOMIC_EXTRA_LIBS -latomic) +else() + SET(ATOMIC_EXTRA_LIBS) +endif() MYSQL_ADD_PLUGIN(rocksdb ${ROCKSDB_SE_SOURCES} MODULE_ONLY STORAGE_ENGINE MODULE_OUTPUT_NAME ha_rocksdb + LINK_LIBRARIES ${ATOMIC_EXTRA_LIBS} COMPONENT rocksdb-engine) IF(NOT TARGET rocksdb) @@ -165,6 +171,7 @@ TARGET_LINK_LIBRARIES(rocksdb_aux_lib rocksdblib ${ZLIB_LIBRARY}) if (UNIX AND NOT APPLE) TARGET_LINK_LIBRARIES(rocksdb_aux_lib -lrt) endif() +TARGET_LINK_LIBRARIES(rocksdb_aux_lib ${ATOMIC_EXTRA_LIBS}) # IF (WITH_JEMALLOC) # FIND_LIBRARY(JEMALLOC_LIBRARY diff --git a/storage/rocksdb/build_rocksdb.cmake b/storage/rocksdb/build_rocksdb.cmake index f7b2170978d..2b4649b1fbe 100644 --- a/storage/rocksdb/build_rocksdb.cmake +++ b/storage/rocksdb/build_rocksdb.cmake @@ -18,17 +18,16 @@ if(WIN32) # include(${ROCKSDB_SOURCE_DIR}/thirdparty.inc) else() option(WITH_ROCKSDB_JEMALLOC "build RocksDB with JeMalloc" OFF) - if(WITH_ROCKSDB_JEMALLOC) - find_package(JeMalloc REQUIRED) - add_definitions(-DROCKSDB_JEMALLOC) - ADD_DEFINITIONS(-DROCKSDB_MALLOC_USABLE_SIZE) - include_directories(${JEMALLOC_INCLUDE_DIR}) - endif() if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") # FreeBSD has jemaloc as default malloc add_definitions(-DROCKSDB_JEMALLOC) ADD_DEFINITIONS(-DROCKSDB_MALLOC_USABLE_SIZE) set(WITH_JEMALLOC ON) + elseif(WITH_ROCKSDB_JEMALLOC) + find_package(JeMalloc REQUIRED) + add_definitions(-DROCKSDB_JEMALLOC) + ADD_DEFINITIONS(-DROCKSDB_MALLOC_USABLE_SIZE) + include_directories(${JEMALLOC_INCLUDE_DIR}) endif() endif() @@ -127,6 +126,10 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64") ADD_DEFINITIONS(-DHAVE_POWER8 -DHAS_ALTIVEC) endif(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64") +if(CMAKE_SYSTEM_PROCESSOR STREQUAL "riscv64") + set(SYSTEM_LIBS ${SYSTEM_LIBS} -latomic) +endif() + option(WITH_FALLOCATE "build with fallocate" ON) if(WITH_FALLOCATE AND UNIX) @@ -437,6 +440,17 @@ else() util/crc32c_ppc.c util/crc32c_ppc_asm.S) endif(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64") + # aarch + if(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|AARCH64") + INCLUDE(CheckCXXCompilerFlag) + CHECK_CXX_COMPILER_FLAG("-march=armv8-a+crc+crypto" HAS_ARMV8_CRC) + if(HAS_ARMV8_CRC) + message(STATUS " HAS_ARMV8_CRC yes") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=armv8-a+crc+crypto -Wno-unused-function") + list(APPEND ROCKSDB_SOURCES + util/crc32c_arm64.cc) + endif(HAS_ARMV8_CRC) + endif(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|AARCH64") endif() SET(SOURCES) FOREACH(s ${ROCKSDB_SOURCES}) diff --git a/storage/rocksdb/mysql-test/rocksdb/t/concurrent_alter.test b/storage/rocksdb/mysql-test/rocksdb/t/concurrent_alter.test index 3ebdd67a1a6..aee653830e2 100644 --- a/storage/rocksdb/mysql-test/rocksdb/t/concurrent_alter.test +++ b/storage/rocksdb/mysql-test/rocksdb/t/concurrent_alter.test @@ -30,7 +30,7 @@ $MYSQL_SLAP --silent --delimiter=";" --query="select * from a1 where b=1" --conc wait EOF ---exec bash $MYSQL_TMP_DIR/concurrent_alter.sh +--exec sh $MYSQL_TMP_DIR/concurrent_alter.sh let $server_charset=`select @@character_set_server`; --replace_result $server_charset DEFAULT_CHARSET |