Skip to content

Commit dbb39a7

Browse files
committed
MDEV-17958: Make innochecksum follow the build option
Innochecksum was being built as if WITH_INNODB_BUG_ENDIAN_CRC32:BOOL=OFF had been specified. Also, clean up tests: innodb.innochecksum: Useless; superceded by innodb_zip.innochecksum. innodb.innodb_zip_innochecksum: Remove; duplicated innodb_zip.innochecksum. innodb.innodb_zip_innochecksum2: Remove; duplicated innodb_zip.innochecksum_2. innodb.innodb_zip_innochecksum3: Remove; duplicated innodb_zip.innochecksum_3. No test case was added. I tested manually by adding debug instrumentation to both innochecksum and buf_page_is_checksum_valid_crc32() to make innochecksum write the buggy crc32, and to get warnings for falling back to the buggy checksum. Automating this would require that tests be adjusted depending on the build options.
1 parent c1caada commit dbb39a7

12 files changed

+3
-1292
lines changed

extra/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,9 @@ IF(WITH_INNOBASE_STORAGE_ENGINE OR WITH_XTRADB_STORAGE_ENGINE)
7272

7373
# We use the InnoDB code directly in case the code changes.
7474
ADD_DEFINITIONS("-DUNIV_INNOCHECKSUM")
75+
IF(WITH_INNODB_BUG_ENDIAN_CRC32)
76+
ADD_DEFINITIONS(-DINNODB_BUG_ENDIAN_CRC32)
77+
ENDIF()
7578

7679
# Avoid generating Hardware Capabilities due to crc32 instructions
7780
IF(CMAKE_SYSTEM_NAME MATCHES "SunOS" AND CMAKE_SYSTEM_PROCESSOR MATCHES "i386")

mysql-test/suite/innodb/r/innochecksum.result

Lines changed: 0 additions & 5 deletions
This file was deleted.

mysql-test/suite/innodb/r/innodb_zip_innochecksum.result

Lines changed: 0 additions & 91 deletions
This file was deleted.

mysql-test/suite/innodb/r/innodb_zip_innochecksum2.result

Lines changed: 0 additions & 160 deletions
This file was deleted.

0 commit comments

Comments
 (0)