diff --git a/crypto/cpu_arm_linux.c b/crypto/cpu_arm_linux.c index 0ffd9a49a..d8b878a6f 100644 --- a/crypto/cpu_arm_linux.c +++ b/crypto/cpu_arm_linux.c @@ -14,7 +14,8 @@ #include -#if defined(OPENSSL_ARM) && !defined(OPENSSL_STATIC_ARMCAP) +#if defined(OPENSSL_ARM) && defined(OPENSSL_LINUX) && \ + !defined(OPENSSL_STATIC_ARMCAP) #include #include #include @@ -226,4 +227,4 @@ int CRYPTO_has_broken_NEON(void) { return g_has_broken_neon; } int CRYPTO_needs_hwcap2_workaround(void) { return g_needs_hwcap2_workaround; } -#endif // OPENSSL_ARM && !OPENSSL_STATIC_ARMCAP +#endif // OPENSSL_ARM && OPENSSL_LINUX && !OPENSSL_STATIC_ARMCAP diff --git a/include/openssl/cpu.h b/include/openssl/cpu.h index e71fbecd0..9331e0475 100644 --- a/include/openssl/cpu.h +++ b/include/openssl/cpu.h @@ -63,6 +63,8 @@ #include +#include + #if defined(__cplusplus) extern "C" { #endif @@ -124,16 +126,6 @@ int CRYPTO_is_ARMv8_AES_capable_at_runtime(void); // CRYPTO_is_ARMv8_PMULL_capable_at_runtime returns true if the current CPU // supports the ARMv8 PMULL instruction. int CRYPTO_is_ARMv8_PMULL_capable_at_runtime(void); - -#if defined(OPENSSL_ARM) -// CRYPTO_has_broken_NEON returns one if the current CPU is known to have a -// broken NEON unit. See https://crbug.com/341598. -OPENSSL_EXPORT int CRYPTO_has_broken_NEON(void); - -// CRYPTO_needs_hwcap2_workaround returns one if the ARMv8 AArch32 AT_HWCAP2 -// workaround was needed. See https://crbug.com/boringssl/46. -OPENSSL_EXPORT int CRYPTO_needs_hwcap2_workaround(void); -#endif #endif // !OPENSSL_STATIC_ARMCAP // CRYPTO_is_NEON_capable returns true if the current CPU has a NEON unit. If diff --git a/include/openssl/crypto.h b/include/openssl/crypto.h index 93b1a9bb2..0824b934d 100644 --- a/include/openssl/crypto.h +++ b/include/openssl/crypto.h @@ -67,6 +67,17 @@ OPENSSL_EXPORT int BORINGSSL_self_test(void); // SANDBOXING.md in the source tree. OPENSSL_EXPORT void CRYPTO_pre_sandbox_init(void); +#if defined(OPENSSL_ARM) && defined(OPENSSL_LINUX) && \ + !defined(OPENSSL_STATIC_ARMCAP) +// CRYPTO_has_broken_NEON returns one if the current CPU is known to have a +// broken NEON unit. See https://crbug.com/341598. +OPENSSL_EXPORT int CRYPTO_has_broken_NEON(void); + +// CRYPTO_needs_hwcap2_workaround returns one if the ARMv8 AArch32 AT_HWCAP2 +// workaround was needed. See https://crbug.com/boringssl/46. +OPENSSL_EXPORT int CRYPTO_needs_hwcap2_workaround(void); +#endif // OPENSSL_ARM && OPENSSL_LINUX && !OPENSSL_STATIC_ARMCAP + // FIPS monitoring