From d18f9e0354894a5d3d86b9b0b09acc5953766e54 Mon Sep 17 00:00:00 2001 From: Martin Schwenke 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 --- 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); }