summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMakoto Kato <m_kato@ga2.so-net.ne.jp>2020-11-25 10:53:42 +0000
committerMakoto Kato <m_kato@ga2.so-net.ne.jp>2020-11-25 10:53:42 +0000
commit0020b61c3055b6f985785593baa96e17f2a7b56e (patch)
treebbb93c43a2981b6da7f58aafbe75f213211d3dda
parent96b5f4e4efd48eddc0ec2304b03cf5eeb7b092fa (diff)
downloadnss-hg-0020b61c3055b6f985785593baa96e17f2a7b56e.tar.gz
Bug 1678990 - Use __ARM_FEATURE_CRYPTO for feature detection. r=bbeurdouche
Actually, we have CPU feature detection for Linux and FreeBSD on aarch64 platform. But others don't. macOS doesn't has any CPU feature detection for ARM Crypto Extension, but toolchain default is turned on. So we should respect __ARM_FEATURE_CRYPTO. Differential Revision: https://phabricator.services.mozilla.com/D97909
-rw-r--r--lib/freebl/blinit.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/freebl/blinit.c b/lib/freebl/blinit.c
index 2f2a476d0..82375fdbf 100644
--- a/lib/freebl/blinit.c
+++ b/lib/freebl/blinit.c
@@ -231,6 +231,15 @@ CheckARMSupport()
arm_sha1_support_ = ID_AA64ISAR0_SHA1_VAL(isar0) >= ID_AA64ISAR0_SHA1_BASE;
arm_sha2_support_ = ID_AA64ISAR0_SHA2_VAL(isar0) >= ID_AA64ISAR0_SHA2_BASE;
}
+#elif defined(__ARM_FEATURE_CRYPTO)
+ /*
+ * Although no feature detection, default compiler option allows ARM
+ * Crypto Extension.
+ */
+ arm_aes_support_ = PR_TRUE;
+ arm_pmull_support_ = PR_TRUE;
+ arm_sha1_support_ = PR_TRUE;
+ arm_sha2_support_ = PR_TRUE;
#endif
/* aarch64 must support NEON. */
arm_neon_support_ = PR_GetEnvSecure("NSS_DISABLE_ARM_NEON") == NULL;