Enable hardware CRC32 under Valgrind

Description

Copy of https://bugs.mysql.com/bug.php?id=94121:

[29 Jan 15:54] Laurynas Biveinis
Description:
Under Valgrind, hardware CRC32 checksums are disabled because:

static bool ut_crc32_check_cpu() {
...
/* Valgrind does not understand the CRC32 instructions:

vex amd64->IR: unhandled instruction bytes: 0xF2 0x48 0xF 0x38 0xF0 0xA
valgrind: Unrecognised instruction at address 0xad3db5.
...

This comes right from original implementation in 2011. But Valgrind 3.6.1, released also in 2011, added support for the instruction. Eight years later, it should be safe to remove, might save a cycle or two, also the patch only deletes code, which is always good. Quick test with new Valgrind shows that it works.

How to repeat:
See above

Suggested fix:
Remove #ifdef UNIV_DEBUG_VALGRIND from ut_crc32_check_cpu

Environment

None

Smart Checklist

Activity

Show:
Done

Details

Assignee

Reporter

Upstream Bug URL

Time tracking

1h 40m logged

Affects versions

Priority

Smart Checklist

Created January 30, 2019 at 8:06 AM
Updated March 6, 2024 at 12:22 PM
Resolved January 31, 2019 at 1:41 PM