[MDEV-23585] checksum.c: only use clmul if available Created: 2020-08-26 Updated: 2020-10-06 Resolved: 2020-08-27 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Server |
| Affects Version/s: | 10.5.4 |
| Fix Version/s: | 10.5.7 |
| Type: | Bug | Priority: | Major |
| Reporter: | Anel Husakovic | Assignee: | Marko Mäkelä |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Description |
|
If the build environment does not support PCLMUL, then crc32_x86.c is not compiled in, and this fails to link. fixes builds on older processors without PCLMUL see: https://trac.macports.org/ticket/61063 Patch of interest dec3f8ca69e5e |
| Comments |
| Comment by Marko Mäkelä [ 2020-08-27 ] |
|
There were actually three separate problems, which I fixed:
|
| Comment by Marko Mäkelä [ 2020-08-27 ] |
|
I revised the HAVE_CLMUL_INSTRUCTION check to include inline assembler code for the cpuid instruction, because 32-bit -fPIC builds would fail on GCC 4.8.2. GCC 5 implemented register spilling for the PIC register (ebx) that would be clobbered by the cpuid instruction. |