summaryrefslogtreecommitdiff
path: root/extra
diff options
context:
space:
mode:
authorVladislav Vaintroub <wlad@mariadb.com>2020-09-09 02:34:53 +0200
committerVladislav Vaintroub <wlad@mariadb.com>2020-09-16 22:59:18 +0200
commitf039d1b24fab575656bc0db09e8afc4ca66d43ed (patch)
tree37fa7390b3af30f5437ed942fafafe1b4359f285 /extra
parentd252f44c5dde42a934651d67a88ae99b50be12c8 (diff)
downloadmariadb-git-f039d1b24fab575656bc0db09e8afc4ca66d43ed.tar.gz
MDEV-19935 Create unified CRC-32 interfacebb-10.5-MDEV-19935
Add CRC32C code to mysys. The x86-64 implementation uses PCMULQDQ in addition to CRC32 instruction after Intel whitepaper, and is ported from rocksdb code. Optimized ARM and POWER CRC32 were already present in mysys.
Diffstat (limited to 'extra')
-rw-r--r--extra/CMakeLists.txt12
-rw-r--r--extra/innochecksum.cc1
-rw-r--r--extra/mariabackup/backup_copy.cc1
-rw-r--r--extra/mariabackup/xbstream.cc2
-rw-r--r--extra/mariabackup/xtrabackup.cc4
5 files changed, 0 insertions, 20 deletions
diff --git a/extra/CMakeLists.txt b/extra/CMakeLists.txt
index b7b1d215711..8f4c434ed34 100644
--- a/extra/CMakeLists.txt
+++ b/extra/CMakeLists.txt
@@ -73,20 +73,8 @@ IF(WITH_INNOBASE_STORAGE_ENGINE)
# We use the InnoDB code directly in case the code changes.
ADD_DEFINITIONS("-DUNIV_INNOCHECKSUM")
- # Avoid generating Hardware Capabilities due to crc32 instructions
- IF(CMAKE_SYSTEM_NAME MATCHES "SunOS" AND CMAKE_SYSTEM_PROCESSOR MATCHES "i386")
- MY_CHECK_CXX_COMPILER_FLAG("-Wa,-nH")
- IF(have_CXX__Wa__nH)
- ADD_COMPILE_FLAGS(
- ../storage/innobase/ut/ut0crc32.cc
- COMPILE_FLAGS "-Wa,-nH"
- )
- ENDIF()
- ENDIF()
-
SET(INNOBASE_SOURCES
../storage/innobase/buf/buf0checksum.cc
- ../storage/innobase/ut/ut0crc32.cc
../storage/innobase/ut/ut0ut.cc
../storage/innobase/buf/buf0buf.cc
../storage/innobase/page/page0zip.cc
diff --git a/extra/innochecksum.cc b/extra/innochecksum.cc
index d8d043d89b9..7805dc4283f 100644
--- a/extra/innochecksum.cc
+++ b/extra/innochecksum.cc
@@ -1583,7 +1583,6 @@ int main(
/* enable when space_id of given file is zero. */
bool is_system_tablespace = false;
- ut_crc32_init();
MY_INIT(argv[0]);
DBUG_ENTER("main");
DBUG_PROCESS(argv[0]);
diff --git a/extra/mariabackup/backup_copy.cc b/extra/mariabackup/backup_copy.cc
index 965b1e9e4b6..ef2e59ab379 100644
--- a/extra/mariabackup/backup_copy.cc
+++ b/extra/mariabackup/backup_copy.cc
@@ -1833,7 +1833,6 @@ copy_back()
srv_max_n_threads = 1000;
sync_check_init();
- ut_crc32_init();
/* copy undo tablespaces */
diff --git a/extra/mariabackup/xbstream.cc b/extra/mariabackup/xbstream.cc
index 761b8e69890..c22c7cc8f39 100644
--- a/extra/mariabackup/xbstream.cc
+++ b/extra/mariabackup/xbstream.cc
@@ -97,8 +97,6 @@ main(int argc, char **argv)
{
MY_INIT(argv[0]);
- my_checksum_init();
-
if (get_options(&argc, &argv)) {
goto err;
}
diff --git a/extra/mariabackup/xtrabackup.cc b/extra/mariabackup/xtrabackup.cc
index 650ab49fbcd..c8e41f13e3f 100644
--- a/extra/mariabackup/xtrabackup.cc
+++ b/extra/mariabackup/xtrabackup.cc
@@ -4011,9 +4011,6 @@ fail:
ut_d(sync_check_enable());
/* Reset the system variables in the recovery module. */
trx_pool_init();
-
- ut_crc32_init();
- my_checksum_init();
recv_sys.create();
#ifdef WITH_INNODB_DISALLOW_WRITES
@@ -5386,7 +5383,6 @@ static bool xtrabackup_prepare_func(char** argv)
sync_check_init();
ut_d(sync_check_enable());
- ut_crc32_init();
recv_sys.create();
log_sys.create();
recv_sys.recovery_on = true;