mirror of
https://github.com/openssl/openssl.git
synced 2024-11-27 05:21:51 +08:00
crypto/armcap.c: short-circuit processor capability probe in iOS builds.
Capability probing by catching SIGILL appears to be problematic on iOS. But since Apple universe is "monocultural", it's actually possible to simply set pre-defined processor capability mask. Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2617)
This commit is contained in:
parent
c93f06c12f
commit
8653e78f43
@ -111,6 +111,24 @@ void OPENSSL_cpuid_setup(void)
|
||||
return;
|
||||
}
|
||||
|
||||
# if defined(__APPLE__) && !defined(__aarch64__)
|
||||
/*
|
||||
* Capability probing by catching SIGILL appears to be problematic
|
||||
* on iOS. But since Apple universe is "monocultural", it's actually
|
||||
* possible to simply set pre-defined processor capability mask.
|
||||
*/
|
||||
if (1) {
|
||||
OPENSSL_armcap_P = ARMV7_NEON;
|
||||
return;
|
||||
}
|
||||
/*
|
||||
* One could do same even for __aarch64__ iOS builds. It's not done
|
||||
* exclusively for reasons of keeping code unified across platforms.
|
||||
* Unified code works because it never triggers SIGILL on Apple
|
||||
* devices...
|
||||
*/
|
||||
# endif
|
||||
|
||||
sigfillset(&all_masked);
|
||||
sigdelset(&all_masked, SIGILL);
|
||||
sigdelset(&all_masked, SIGTRAP);
|
||||
|
Loading…
Reference in New Issue
Block a user