Closed temeo closed 3 years ago
Seems like Xenial GCC does not have support for hardware CRC32. A workaround would be building with
scons crc32c_no_hardware=1
The following patch makes the build pass:
diff --git a/galerautils/src/gu_crc32c_arm64.c b/galerautils/src/gu_crc32c_arm64.c
index 25acf14d..62c0a0fa 100644
--- a/galerautils/src/gu_crc32c_arm64.c
+++ b/galerautils/src/gu_crc32c_arm64.c
@@ -25,7 +25,7 @@
static inline gu_crc32c_t
crc32c_arm64_tail7(gu_crc32c_t state, const uint8_t* ptr, size_t len)
{
- assert(len < 7);
+ assert(len < 8);
if (len >= 4)
{
@@ -71,6 +71,10 @@ gu_crc32c_arm64(gu_crc32c_t state, const void* data, size_t len)
#include <sys/auxv.h>
+#ifndef HWCAP_CRC32
+#define HWCAP_CRC32 (1 << 7)
+#endif /* HWCAP_CRC32 */
+
gu_crc32c_func_t
gu_crc32c_hardware()
{
Galera build fails on Ubuntu Xenial aarch with the following error: