diff --git a/util/crc32c.cc b/util/crc32c.cc index 10b67e418..80094239c 100644 --- a/util/crc32c.cc +++ b/util/crc32c.cc @@ -41,7 +41,7 @@ #endif -#if defined(__linux__) && defined(HAVE_ARM64_CRC) +#if defined(HAVE_ARM64_CRC) bool pmull_runtime_flag = false; #endif @@ -478,7 +478,7 @@ static bool isAltiVec() { } #endif -#if defined(__linux__) && defined(HAVE_ARM64_CRC) +#if defined(HAVE_ARM64_CRC) uint32_t ExtendARMImpl(uint32_t crc, const char *buf, size_t size) { return crc32c_arm64(crc, (const unsigned char *)buf, size); } @@ -498,7 +498,7 @@ std::string IsFastCrc32Supported() { has_fast_crc = false; arch = "PPC"; #endif -#elif defined(__linux__) && defined(HAVE_ARM64_CRC) +#elif defined(HAVE_ARM64_CRC) if (crc32c_runtime_check()) { has_fast_crc = true; arch = "Arm64"; @@ -1231,7 +1231,7 @@ uint32_t crc32c_3way(uint32_t crc, const char* buf, size_t len) { static inline Function Choose_Extend() { #ifdef HAVE_POWER8 return isAltiVec() ? ExtendPPCImpl : ExtendImpl; -#elif defined(__linux__) && defined(HAVE_ARM64_CRC) +#elif defined(HAVE_ARM64_CRC) if(crc32c_runtime_check()) { pmull_runtime_flag = crc32c_pmull_runtime_check(); return ExtendARMImpl; diff --git a/util/crc32c_arm64.cc b/util/crc32c_arm64.cc index 566810f4b..80dbf0528 100644 --- a/util/crc32c_arm64.cc +++ b/util/crc32c_arm64.cc @@ -5,9 +5,11 @@ #include "util/crc32c_arm64.h" -#if defined(__linux__) && defined(HAVE_ARM64_CRC) +#if defined(HAVE_ARM64_CRC) +#if defined(__linux__) #include +#endif #ifdef ROCKSDB_AUXV_GETAUXVAL_PRESENT #include #endif @@ -65,8 +67,8 @@ __attribute__((__no_sanitize__("alignment"))) __attribute__((__no_sanitize_undefined__)) #endif #endif -uint32_t crc32c_arm64(uint32_t crc, unsigned char const *data, - unsigned len) { +uint32_t +crc32c_arm64(uint32_t crc, unsigned char const *data, size_t len) { const uint8_t *buf8; const uint64_t *buf64 = (uint64_t *)data; int length = (int)len; diff --git a/util/crc32c_arm64.h b/util/crc32c_arm64.h index a12354683..b16b1f3e0 100644 --- a/util/crc32c_arm64.h +++ b/util/crc32c_arm64.h @@ -7,6 +7,7 @@ #define UTIL_CRC32C_ARM64_H #include +#include #if defined(__aarch64__) || defined(__AARCH64__) @@ -33,7 +34,8 @@ PREF4X64L1(buffer, (PREF_OFFSET), 8) \ PREF4X64L1(buffer, (PREF_OFFSET), 12) -extern uint32_t crc32c_arm64(uint32_t crc, unsigned char const *data, unsigned len); +extern uint32_t crc32c_arm64(uint32_t crc, unsigned char const *data, + size_t len); extern uint32_t crc32c_runtime_check(void); extern bool crc32c_pmull_runtime_check(void);