32 lines
1.0 KiB
Diff
Executable File
32 lines
1.0 KiB
Diff
Executable File
Index: openssl-1.1.1b/crypto/armcap.c
|
|
===================================================================
|
|
--- openssl-1.1.1b.orig/crypto/armcap.c 2019-02-26 22:15:30.000000000 +0800
|
|
+++ openssl-1.1.1b/crypto/armcap.c 2019-12-03 11:02:41.618143075 +0800
|
|
@@ -133,7 +133,18 @@
|
|
# endif
|
|
|
|
OPENSSL_armcap_P = 0;
|
|
+#if 1
|
|
+ // BRCM SPECIFIC: do NOT probe for NEON, etc.
|
|
+ // On the 138, NEON is only on one core. The autodetect may detect NEON,
|
|
+ // and then migrate to the other core, at which point an illegal instruction
|
|
+ // would be encountered.
|
|
+
|
|
+ // For the 148: currently the neon registers are not saved on a context switch.
|
|
+ // If multiple users are accessing neon, then a context switch can cause corrupt
|
|
+ // registers.
|
|
|
|
+ // simply disabling neon by default:
|
|
+#else
|
|
# ifdef OSSL_IMPLEMENT_GETAUXVAL
|
|
if (getauxval(HWCAP) & HWCAP_NEON) {
|
|
unsigned long hwcap = getauxval(HWCAP_CE);
|
|
@@ -158,6 +169,7 @@
|
|
# endif
|
|
}
|
|
# endif
|
|
+#endif
|
|
|
|
sigfillset(&all_masked);
|
|
sigdelset(&all_masked, SIGILL);
|