diff options
Diffstat (limited to 'databases/mariadb106-server/files/patch-mysys_crc32_crc32c.cc')
-rw-r--r-- | databases/mariadb106-server/files/patch-mysys_crc32_crc32c.cc | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/databases/mariadb106-server/files/patch-mysys_crc32_crc32c.cc b/databases/mariadb106-server/files/patch-mysys_crc32_crc32c.cc new file mode 100644 index 000000000000..445fd0e97865 --- /dev/null +++ b/databases/mariadb106-server/files/patch-mysys_crc32_crc32c.cc @@ -0,0 +1,24 @@ +--- mysys/crc32/crc32c.cc.orig 2021-08-04 18:00:35 UTC ++++ mysys/crc32/crc32c.cc +@@ -543,6 +543,21 @@ static int arch_ppc_probe(void) { + + return arch_ppc_crc32; + } ++#elif __FreeBSD__ ++#include <machine/cpu.h> ++#include <sys/auxv.h> ++#include <sys/elf_common.h> ++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__ + #endif + |