From 477209e02c6d9cc4b356f1d97adc09316e99de7b Mon Sep 17 00:00:00 2001 From: Leonid Pliushch Date: Thu, 7 Jan 2021 14:17:59 +0200 Subject: [PATCH] cryptopp: fix cpu.cpp.patch --- packages/cryptopp/cpu.cpp.patch | 321 ++++++++++---------------------- 1 file changed, 103 insertions(+), 218 deletions(-) diff --git a/packages/cryptopp/cpu.cpp.patch b/packages/cryptopp/cpu.cpp.patch index 41b72b2bf..9aef6b731 100644 --- a/packages/cryptopp/cpu.cpp.patch +++ b/packages/cryptopp/cpu.cpp.patch @@ -1,283 +1,168 @@ diff -uNr cryptopp/cpu.cpp cryptopp.mod/cpu.cpp ---- cryptopp/cpu.cpp 2019-04-28 23:36:50.000000000 +0000 -+++ cryptopp.mod/cpu.cpp 2019-05-10 14:47:58.091890446 +0000 -@@ -47,7 +47,7 @@ +--- cryptopp/cpu.cpp 2021-01-01 19:03:59.000000000 +0200 ++++ cryptopp.mod/cpu.cpp 2021-01-07 14:16:48.145624898 +0200 +@@ -54,7 +54,7 @@ // "$ANDROID_NDK_ROOT/sources/android/cpufeatures". // setenv-android.sh will copy the header and source file // into PWD and the makefile will build it in place. -#if defined(__ANDROID__) -+#if 0 ++#if defined(__ANDROID__) && !defined(__TERMUX__) # include "cpu-features.h" #endif -@@ -548,264 +548,64 @@ +@@ -762,6 +762,7 @@ inline bool CPU_QueryARMv7() { --#if defined(__aarch32__) || defined(__aarch64__) -- // ARMv7 or above -+#if defined(__arm__) || defined(__aarch32__) || defined(__aarch64__) ++#ifndef __TERMUX__ + #if defined(__ANDROID__) && defined(__arm__) + if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM) != 0) && + ((android_getCpuFeatures() & ANDROID_CPU_ARM_FEATURE_ARMv7) != 0)) +@@ -774,11 +775,13 @@ + // Apple hardware is ARMv7 or above. return true; --#elif defined(__ANDROID__) && defined(__arm__) -- if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM) != 0) && -- ((android_getCpuFeatures() & ANDROID_CPU_ARM_FEATURE_ARMv7) != 0)) -- return true; --#elif defined(__linux__) && defined(__arm__) -- if ((getauxval(AT_HWCAP) & HWCAP_ARMv7) != 0) -- return true; --#elif defined(__APPLE__) && defined(__arm__) -- // Apple hardware is ARMv7 or above. -- return true; --#endif -+#else - return false; + #endif +#endif + return false; } inline bool CPU_QueryNEON() { --#if defined(__ANDROID__) && defined(__aarch64__) -- if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM64) != 0) && -- ((android_getCpuFeatures() & ANDROID_CPU_ARM64_FEATURE_ASIMD) != 0)) -- return true; --#elif defined(__ANDROID__) && defined(__arm__) -- if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM) != 0) && -- ((android_getCpuFeatures() & ANDROID_CPU_ARM_FEATURE_NEON) != 0)) -- return true; --#elif defined(__linux__) && defined(__aarch64__) -- if ((getauxval(AT_HWCAP) & HWCAP_ASIMD) != 0) -- return true; --#elif defined(__linux__) && defined(__aarch32__) -- if ((getauxval(AT_HWCAP2) & HWCAP2_ASIMD) != 0) -- return true; --#elif defined(__linux__) && defined(__arm__) -- if ((getauxval(AT_HWCAP) & HWCAP_ARM_NEON) != 0) -- return true; --#elif defined(__APPLE__) && defined(__aarch64__) -- // Core feature set for Aarch32 and Aarch64. -+#if defined(__arm__) || defined(__aarch32__) || defined(__aarch64__) ++#ifndef __TERMUX__ + #if defined(__ANDROID__) && defined(__aarch64__) + if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM64) != 0) && + ((android_getCpuFeatures() & ANDROID_CPU_ARM64_FEATURE_ASIMD) != 0)) +@@ -800,11 +803,13 @@ + // Core feature set for Aarch32 and Aarch64. return true; --#endif -+#else - return false; + #endif +#endif + return false; } inline bool CPU_QueryCRC32() { --#if defined(__ANDROID__) && defined(__aarch64__) -- if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM64) != 0) && -- ((android_getCpuFeatures() & ANDROID_CPU_ARM64_FEATURE_CRC32) != 0)) -- return true; --#elif defined(__ANDROID__) && defined(__aarch32__) -- if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM) != 0) && -- ((android_getCpuFeatures() & ANDROID_CPU_ARM_FEATURE_CRC32) != 0)) -- return true; --#elif defined(__linux__) && defined(__aarch64__) -- if ((getauxval(AT_HWCAP) & HWCAP_CRC32) != 0) -- return true; --#elif defined(__linux__) && defined(__aarch32__) -- if ((getauxval(AT_HWCAP2) & HWCAP2_CRC32) != 0) -- return true; --#elif defined(__APPLE__) && defined(__aarch64__) -- // No compiler support. CRC intrinsics result in a failed compiled. -- return false; --#endif ++#ifndef __TERMUX__ + #if defined(__ANDROID__) && defined(__aarch64__) + if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM64) != 0) && + ((android_getCpuFeatures() & ANDROID_CPU_ARM64_FEATURE_CRC32) != 0)) +@@ -823,11 +828,13 @@ + // No compiler support. CRC intrinsics result in a failed compiled. + return false; + #endif ++#endif return false; } inline bool CPU_QueryPMULL() { --#if defined(__ANDROID__) && defined(__aarch64__) -- if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM64) != 0) && -- ((android_getCpuFeatures() & ANDROID_CPU_ARM64_FEATURE_PMULL) != 0)) -- return true; --#elif defined(__ANDROID__) && defined(__aarch32__) -- if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM) != 0) && -- ((android_getCpuFeatures() & ANDROID_CPU_ARM_FEATURE_PMULL) != 0)) -- return true; --#elif defined(__linux__) && defined(__aarch64__) -- if ((getauxval(AT_HWCAP) & HWCAP_PMULL) != 0) -- return true; --#elif defined(__linux__) && defined(__aarch32__) -- if ((getauxval(AT_HWCAP2) & HWCAP2_PMULL) != 0) -- return true; --#elif defined(__APPLE__) && defined(__aarch64__) -- // No compiler support. PMULL intrinsics result in a failed compiled. -- return false; --#endif ++#ifndef __TERMUX__ + #if defined(__ANDROID__) && defined(__aarch64__) + if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM64) != 0) && + ((android_getCpuFeatures() & ANDROID_CPU_ARM64_FEATURE_PMULL) != 0)) +@@ -846,11 +853,13 @@ + // No compiler support. PMULL intrinsics result in a failed compiled. + return false; + #endif ++#endif return false; } inline bool CPU_QueryAES() { --#if defined(__ANDROID__) && defined(__aarch64__) -- if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM64) != 0) && -- ((android_getCpuFeatures() & ANDROID_CPU_ARM64_FEATURE_AES) != 0)) -- return true; --#elif defined(__ANDROID__) && defined(__aarch32__) -- if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM) != 0) && -- ((android_getCpuFeatures() & ANDROID_CPU_ARM_FEATURE_AES) != 0)) -- return true; --#elif defined(__linux__) && defined(__aarch64__) -- if ((getauxval(AT_HWCAP) & HWCAP_AES) != 0) -- return true; --#elif defined(__linux__) && defined(__aarch32__) -- if ((getauxval(AT_HWCAP2) & HWCAP2_AES) != 0) -- return true; --#elif defined(__APPLE__) && defined(__aarch64__) -- unsigned int device, version; -- GetAppleMachineInfo(device, version); -- return IsAppleMachineARMv8(device, version); --#endif ++#ifndef __TERMUX__ + #if defined(__ANDROID__) && defined(__aarch64__) + if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM64) != 0) && + ((android_getCpuFeatures() & ANDROID_CPU_ARM64_FEATURE_AES) != 0)) +@@ -868,11 +877,13 @@ + #elif defined(__APPLE__) && defined(__aarch64__) + return IsAppleMachineARMv8(); + #endif ++#endif return false; } inline bool CPU_QuerySHA1() { --#if defined(__ANDROID__) && defined(__aarch64__) -- if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM64) != 0) && -- ((android_getCpuFeatures() & ANDROID_CPU_ARM64_FEATURE_SHA1) != 0)) -- return true; --#elif defined(__ANDROID__) && defined(__aarch32__) -- if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM) != 0) && -- ((android_getCpuFeatures() & ANDROID_CPU_ARM_FEATURE_SHA1) != 0)) -- return true; --#elif defined(__linux__) && defined(__aarch64__) -- if ((getauxval(AT_HWCAP) & HWCAP_SHA1) != 0) -- return true; --#elif defined(__linux__) && defined(__aarch32__) -- if ((getauxval(AT_HWCAP2) & HWCAP2_SHA1) != 0) -- return true; --#elif defined(__APPLE__) && defined(__aarch64__) -- unsigned int device, version; -- GetAppleMachineInfo(device, version); -- return IsAppleMachineARMv8(device, version); --#endif ++#ifndef __TERMUX__ + #if defined(__ANDROID__) && defined(__aarch64__) + if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM64) != 0) && + ((android_getCpuFeatures() & ANDROID_CPU_ARM64_FEATURE_SHA1) != 0)) +@@ -890,11 +901,13 @@ + #elif defined(__APPLE__) && defined(__aarch64__) + return IsAppleMachineARMv8(); + #endif ++#endif return false; } - inline bool CPU_QuerySHA2() + inline bool CPU_QuerySHA256() { --#if defined(__ANDROID__) && defined(__aarch64__) -- if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM64) != 0) && -- ((android_getCpuFeatures() & ANDROID_CPU_ARM64_FEATURE_SHA2) != 0)) -- return true; --#elif defined(__ANDROID__) && defined(__aarch32__) -- if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM) != 0) && -- ((android_getCpuFeatures() & ANDROID_CPU_ARM_FEATURE_SHA2) != 0)) -- return true; --#elif defined(__linux__) && defined(__aarch64__) -- if ((getauxval(AT_HWCAP) & HWCAP_SHA2) != 0) -- return true; --#elif defined(__linux__) && defined(__aarch32__) -- if ((getauxval(AT_HWCAP2) & HWCAP2_SHA2) != 0) -- return true; --#elif defined(__APPLE__) && defined(__aarch64__) -- unsigned int device, version; -- GetAppleMachineInfo(device, version); -- return IsAppleMachineARMv8(device, version); --#endif ++#ifndef __TERMUX__ + #if defined(__ANDROID__) && defined(__aarch64__) + if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM64) != 0) && + ((android_getCpuFeatures() & ANDROID_CPU_ARM64_FEATURE_SHA2) != 0)) +@@ -912,11 +925,13 @@ + #elif defined(__APPLE__) && defined(__aarch64__) + return IsAppleMachineARMv8(); + #endif ++#endif return false; } inline bool CPU_QuerySHA512() { --// Some ARMv8.4 features are disabled at the moment --#if defined(__ANDROID__) && defined(__aarch64__) && 0 -- if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM64) != 0) && -- ((android_getCpuFeatures() & ANDROID_CPU_ARM64_FEATURE_SHA512) != 0)) -- return true; --#elif defined(__ANDROID__) && defined(__aarch32__) && 0 -- if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM) != 0) && -- ((android_getCpuFeatures() & ANDROID_CPU_ARM_FEATURE_SHA512) != 0)) -- return true; --#elif defined(__linux__) && defined(__aarch64__) -- if ((getauxval(AT_HWCAP) & HWCAP_SHA512) != 0) -- return true; --#elif defined(__linux__) && defined(__aarch32__) -- if ((getauxval(AT_HWCAP2) & HWCAP2_SHA512) != 0) -- return true; --#elif defined(__APPLE__) && defined(__aarch64__) && 0 -- unsigned int device, version; -- GetAppleMachineInfo(device, version); -- return IsAppleMachineARMv84(device, version); --#endif ++#ifndef __TERMUX__ + // Some ARMv8.4 features are disabled at the moment + #if defined(__ANDROID__) && defined(__aarch64__) && 0 + if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM64) != 0) && +@@ -935,11 +950,13 @@ + #elif defined(__APPLE__) && defined(__aarch64__) && 0 + return false; + #endif ++#endif return false; } inline bool CPU_QuerySHA3() { --// Some ARMv8.4 features are disabled at the moment --#if defined(__ANDROID__) && defined(__aarch64__) && 0 -- if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM64) != 0) && -- ((android_getCpuFeatures() & ANDROID_CPU_ARM64_FEATURE_SHA3) != 0)) -- return true; --#elif defined(__ANDROID__) && defined(__aarch32__) && 0 -- if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM) != 0) && -- ((android_getCpuFeatures() & ANDROID_CPU_ARM_FEATURE_SHA3) != 0)) -- return true; --#elif defined(__linux__) && defined(__aarch64__) -- if ((getauxval(AT_HWCAP) & HWCAP_SHA3) != 0) -- return true; --#elif defined(__linux__) && defined(__aarch32__) -- if ((getauxval(AT_HWCAP2) & HWCAP2_SHA3) != 0) -- return true; --#elif defined(__APPLE__) && defined(__aarch64__) && 0 -- unsigned int device, version; -- GetAppleMachineInfo(device, version); -- return IsAppleMachineARMv84(device, version); --#endif ++#ifndef __TERMUX__ + // Some ARMv8.4 features are disabled at the moment + #if defined(__ANDROID__) && defined(__aarch64__) && 0 + if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM64) != 0) && +@@ -958,11 +975,13 @@ + #elif defined(__APPLE__) && defined(__aarch64__) && 0 + return false; + #endif ++#endif return false; } inline bool CPU_QuerySM3() { --// Some ARMv8.4 features are disabled at the moment --#if defined(__ANDROID__) && defined(__aarch64__) && 0 -- if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM64) != 0) && -- ((android_getCpuFeatures() & ANDROID_CPU_ARM64_FEATURE_SM3) != 0)) -- return true; --#elif defined(__ANDROID__) && defined(__aarch32__) && 0 -- if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM) != 0) && -- ((android_getCpuFeatures() & ANDROID_CPU_ARM_FEATURE_SM3) != 0)) -- return true; --#elif defined(__linux__) && defined(__aarch64__) -- if ((getauxval(AT_HWCAP) & HWCAP_SM3) != 0) -- return true; --#elif defined(__linux__) && defined(__aarch32__) -- if ((getauxval(AT_HWCAP2) & HWCAP2_SM3) != 0) -- return true; --#elif defined(__APPLE__) && defined(__aarch64__) && 0 -- unsigned int device, version; -- GetAppleMachineInfo(device, version); -- return IsAppleMachineARMv84(device, version); --#endif ++#ifndef __TERMUX__ + // Some ARMv8.4 features are disabled at the moment + #if defined(__ANDROID__) && defined(__aarch64__) && 0 + if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM64) != 0) && +@@ -981,11 +1000,13 @@ + #elif defined(__APPLE__) && defined(__aarch64__) && 0 + return false; + #endif ++#endif return false; } inline bool CPU_QuerySM4() { --// Some ARMv8.4 features are disabled at the moment --#if defined(__ANDROID__) && defined(__aarch64__) && 0 -- if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM64) != 0) && -- ((android_getCpuFeatures() & ANDROID_CPU_ARM64_FEATURE_SM4) != 0)) -- return true; --#elif defined(__ANDROID__) && defined(__aarch32__) && 0 -- if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM) != 0) && -- ((android_getCpuFeatures() & ANDROID_CPU_ARM_FEATURE_SM4) != 0)) -- return true; --#elif defined(__linux__) && defined(__aarch64__) -- if ((getauxval(AT_HWCAP) & HWCAP_SM4) != 0) -- return true; --#elif defined(__linux__) && defined(__aarch32__) -- if ((getauxval(AT_HWCAP2) & HWCAP2_SM4) != 0) -- return true; --#elif defined(__APPLE__) && defined(__aarch64__) && 0 -- unsigned int device, version; -- GetAppleMachineInfo(device, version); -- return IsAppleMachineARMv84(device, version); --#endif ++#ifndef __TERMUX__ + // Some ARMv8.4 features are disabled at the moment + #if defined(__ANDROID__) && defined(__aarch64__) && 0 + if (((android_getCpuFamily() & ANDROID_CPU_FAMILY_ARM64) != 0) && +@@ -1004,6 +1025,7 @@ + #elif defined(__APPLE__) && defined(__aarch64__) && 0 + return false; + #endif ++#endif return false; }