diff options
author | Makoto Kato <m_kato@ga2.so-net.ne.jp> | 2020-11-25 10:53:42 +0000 |
---|---|---|
committer | Makoto Kato <m_kato@ga2.so-net.ne.jp> | 2020-11-25 10:53:42 +0000 |
commit | 0020b61c3055b6f985785593baa96e17f2a7b56e (patch) | |
tree | bbb93c43a2981b6da7f58aafbe75f213211d3dda | |
parent | 96b5f4e4efd48eddc0ec2304b03cf5eeb7b092fa (diff) | |
download | nss-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.c | 9 |
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; |