components/openssl/openssl-1.0.1/patches/45-use-srln.patch
branchs11u3-sru
changeset 7163 ee09edbd5876
parent 7159 59b406bc4a3a
child 7164 b2abbab8e6d5
equal deleted inserted replaced
7159:59b406bc4a3a 7163:ee09edbd5876
     1 # This patch fixes the invalid use of 64-bit instruction (srlx) by 32-bit
       
     2 # applications.  This patch is from the following commit in the upstream:
       
     3 #    https://github.com/openssl/openssl/commit/f198cc43a0eca4bf1a8e7f60c51af560f4346dc8
       
     4 --- a/crypto/des/asm/dest4-sparcv9.pl	2016-08-04 14:20:26.610683970 -0700
       
     5 +++ b/crypto/des/asm/dest4-sparcv9.pl	2016-08-04 14:22:33.339076315 -0700
       
     6 @@ -96,7 +96,7 @@
       
     7  des_t4_cbc_encrypt:
       
     8  	cmp		$len, 0
       
     9  	be,pn		$::size_t_cc, .Lcbc_abort
       
    10 -	nop
       
    11 +	srln		$len, 0, $len		! needed on v8+, "nop" on v9
       
    12  	ld		[$ivec + 0], %f0	! load ivec
       
    13  	ld		[$ivec + 4], %f1
       
    14  
       
    15 @@ -197,7 +197,7 @@
       
    16  des_t4_cbc_decrypt:
       
    17  	cmp		$len, 0
       
    18  	be,pn		$::size_t_cc, .Lcbc_abort
       
    19 -	nop
       
    20 +	srln		$len, 0, $len		! needed on v8+, "nop" on v9
       
    21  	ld		[$ivec + 0], %f2	! load ivec
       
    22  	ld		[$ivec + 4], %f3
       
    23  
       
    24 @@ -305,7 +305,7 @@
       
    25  des_t4_ede3_cbc_encrypt:
       
    26  	cmp		$len, 0
       
    27  	be,pn		$::size_t_cc, .Lcbc_abort
       
    28 -	nop
       
    29 +	srln		$len, 0, $len		! needed on v8+, "nop" on v9
       
    30  	ld		[$ivec + 0], %f0	! load ivec
       
    31  	ld		[$ivec + 4], %f1
       
    32  
       
    33 @@ -457,7 +457,7 @@
       
    34  des_t4_ede3_cbc_decrypt:
       
    35  	cmp		$len, 0
       
    36  	be,pn		$::size_t_cc, .Lcbc_abort
       
    37 -	nop
       
    38 +	srln		$len, 0, $len		! needed on v8+, "nop" on v9
       
    39  	ld		[$ivec + 0], %f2	! load ivec
       
    40  	ld		[$ivec + 4], %f3
       
    41  
       
    42 --- a/crypto/perlasm/sparcv9_modes.pl	2016-08-04 14:24:29.877624460 -0700
       
    43 +++ b/crypto/perlasm/sparcv9_modes.pl	2016-08-04 14:27:18.552931245 -0700
       
    44 @@ -37,6 +37,7 @@
       
    45  	save		%sp, -$::frame, %sp
       
    46  	cmp		$len, 0
       
    47  	be,pn		$::size_t_cc, .L${bits}_cbc_enc_abort
       
    48 +	srln		$len, 0, $len		! needed on v8+, "nop" on v9
       
    49  	sub		$inp, $out, $blk_init	! $inp!=$out
       
    50  ___
       
    51  $::code.=<<___ if (!$::evp);
       
    52 @@ -254,6 +255,7 @@
       
    53  	save		%sp, -$::frame, %sp
       
    54  	cmp		$len, 0
       
    55  	be,pn		$::size_t_cc, .L${bits}_cbc_dec_abort
       
    56 +	srln		$len, 0, $len		! needed on v8+, "nop" on v9
       
    57  	sub		$inp, $out, $blk_init	! $inp!=$out
       
    58  ___
       
    59  $::code.=<<___ if (!$::evp);
       
    60 @@ -613,6 +615,7 @@
       
    61  .align	32
       
    62  ${alg}${bits}_t4_ctr32_encrypt:
       
    63  	save		%sp, -$::frame, %sp
       
    64 +	srln		$len, 0, $len		! needed on v8+, "nop" on v9
       
    65  
       
    66  	prefetch	[$inp], 20
       
    67  	prefetch	[$inp + 63], 20
       
    68 @@ -916,6 +919,7 @@
       
    69  .align	32
       
    70  ${alg}${bits}_t4_xts_${dir}crypt:
       
    71  	save		%sp, -$::frame-16, %sp
       
    72 +	srln		$len, 0, $len		! needed on v8+, "nop" on v9
       
    73  
       
    74  	mov		$ivec, %o0
       
    75  	add		%fp, $::bias-16, %o1