From 0b31e7ff5e685d18b27de0a375ca185460d5a994 Mon Sep 17 00:00:00 2001 From: Jeffrey Walton Date: Thu, 10 Aug 2017 22:08:40 -0400 Subject: [PATCH] Fix broken compiler under Apple Clang for ARMv8 Undefined symbols for architecture arm64: "CryptoPP::CRC32_Update_ARMV8(unsigned char const*, unsigned long, unsigned int&)", referenced from: CryptoPP::CRC32::Update(unsigned char const*, unsigned long) in libcryptopp.a(crc.o) "CryptoPP::CRC32C_Update_ARMV8(unsigned char const*, unsigned long, unsigned int&)", referenced from: CryptoPP::CRC32C::Update(unsigned char const*, unsigned long) in libcryptopp.a(crc.o) ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [cryptest.exe] Error 1 --- config.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.h b/config.h index c3d5b7f7..c6f403c6 100644 --- a/config.h +++ b/config.h @@ -546,7 +546,7 @@ NAMESPACE_END // LLVM Clang requires 3.5. Apple Clang is unknown at the moment. // Microsoft plans to support ARM-64, but its not clear how to detect it. // TODO: Add MSC_VER and ARM-64 platform define when available -#if !defined(CRYPTOPP_ARM_CRC32_AVAILABLE) && !defined(CRYPTOPP_DISABLE_ASM) +#if !defined(CRYPTOPP_ARM_CRC32_AVAILABLE) && !defined(CRYPTOPP_DISABLE_ASM) && !defined(__apple_build_version__) # if defined(__ARM_FEATURE_CRC32) || (CRYPTOPP_MSC_VERSION >= 1910) || \ defined(__aarch32__) || defined(__aarch64__) # define CRYPTOPP_ARM_CRC32_AVAILABLE 1