[openssl] master update

tomas at openssl.org tomas at openssl.org
Thu Nov 18 12:24:38 UTC 2021


The branch master has been updated
       via  e67edf60f2e9be6e5f5465b52d01aa26bf715280 (commit)
      from  af16097febcd4fa31cd5fcd05ad09cf8b53659ea (commit)


- Log -----------------------------------------------------------------
commit e67edf60f2e9be6e5f5465b52d01aa26bf715280
Author: Martin Schwenke <martin at 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 <martin at meltin.net>
    
    Reviewed-by: Matt Caswell <matt at openssl.org>
    Reviewed-by: Paul Dale <pauli at openssl.org>
    Reviewed-by: Tomas Mraz <tomas at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/17026)

-----------------------------------------------------------------------

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 {


More information about the openssl-commits mailing list