Add some missing cfi frame info in poly1305-x86_64.pl
authorBernd Edlinger <bernd.edlinger@hotmail.de>
Sun, 22 Dec 2019 15:29:17 +0000 (16:29 +0100)
committerBernd Edlinger <bernd.edlinger@hotmail.de>
Mon, 23 Dec 2019 19:27:46 +0000 (20:27 +0100)
Reviewed-by: Kurt Roeckx <kurt@roeckx.be>
(Merged from https://github.com/openssl/openssl/pull/10678)

(cherry picked from commit 048fa13e5ef4ccd730561f79a6c91f38365994d1)

crypto/poly1305/asm/poly1305-x86_64.pl

index 342ad7f18aa7152ef17955600c447dcb19f91e7b..4b81c5ac0cec2f8bc9eafcbe348610e6bf532b50 100755 (executable)
@@ -168,6 +168,7 @@ $code.=<<___;
 .type  poly1305_init,\@function,3
 .align 32
 poly1305_init:
+.cfi_startproc
        xor     %rax,%rax
        mov     %rax,0($ctx)            # initialize hash value
        mov     %rax,8($ctx)
@@ -219,6 +220,7 @@ $code.=<<___;
        mov     \$1,%eax
 .Lno_key:
        ret
+.cfi_endproc
 .size  poly1305_init,.-poly1305_init
 
 .type  poly1305_blocks,\@function,4
@@ -298,6 +300,7 @@ $code.=<<___;
 .type  poly1305_emit,\@function,3
 .align 32
 poly1305_emit:
+.cfi_startproc
 .Lemit:
        mov     0($ctx),%r8     # load hash value
        mov     8($ctx),%r9
@@ -318,6 +321,7 @@ poly1305_emit:
        mov     %rcx,8($mac)
 
        ret
+.cfi_endproc
 .size  poly1305_emit,.-poly1305_emit
 ___
 if ($avx) {
@@ -342,15 +346,18 @@ $code.=<<___;
 .type  __poly1305_block,\@abi-omnipotent
 .align 32
 __poly1305_block:
+.cfi_startproc
 ___
        &poly1305_iteration();
 $code.=<<___;
        ret
+.cfi_endproc
 .size  __poly1305_block,.-__poly1305_block
 
 .type  __poly1305_init_avx,\@abi-omnipotent
 .align 32
 __poly1305_init_avx:
+.cfi_startproc
        mov     $r0,$h0
        mov     $r1,$h1
        xor     $h2,$h2
@@ -508,6 +515,7 @@ __poly1305_init_avx:
 
        lea     -48-64($ctx),$ctx       # size [de-]optimization
        ret
+.cfi_endproc
 .size  __poly1305_init_avx,.-__poly1305_init_avx
 
 .type  poly1305_blocks_avx,\@function,4
@@ -1373,6 +1381,7 @@ $code.=<<___;
 .type  poly1305_emit_avx,\@function,3
 .align 32
 poly1305_emit_avx:
+.cfi_startproc
        cmpl    \$0,20($ctx)    # is_base2_26?
        je      .Lemit
 
@@ -1423,6 +1432,7 @@ poly1305_emit_avx:
        mov     %rcx,8($mac)
 
        ret
+.cfi_endproc
 .size  poly1305_emit_avx,.-poly1305_emit_avx
 ___
 
@@ -2741,6 +2751,7 @@ $code.=<<___;
 .type  poly1305_init_base2_44,\@function,3
 .align 32
 poly1305_init_base2_44:
+.cfi_startproc
        xor     %rax,%rax
        mov     %rax,0($ctx)            # initialize hash value
        mov     %rax,8($ctx)
@@ -2782,6 +2793,7 @@ ___
 $code.=<<___;
        mov     \$1,%eax
        ret
+.cfi_endproc
 .size  poly1305_init_base2_44,.-poly1305_init_base2_44
 ___
 {
@@ -2793,6 +2805,7 @@ $code.=<<___;
 .type  poly1305_blocks_vpmadd52,\@function,4
 .align 32
 poly1305_blocks_vpmadd52:
+.cfi_startproc
        shr     \$4,$len
        jz      .Lno_data_vpmadd52              # too short
 
@@ -2899,6 +2912,7 @@ poly1305_blocks_vpmadd52:
 
 .Lno_data_vpmadd52:
        ret
+.cfi_endproc
 .size  poly1305_blocks_vpmadd52,.-poly1305_blocks_vpmadd52
 ___
 }
@@ -2916,6 +2930,7 @@ $code.=<<___;
 .type  poly1305_blocks_vpmadd52_4x,\@function,4
 .align 32
 poly1305_blocks_vpmadd52_4x:
+.cfi_startproc
        shr     \$4,$len
        jz      .Lno_data_vpmadd52_4x           # too short
 
@@ -3340,6 +3355,7 @@ poly1305_blocks_vpmadd52_4x:
 
 .Lno_data_vpmadd52_4x:
        ret
+.cfi_endproc
 .size  poly1305_blocks_vpmadd52_4x,.-poly1305_blocks_vpmadd52_4x
 ___
 }
@@ -3358,6 +3374,7 @@ $code.=<<___;
 .type  poly1305_blocks_vpmadd52_8x,\@function,4
 .align 32
 poly1305_blocks_vpmadd52_8x:
+.cfi_startproc
        shr     \$4,$len
        jz      .Lno_data_vpmadd52_8x           # too short
 
@@ -3713,6 +3730,7 @@ $code.=<<___;
 
 .Lno_data_vpmadd52_8x:
        ret
+.cfi_endproc
 .size  poly1305_blocks_vpmadd52_8x,.-poly1305_blocks_vpmadd52_8x
 ___
 }
@@ -3720,6 +3738,7 @@ $code.=<<___;
 .type  poly1305_emit_base2_44,\@function,3
 .align 32
 poly1305_emit_base2_44:
+.cfi_startproc
        mov     0($ctx),%r8     # load hash value
        mov     8($ctx),%r9
        mov     16($ctx),%r10
@@ -3750,6 +3769,7 @@ poly1305_emit_base2_44:
        mov     %rcx,8($mac)
 
        ret
+.cfi_endproc
 .size  poly1305_emit_base2_44,.-poly1305_emit_base2_44
 ___
 }      }       }
@@ -3800,6 +3820,7 @@ $code.=<<___;
 .type  xor128_encrypt_n_pad,\@abi-omnipotent
 .align 16
 xor128_encrypt_n_pad:
+.cfi_startproc
        sub     $otp,$inp
        sub     $otp,$out
        mov     $len,%r10               # put len aside
@@ -3841,12 +3862,14 @@ xor128_encrypt_n_pad:
 .Ldone_enc:
        mov     $otp,%rax
        ret
+.cfi_endproc
 .size  xor128_encrypt_n_pad,.-xor128_encrypt_n_pad
 
 .globl xor128_decrypt_n_pad
 .type  xor128_decrypt_n_pad,\@abi-omnipotent
 .align 16
 xor128_decrypt_n_pad:
+.cfi_startproc
        sub     $otp,$inp
        sub     $otp,$out
        mov     $len,%r10               # put len aside
@@ -3892,6 +3915,7 @@ xor128_decrypt_n_pad:
 .Ldone_dec:
        mov     $otp,%rax
        ret
+.cfi_endproc
 .size  xor128_decrypt_n_pad,.-xor128_decrypt_n_pad
 ___
 }