The branch openssl-3.0 has been updated via 3239bedea9d2767e20a420c84156e18b71b017ea (commit) from 4bf976565294b883c980244c36fac326897fc261 (commit)
- Log ----------------------------------------------------------------- commit 3239bedea9d2767e20a420c84156e18b71b017ea Author: Martin Schwenke <mar...@meltin.net> Date: Tue Nov 9 22:07:54 2021 +1100 perlasm/ppc-xlate.pl: Fix build on OS X vsr2vr1() fails on OS X because the main loop doesn't strip the non-numeric register prefixes for OS X. Strip any non-numeric prefix (likely just "v") from registers before doing numeric calculation, then put the prefix back on the result. Fixes: #16995 Signed-off-by: Martin Schwenke <mar...@meltin.net> Reviewed-by: Matt Caswell <m...@openssl.org> Reviewed-by: Paul Dale <pa...@openssl.org> Reviewed-by: Tomas Mraz <to...@openssl.org> (Merged from https://github.com/openssl/openssl/pull/17026) (cherry picked from commit e67edf60f2e9be6e5f5465b52d01aa26bf715280) ----------------------------------------------------------------------- Summary of changes: crypto/perlasm/ppc-xlate.pl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/crypto/perlasm/ppc-xlate.pl b/crypto/perlasm/ppc-xlate.pl index 47ca9b8afa..2ee444045f 100755 --- a/crypto/perlasm/ppc-xlate.pl +++ b/crypto/perlasm/ppc-xlate.pl @@ -153,13 +153,14 @@ my $quad = sub { # vs<N> -> v<N-32> if N > 32 sub vsr2vr1 { my $in = shift; + my ($prefix, $reg) = ($in =~ m/(\D*)(\d+)/); - my $n = int($in); + my $n = int($reg); if ($n >= 32) { $n -= 32; } - return "$n"; + return "${prefix}${n}"; } # As above for first $num register args, returns list sub _vsr2vr {