termux-packages/packages/7zip/disable_hardware_accelerati...

160 lines
4.5 KiB
Diff
Executable File

From: YOKOTA Hiroshi <yokota.hgml@gmail.com>
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