Fix some CFI issues in x86_64 assembly
[openssl.git] / crypto / ec / asm / ecp_nistz256-x86_64.pl
index eba6ffd430bef6b5a2c0836c9d6db83d0ca1f9e2..b1ff2e38a713ed7e945d71d860f32a72a3b3d985 100755 (executable)
@@ -1674,6 +1674,7 @@ $code.=<<___;
 .type  __ecp_nistz256_mul_montq,\@abi-omnipotent
 .align 32
 __ecp_nistz256_mul_montq:
+.cfi_startproc
        ########################################################################
        # Multiply a by b[0]
        mov     %rax, $t1
@@ -1885,6 +1886,7 @@ __ecp_nistz256_mul_montq:
        mov     $acc1, 8*3($r_ptr)
 
        ret
+.cfi_endproc
 .size  __ecp_nistz256_mul_montq,.-__ecp_nistz256_mul_montq
 
 ################################################################################
@@ -1968,6 +1970,7 @@ $code.=<<___;
 .type  __ecp_nistz256_sqr_montq,\@abi-omnipotent
 .align 32
 __ecp_nistz256_sqr_montq:
+.cfi_startproc
        mov     %rax, $acc5
        mulq    $acc6                   # a[1]*a[0]
        mov     %rax, $acc1
@@ -2125,6 +2128,7 @@ __ecp_nistz256_sqr_montq:
        mov     $acc7, 8*3($r_ptr)
 
        ret
+.cfi_endproc
 .size  __ecp_nistz256_sqr_montq,.-__ecp_nistz256_sqr_montq
 ___
 
@@ -2133,6 +2137,7 @@ $code.=<<___;
 .type  __ecp_nistz256_mul_montx,\@abi-omnipotent
 .align 32
 __ecp_nistz256_mul_montx:
+.cfi_startproc
        ########################################################################
        # Multiply by b[0]
        mulx    $acc1, $acc0, $acc1
@@ -2295,11 +2300,13 @@ __ecp_nistz256_mul_montx:
        mov     $acc1, 8*3($r_ptr)
 
        ret
+.cfi_endproc
 .size  __ecp_nistz256_mul_montx,.-__ecp_nistz256_mul_montx
 
 .type  __ecp_nistz256_sqr_montx,\@abi-omnipotent
 .align 32
 __ecp_nistz256_sqr_montx:
+.cfi_startproc
        mulx    $acc6, $acc1, $acc2     # a[0]*a[1]
        mulx    $acc7, $t0, $acc3       # a[0]*a[2]
        xor     %eax, %eax
@@ -2423,6 +2430,7 @@ __ecp_nistz256_sqr_montx:
        mov     $acc7, 8*3($r_ptr)
 
        ret
+.cfi_endproc
 .size  __ecp_nistz256_sqr_montx,.-__ecp_nistz256_sqr_montx
 ___
 }
@@ -2578,6 +2586,7 @@ ecp_nistz256_scatter_w5:
 .type  ecp_nistz256_gather_w5,\@abi-omnipotent
 .align 32
 ecp_nistz256_gather_w5:
+.cfi_startproc
 ___
 $code.=<<___   if ($avx>1);
        mov     OPENSSL_ia32cap_P+8(%rip), %eax
@@ -2666,6 +2675,7 @@ $code.=<<___      if ($win64);
 ___
 $code.=<<___;
        ret
+.cfi_endproc
 .LSEH_end_ecp_nistz256_gather_w5:
 .size  ecp_nistz256_gather_w5,.-ecp_nistz256_gather_w5
 
@@ -2694,6 +2704,7 @@ ecp_nistz256_scatter_w7:
 .type  ecp_nistz256_gather_w7,\@abi-omnipotent
 .align 32
 ecp_nistz256_gather_w7:
+.cfi_startproc
 ___
 $code.=<<___   if ($avx>1);
        mov     OPENSSL_ia32cap_P+8(%rip), %eax
@@ -2771,6 +2782,7 @@ $code.=<<___      if ($win64);
 ___
 $code.=<<___;
        ret
+.cfi_endproc
 .LSEH_end_ecp_nistz256_gather_w7:
 .size  ecp_nistz256_gather_w7,.-ecp_nistz256_gather_w7
 ___
@@ -2787,6 +2799,7 @@ $code.=<<___;
 .type  ecp_nistz256_avx2_gather_w5,\@abi-omnipotent
 .align 32
 ecp_nistz256_avx2_gather_w5:
+.cfi_startproc
 .Lavx2_gather_w5:
        vzeroupper
 ___
@@ -2874,6 +2887,7 @@ $code.=<<___      if ($win64);
 ___
 $code.=<<___;
        ret
+.cfi_endproc
 .LSEH_end_ecp_nistz256_avx2_gather_w5:
 .size  ecp_nistz256_avx2_gather_w5,.-ecp_nistz256_avx2_gather_w5
 ___
@@ -2893,6 +2907,7 @@ $code.=<<___;
 .type  ecp_nistz256_avx2_gather_w7,\@abi-omnipotent
 .align 32
 ecp_nistz256_avx2_gather_w7:
+.cfi_startproc
 .Lavx2_gather_w7:
        vzeroupper
 ___
@@ -2995,6 +3010,7 @@ $code.=<<___      if ($win64);
 ___
 $code.=<<___;
        ret
+.cfi_endproc
 .LSEH_end_ecp_nistz256_avx2_gather_w7:
 .size  ecp_nistz256_avx2_gather_w7,.-ecp_nistz256_avx2_gather_w7
 ___
@@ -3064,6 +3080,7 @@ $code.=<<___;
 .type  __ecp_nistz256_add_toq,\@abi-omnipotent
 .align 32
 __ecp_nistz256_add_toq:
+.cfi_startproc
        xor     $t4,$t4
        add     8*0($b_ptr), $a0
        adc     8*1($b_ptr), $a1
@@ -3091,11 +3108,13 @@ __ecp_nistz256_add_toq:
        mov     $a3, 8*3($r_ptr)
 
        ret
+.cfi_endproc
 .size  __ecp_nistz256_add_toq,.-__ecp_nistz256_add_toq
 
 .type  __ecp_nistz256_sub_fromq,\@abi-omnipotent
 .align 32
 __ecp_nistz256_sub_fromq:
+.cfi_startproc
        sub     8*0($b_ptr), $a0
        sbb     8*1($b_ptr), $a1
         mov    $a0, $t0
@@ -3122,11 +3141,13 @@ __ecp_nistz256_sub_fromq:
        mov     $a3, 8*3($r_ptr)
 
        ret
+.cfi_endproc
 .size  __ecp_nistz256_sub_fromq,.-__ecp_nistz256_sub_fromq
 
 .type  __ecp_nistz256_subq,\@abi-omnipotent
 .align 32
 __ecp_nistz256_subq:
+.cfi_startproc
        sub     $a0, $t0
        sbb     $a1, $t1
         mov    $t0, $a0
@@ -3149,11 +3170,13 @@ __ecp_nistz256_subq:
        cmovnz  $t3, $a3
 
        ret
+.cfi_endproc
 .size  __ecp_nistz256_subq,.-__ecp_nistz256_subq
 
 .type  __ecp_nistz256_mul_by_2q,\@abi-omnipotent
 .align 32
 __ecp_nistz256_mul_by_2q:
+.cfi_startproc
        xor     $t4, $t4
        add     $a0, $a0                # a0:a3+a0:a3
        adc     $a1, $a1
@@ -3181,6 +3204,7 @@ __ecp_nistz256_mul_by_2q:
        mov     $a3, 8*3($r_ptr)
 
        ret
+.cfi_endproc
 .size  __ecp_nistz256_mul_by_2q,.-__ecp_nistz256_mul_by_2q
 ___
                                                                        }
@@ -3620,7 +3644,9 @@ $code.=<<___;
        movq    %xmm1, $a_ptr                   # restore $a_ptr
        movq    %xmm0, $r_ptr                   # restore $r_ptr
        add     \$`32*(18-5)`, %rsp             # difference in frame sizes
+.cfi_adjust_cfa_offset `-32*(18-5)`
        jmp     .Lpoint_double_shortcut$x
+.cfi_adjust_cfa_offset `32*(18-5)`
 
 .align 32
 .Ladd_proceed$x:
@@ -4156,6 +4182,7 @@ $code.=<<___;
 .type  __ecp_nistz256_add_tox,\@abi-omnipotent
 .align 32
 __ecp_nistz256_add_tox:
+.cfi_startproc
        xor     $t4, $t4
        adc     8*0($b_ptr), $a0
        adc     8*1($b_ptr), $a1
@@ -4184,11 +4211,13 @@ __ecp_nistz256_add_tox:
        mov     $a3, 8*3($r_ptr)
 
        ret
+.cfi_endproc
 .size  __ecp_nistz256_add_tox,.-__ecp_nistz256_add_tox
 
 .type  __ecp_nistz256_sub_fromx,\@abi-omnipotent
 .align 32
 __ecp_nistz256_sub_fromx:
+.cfi_startproc
        xor     $t4, $t4
        sbb     8*0($b_ptr), $a0
        sbb     8*1($b_ptr), $a1
@@ -4217,11 +4246,13 @@ __ecp_nistz256_sub_fromx:
        mov     $a3, 8*3($r_ptr)
 
        ret
+.cfi_endproc
 .size  __ecp_nistz256_sub_fromx,.-__ecp_nistz256_sub_fromx
 
 .type  __ecp_nistz256_subx,\@abi-omnipotent
 .align 32
 __ecp_nistz256_subx:
+.cfi_startproc
        xor     $t4, $t4
        sbb     $a0, $t0
        sbb     $a1, $t1
@@ -4246,11 +4277,13 @@ __ecp_nistz256_subx:
        cmovc   $t3, $a3
 
        ret
+.cfi_endproc
 .size  __ecp_nistz256_subx,.-__ecp_nistz256_subx
 
 .type  __ecp_nistz256_mul_by_2x,\@abi-omnipotent
 .align 32
 __ecp_nistz256_mul_by_2x:
+.cfi_startproc
        xor     $t4, $t4
        adc     $a0, $a0                # a0:a3+a0:a3
        adc     $a1, $a1
@@ -4279,6 +4312,7 @@ __ecp_nistz256_mul_by_2x:
        mov     $a3, 8*3($r_ptr)
 
        ret
+.cfi_endproc
 .size  __ecp_nistz256_mul_by_2x,.-__ecp_nistz256_mul_by_2x
 ___
                                                                        }