forked from pool/openssl-3
Pedro Monreal Gonzalez
687459c580
OBS-URL: https://build.opensuse.org/request/show/906781 OBS-URL: https://build.opensuse.org/package/show/security:tls/openssl-3?expand=0&rev=27
56 lines
1.7 KiB
Diff
56 lines
1.7 KiB
Diff
From d18f9e0354894a5d3d86b9b0b09acc5953766e54 Mon Sep 17 00:00:00 2001
|
|
From: Martin Schwenke <martin@meltin.net>
|
|
Date: Thu, 1 Jul 2021 14:23:50 +1000
|
|
Subject: [PATCH 1/3] bn: Use a basic branch-if-not-zero
|
|
|
|
Ancient toolchains fail the build because they don't like the hints,
|
|
newer ISAs recommend not using the hints and relying on dynamic branch
|
|
prediction.
|
|
|
|
Signed-off-by: Martin Schwenke <martin@meltin.net>
|
|
---
|
|
crypto/bn/asm/ppc64-mont-fixed.pl | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
Index: openssl-3.0.0-beta1/crypto/bn/asm/ppc64-mont-fixed.pl
|
|
===================================================================
|
|
--- openssl-3.0.0-beta1.orig/crypto/bn/asm/ppc64-mont-fixed.pl
|
|
+++ openssl-3.0.0-beta1/crypto/bn/asm/ppc64-mont-fixed.pl
|
|
@@ -267,7 +267,7 @@ ___
|
|
addze $tp[$n],$tp[$n+1]
|
|
|
|
addi $i,$i,$SIZE_T
|
|
- bc 25,0,$label->{"outer"}
|
|
+ bdnz $label->{"outer"}
|
|
|
|
and. $tp[$n],$tp[$n],$tp[$n]
|
|
bne $label->{"sub"}
|
|
@@ -322,7 +322,7 @@ ___
|
|
$self->add_code(<<___);
|
|
li r3,1
|
|
blr
|
|
-.size ${fname},.-${fname}
|
|
+.size .${fname},.-.${fname}
|
|
___
|
|
|
|
}
|
|
Index: openssl-3.0.0-beta1/crypto/ppccap.c
|
|
===================================================================
|
|
--- openssl-3.0.0-beta1.orig/crypto/ppccap.c
|
|
+++ openssl-3.0.0-beta1/crypto/ppccap.c
|
|
@@ -68,12 +68,14 @@ int bn_mul_mont(BN_ULONG *rp, const BN_U
|
|
* no opportunity to figure it out...
|
|
*/
|
|
|
|
+#if defined(_ARCH_PPC64)
|
|
if (num == 6) {
|
|
if (OPENSSL_ppccap_P & PPC_MADD300)
|
|
return bn_mul_mont_300_fixed_n6(rp, ap, bp, np, n0, num);
|
|
else
|
|
return bn_mul_mont_fixed_n6(rp, ap, bp, np, n0, num);
|
|
}
|
|
+#endif
|
|
|
|
return bn_mul_mont_int(rp, ap, bp, np, n0, num);
|
|
}
|