mirror of
https://git.freebsd.org/ports.git
synced 2025-06-18 19:20:36 -04:00
Add powerpc64 as an alternative to ppc64. Fix crc32c the same way it was fixed already for databases/rocksdb. Approved by: tier 2 blanket MFH: 2020Q4
24 lines
626 B
C++
24 lines
626 B
C++
--- mysys/crc32/crc32c.cc.orig 2020-12-06 15:58:40 UTC
|
|
+++ mysys/crc32/crc32c.cc
|
|
@@ -475,6 +475,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__
|
|
|
|
static bool isAltiVec() {
|