From dc3681e5ed15515c107f990f83c56735938fc071 Mon Sep 17 00:00:00 2001 From: pkubaj Date: Sun, 6 Dec 2020 19:48:11 +0000 Subject: Implement CPU feature checks for FreeBSD/powerpc64 Fixes build on powerpc64 and powerpc64le. Closes: #1710 --- mysys/crc32/crc32c.cc | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/mysys/crc32/crc32c.cc b/mysys/crc32/crc32c.cc index c0f8c518691..f11a80fb5d8 100644 --- a/mysys/crc32/crc32c.cc +++ b/mysys/crc32/crc32c.cc @@ -476,6 +476,21 @@ static int arch_ppc_probe(void) { return arch_ppc_crc32; } +#elif __FreeBSD_version >= 1200000 +#include +#include +#include +static int arch_ppc_probe(void) { + unsigned long cpufeatures; + arch_ppc_crc32 = 0; + +#if defined(__powerpc64__) + elf_aux_info(AT_HWCAP2, &cpufeatures, sizeof(cpufeatures)); + if (cpufeatures & PPC_FEATURE2_HAS_VEC_CRYPTO) arch_ppc_crc32 = 1; +#endif /* __powerpc64__ */ + + return arch_ppc_crc32; +} #endif // __linux__ static bool isAltiVec() { -- cgit v1.2.1