armcap: skip probing _armv7_tick()

Detection of this feature is unreliable so only use it if requested.

Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/18852)
This commit is contained in:
Cameron Gutman 2022-07-22 21:04:46 -05:00 committed by Hugo Landau
parent a1de5eb884
commit f2ec24c9e7

View File

@ -357,11 +357,11 @@ void OPENSSL_cpuid_setup(void)
# endif
# endif
/* Things that getauxval didn't tell us */
if (sigsetjmp(ill_jmp, 1) == 0) {
_armv7_tick();
OPENSSL_armcap_P |= ARMV7_TICK;
}
/*
* Probing for ARMV7_TICK is known to produce unreliable results,
* so we will only use the feature when the user explicitly enables
* it with OPENSSL_armcap.
*/
sigaction(SIGILL, &ill_oact, NULL);
sigprocmask(SIG_SETMASK, &oset, NULL);