bn/asm/x86_64*: add DWARF CFI directives.
[openssl.git] / crypto / bn / asm / x86_64-gf2m.pl
index d237c1e..0181f52 100644 (file)
@@ -54,7 +54,9 @@ $code.=<<___;
 .type  _mul_1x1,\@abi-omnipotent
 .align 16
 _mul_1x1:
+.cfi_startproc
        sub     \$128+8,%rsp
+.cfi_adjust_cfa_offset 128+8
        mov     \$-1,$a1
        lea     ($a,$a),$i0
        shr     \$3,$a1
@@ -160,8 +162,10 @@ $code.=<<___;
        xor     $i1,$hi
 
        add     \$128+8,%rsp
+.cfi_adjust_cfa_offset -128-8
        ret
 .Lend_mul_1x1:
+.cfi_endproc
 .size  _mul_1x1,.-_mul_1x1
 ___
 
@@ -174,6 +178,7 @@ $code.=<<___;
 .type  bn_GF2m_mul_2x2,\@abi-omnipotent
 .align 16
 bn_GF2m_mul_2x2:
+.cfi_startproc
        mov     %rsp,%rax
        mov     OPENSSL_ia32cap_P(%rip),%r10
        bt      \$33,%r10
@@ -211,6 +216,7 @@ $code.=<<___;
 .align 16
 .Lvanilla_mul_2x2:
        lea     -8*17(%rsp),%rsp
+.cfi_adjust_cfa_offset 8*17
 ___
 $code.=<<___ if ($win64);
        mov     `8*17+40`(%rsp),$b0
@@ -219,10 +225,15 @@ $code.=<<___ if ($win64);
 ___
 $code.=<<___;
        mov     %r14,8*10(%rsp)
+.cfi_rel_offset        %r14,8*10
        mov     %r13,8*11(%rsp)
+.cfi_rel_offset        %r13,8*11
        mov     %r12,8*12(%rsp)
+.cfi_rel_offset        %r12,8*12
        mov     %rbp,8*13(%rsp)
+.cfi_rel_offset        %rbp,8*13
        mov     %rbx,8*14(%rsp)
+.cfi_rel_offset        %rbx,8*14
 .Lbody_mul_2x2:
        mov     $rp,32(%rsp)            # save the arguments
        mov     $a1,40(%rsp)
@@ -270,10 +281,15 @@ $code.=<<___;
        mov     $lo,8(%rbp)
 
        mov     8*10(%rsp),%r14
+.cfi_restore   %r14
        mov     8*11(%rsp),%r13
+.cfi_restore   %r13
        mov     8*12(%rsp),%r12
+.cfi_restore   %r12
        mov     8*13(%rsp),%rbp
+.cfi_restore   %rbp
        mov     8*14(%rsp),%rbx
+.cfi_restore   %rbx
 ___
 $code.=<<___ if ($win64);
        mov     8*15(%rsp),%rdi
@@ -281,9 +297,11 @@ $code.=<<___ if ($win64);
 ___
 $code.=<<___;
        lea     8*17(%rsp),%rsp
+.cfi_adjust_cfa_offset -8*17
 .Lepilogue_mul_2x2:
        ret
 .Lend_mul_2x2:
+.cfi_endproc
 .size  bn_GF2m_mul_2x2,.-bn_GF2m_mul_2x2
 .asciz "GF(2^m) Multiplication for x86_64, CRYPTOGAMS by <appro\@openssl.org>"
 .align 16