whrlpool/asm/wp-x86_64.pl: add CFI annotations.
[openssl.git] / crypto / whrlpool / asm / wp-x86_64.pl
index d0b7ecc9e7010382f33dfd745397b184e6fd1f15..4a1261d8cda26c2531841f584f0b7bcca223d3ec 100644 (file)
@@ -66,13 +66,21 @@ $code=<<___;
 .type  $func,\@function,3
 .align 16
 $func:
+.cfi_startproc
        mov     %rsp,%rax
+.cfi_def_cfa_register  %rax
        push    %rbx
+.cfi_push      %rbx
        push    %rbp
+.cfi_push      %rbp
        push    %r12
+.cfi_push      %r12
        push    %r13
+.cfi_push      %r13
        push    %r14
+.cfi_push      %r14
        push    %r15
+.cfi_push      %r15
 
        sub     \$128+40,%rsp
        and     \$-64,%rsp
@@ -82,6 +90,7 @@ $func:
        mov     %rsi,8(%r10)
        mov     %rdx,16(%r10)
        mov     %rax,32(%r10)           # saved stack pointer
+.cfi_cfa_expression    %rsp+`128+32`,deref,+8
 .Lprologue:
 
        mov     %r10,%rbx
@@ -205,15 +214,24 @@ $code.=<<___;
        jmp     .Louterloop
 .Lalldone:
        mov     32(%rbx),%rsi           # restore saved pointer
+.cfi_def_cfa   %rsi,8
        mov     -48(%rsi),%r15
+.cfi_restore   %r15
        mov     -40(%rsi),%r14
+.cfi_restore   %r14
        mov     -32(%rsi),%r13
+.cfi_restore   %r13
        mov     -24(%rsi),%r12
+.cfi_restore   %r12
        mov     -16(%rsi),%rbp
+.cfi_restore   %rbp
        mov     -8(%rsi),%rbx
+.cfi_restore   %rbx
        lea     (%rsi),%rsp
+.cfi_def_cfa_register  %rsp
 .Lepilogue:
        ret
+.cfi_endproc
 .size  $func,.-$func
 
 .align 64