From: YOKOTA Hiroshi Date: Tue, 14 Sep 2021 23:51:04 +0900 Subject: Disable hardware acceleration support on armel Use "__ARM_ARCH" to split "armel" and "armhf" __ARM_ARCH: armel = 5 armhf = 7 --- C/Aes.c | 2 ++ C/AesOpt.c | 2 ++ C/Sha1.c | 2 ++ C/Sha1Opt.c | 2 ++ C/Sha256.c | 2 ++ C/Sha256Opt.c | 2 ++ CPP/7zip/Crypto/MyAes.cpp | 2 ++ 7 files changed, 14 insertions(+) diff --git a/C/Aes.c b/C/Aes.c index 9ad66c5..2af4298 100755 --- a/C/Aes.c +++ b/C/Aes.c @@ -56,6 +56,7 @@ static Byte InvS[256]; #ifdef MY_CPU_X86_OR_AMD64 #define USE_HW_AES #elif defined(MY_CPU_ARM_OR_ARM64) && defined(MY_CPU_LE) + #if (__ARM_ARCH > 7) #if defined(__clang__) #if (__clang_major__ >= 8) // fix that check #define USE_HW_AES @@ -69,6 +70,7 @@ static Byte InvS[256]; #define USE_HW_AES #endif #endif + #endif #endif #ifdef USE_HW_AES diff --git a/C/AesOpt.c b/C/AesOpt.c index 1bdc9a8..60058bc 100755 --- a/C/AesOpt.c +++ b/C/AesOpt.c @@ -508,6 +508,7 @@ VAES_COMPAT_STUB (AesCtr_Code_HW) #elif defined(MY_CPU_ARM_OR_ARM64) && defined(MY_CPU_LE) + #if (__ARM_ARCH > 7) #if defined(__clang__) #if (__clang_major__ >= 8) // fix that check #define USE_HW_AES @@ -521,6 +522,7 @@ VAES_COMPAT_STUB (AesCtr_Code_HW) #define USE_HW_AES #endif #endif + #endif #ifdef USE_HW_AES diff --git a/C/Sha1.c b/C/Sha1.c index 7adeb44..b6ee739 100755 --- a/C/Sha1.c +++ b/C/Sha1.c @@ -33,6 +33,7 @@ This code is based on public domain code of Steve Reid from Wei Dai's Crypto++ l #endif #endif #elif defined(MY_CPU_ARM_OR_ARM64) + #if (__ARM_ARCH > 7) #ifdef _MSC_VER #if _MSC_VER >= 1910 && _MSC_VER >= 1929 && _MSC_FULL_VER >= 192930037 #define _SHA_SUPPORTED @@ -46,6 +47,7 @@ This code is based on public domain code of Steve Reid from Wei Dai's Crypto++ l #define _SHA_SUPPORTED #endif #endif + #endif #endif void MY_FAST_CALL Sha1_UpdateBlocks(UInt32 state[5], const Byte *data, size_t numBlocks); diff --git a/C/Sha1Opt.c b/C/Sha1Opt.c index dcedfbc..574d469 100755 --- a/C/Sha1Opt.c +++ b/C/Sha1Opt.c @@ -214,6 +214,7 @@ void MY_FAST_CALL Sha1_UpdateBlocks_HW(UInt32 state[5], const Byte *data, size_t #elif defined(MY_CPU_ARM_OR_ARM64) + #if (__ARM_ARCH > 7) #if defined(__clang__) #if (__clang_major__ >= 8) // fix that check #define USE_HW_SHA @@ -227,6 +228,7 @@ void MY_FAST_CALL Sha1_UpdateBlocks_HW(UInt32 state[5], const Byte *data, size_t #define USE_HW_SHA #endif #endif + #endif #ifdef USE_HW_SHA diff --git a/C/Sha256.c b/C/Sha256.c index c03b75a..e997ad4 100755 --- a/C/Sha256.c +++ b/C/Sha256.c @@ -33,6 +33,7 @@ This code is based on public domain code from Wei Dai's Crypto++ library. */ #endif #endif #elif defined(MY_CPU_ARM_OR_ARM64) + #if (__ARM_ARCH > 7) #ifdef _MSC_VER #if _MSC_VER >= 1910 #define _SHA_SUPPORTED @@ -46,6 +47,7 @@ This code is based on public domain code from Wei Dai's Crypto++ library. */ #define _SHA_SUPPORTED #endif #endif + #endif #endif void MY_FAST_CALL Sha256_UpdateBlocks(UInt32 state[8], const Byte *data, size_t numBlocks); diff --git a/C/Sha256Opt.c b/C/Sha256Opt.c index cc8c53e..b13cf7b 100755 --- a/C/Sha256Opt.c +++ b/C/Sha256Opt.c @@ -214,6 +214,7 @@ void MY_FAST_CALL Sha256_UpdateBlocks_HW(UInt32 state[8], const Byte *data, size #elif defined(MY_CPU_ARM_OR_ARM64) + #if (__ARM_ARCH > 7) #if defined(__clang__) #if (__clang_major__ >= 8) // fix that check #define USE_HW_SHA @@ -227,6 +228,7 @@ void MY_FAST_CALL Sha256_UpdateBlocks_HW(UInt32 state[8], const Byte *data, size #define USE_HW_SHA #endif #endif + #endif #ifdef USE_HW_SHA diff --git a/CPP/7zip/Crypto/MyAes.cpp b/CPP/7zip/Crypto/MyAes.cpp index 7e7cced..0df7b2f 100755 --- a/CPP/7zip/Crypto/MyAes.cpp +++ b/CPP/7zip/Crypto/MyAes.cpp @@ -86,6 +86,7 @@ STDMETHODIMP CAesCoder::SetInitVector(const Byte *data, UInt32 size) #ifdef MY_CPU_X86_OR_AMD64 #define USE_HW_AES #elif defined(MY_CPU_ARM_OR_ARM64) && defined(MY_CPU_LE) + #if (__ARM_ARCH > 7) #if defined(__clang__) #if (__clang_major__ >= 8) // fix that check #define USE_HW_AES @@ -99,6 +100,7 @@ STDMETHODIMP CAesCoder::SetInitVector(const Byte *data, UInt32 size) #define USE_HW_AES #endif #endif + #endif #endif #endif