projects
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
chacha/asm/chacha-x86_64.pl: add CFI annotations.
[openssl.git]
/
crypto
/
chacha
/
asm
/
chacha-x86_64.pl
diff --git
a/crypto/chacha/asm/chacha-x86_64.pl
b/crypto/chacha/asm/chacha-x86_64.pl
index 7fc1749f53e3d094d13dac686d36a418bc095c60..b59d96f8da64ae3b9a62350aff7fa5f60ad0b929 100755
(executable)
--- a/
crypto/chacha/asm/chacha-x86_64.pl
+++ b/
crypto/chacha/asm/chacha-x86_64.pl
@@
-242,6
+242,7
@@
$code.=<<___;
.type ChaCha20_ctr32,\@function,5
.align 64
ChaCha20_ctr32:
.type ChaCha20_ctr32,\@function,5
.align 64
ChaCha20_ctr32:
+.cfi_startproc
cmp \$0,$len
je .Lno_data
mov OPENSSL_ia32cap_P+4(%rip),%r10
cmp \$0,$len
je .Lno_data
mov OPENSSL_ia32cap_P+4(%rip),%r10
@@
-255,12
+256,19
@@
$code.=<<___;
jnz .LChaCha20_ssse3
push %rbx
jnz .LChaCha20_ssse3
push %rbx
+.cfi_push %rbx
push %rbp
push %rbp
+.cfi_push %rbp
push %r12
push %r12
+.cfi_push %r12
push %r13
push %r13
+.cfi_push %r13
push %r14
push %r14
+.cfi_push %r14
push %r15
push %r15
+.cfi_push %r15
sub \$64+24,%rsp
sub \$64+24,%rsp
+.cfi_adjust_cfa_offset 64+24
.Lctr32_body:
#movdqa .Lsigma(%rip),%xmm0
.Lctr32_body:
#movdqa .Lsigma(%rip),%xmm0
@@
-401,15
+409,24
@@
$code.=<<___;
.Ldone:
lea 64+24+48(%rsp),%rsi
.Ldone:
lea 64+24+48(%rsp),%rsi
+.cfi_def_cfa %rsi,8
mov -48(%rsi),%r15
mov -48(%rsi),%r15
+.cfi_restore %r15
mov -40(%rsi),%r14
mov -40(%rsi),%r14
+.cfi_restore %r14
mov -32(%rsi),%r13
mov -32(%rsi),%r13
+.cfi_restore %r13
mov -24(%rsi),%r12
mov -24(%rsi),%r12
+.cfi_restore %r12
mov -16(%rsi),%rbp
mov -16(%rsi),%rbp
+.cfi_restore %rbp
mov -8(%rsi),%rbx
mov -8(%rsi),%rbx
+.cfi_restore %rbx
lea (%rsi),%rsp
lea (%rsi),%rsp
+.cfi_def_cfa_register %rsp
.Lno_data:
ret
.Lno_data:
ret
+.cfi_endproc
.size ChaCha20_ctr32,.-ChaCha20_ctr32
___
.size ChaCha20_ctr32,.-ChaCha20_ctr32
___
@@
-448,8
+465,10
@@
$code.=<<___;
.type ChaCha20_ssse3,\@function,5
.align 32
ChaCha20_ssse3:
.type ChaCha20_ssse3,\@function,5
.align 32
ChaCha20_ssse3:
+.cfi_startproc
.LChaCha20_ssse3:
mov %rsp,%r9 # frame pointer
.LChaCha20_ssse3:
mov %rsp,%r9 # frame pointer
+.cfi_def_cfa_register %r9
___
$code.=<<___ if ($avx);
test \$`1<<(43-32)`,%r10d
___
$code.=<<___ if ($avx);
test \$`1<<(43-32)`,%r10d
@@
-565,8
+584,10
@@
$code.=<<___ if ($win64);
___
$code.=<<___;
lea (%r9),%rsp
___
$code.=<<___;
lea (%r9),%rsp
+.cfi_def_cfa_register %rsp
.Lssse3_epilogue:
ret
.Lssse3_epilogue:
ret
+.cfi_endproc
.size ChaCha20_ssse3,.-ChaCha20_ssse3
___
}
.size ChaCha20_ssse3,.-ChaCha20_ssse3
___
}
@@
-708,8
+729,10
@@
$code.=<<___;
.type ChaCha20_4x,\@function,5
.align 32
ChaCha20_4x:
.type ChaCha20_4x,\@function,5
.align 32
ChaCha20_4x:
+.cfi_startproc
.LChaCha20_4x:
mov %rsp,%r9 # frame pointer
.LChaCha20_4x:
mov %rsp,%r9 # frame pointer
+.cfi_def_cfa_register %r9
mov %r10,%r11
___
$code.=<<___ if ($avx>1);
mov %r10,%r11
___
$code.=<<___ if ($avx>1);
@@
-1149,8
+1172,10
@@
$code.=<<___ if ($win64);
___
$code.=<<___;
lea (%r9),%rsp
___
$code.=<<___;
lea (%r9),%rsp
+.cfi_def_cfa_register %rsp
.L4x_epilogue:
ret
.L4x_epilogue:
ret
+.cfi_endproc
.size ChaCha20_4x,.-ChaCha20_4x
___
}
.size ChaCha20_4x,.-ChaCha20_4x
___
}
@@
-1237,8
+1262,10
@@
$code.=<<___;
.type ChaCha20_4xop,\@function,5
.align 32
ChaCha20_4xop:
.type ChaCha20_4xop,\@function,5
.align 32
ChaCha20_4xop:
+.cfi_startproc
.LChaCha20_4xop:
mov %rsp,%r9 # frame pointer
.LChaCha20_4xop:
mov %rsp,%r9 # frame pointer
+.cfi_def_cfa_register %r9
sub \$0x140+$xframe,%rsp
___
################ stack layout
sub \$0x140+$xframe,%rsp
___
################ stack layout
@@
-1601,8
+1628,10
@@
$code.=<<___ if ($win64);
___
$code.=<<___;
lea (%r9),%rsp
___
$code.=<<___;
lea (%r9),%rsp
+.cfi_def_cfa_register %rsp
.L4xop_epilogue:
ret
.L4xop_epilogue:
ret
+.cfi_endproc
.size ChaCha20_4xop,.-ChaCha20_4xop
___
}
.size ChaCha20_4xop,.-ChaCha20_4xop
___
}
@@
-1735,8
+1764,10
@@
$code.=<<___;
.type ChaCha20_8x,\@function,5
.align 32
ChaCha20_8x:
.type ChaCha20_8x,\@function,5
.align 32
ChaCha20_8x:
+.cfi_startproc
.LChaCha20_8x:
mov %rsp,%r9 # frame register
.LChaCha20_8x:
mov %rsp,%r9 # frame register
+.cfi_def_cfa_register %r9
sub \$0x280+$xframe,%rsp
and \$-32,%rsp
___
sub \$0x280+$xframe,%rsp
and \$-32,%rsp
___
@@
-2242,8
+2273,10
@@
$code.=<<___ if ($win64);
___
$code.=<<___;
lea (%r9),%rsp
___
$code.=<<___;
lea (%r9),%rsp
+.cfi_def_cfa_register %rsp
.L8x_epilogue:
ret
.L8x_epilogue:
ret
+.cfi_endproc
.size ChaCha20_8x,.-ChaCha20_8x
___
}
.size ChaCha20_8x,.-ChaCha20_8x
___
}
@@
-2280,8
+2313,10
@@
$code.=<<___;
.type ChaCha20_avx512,\@function,5
.align 32
ChaCha20_avx512:
.type ChaCha20_avx512,\@function,5
.align 32
ChaCha20_avx512:
+.cfi_startproc
.LChaCha20_avx512:
mov %rsp,%r9 # frame pointer
.LChaCha20_avx512:
mov %rsp,%r9 # frame pointer
+.cfi_def_cfa_register %r9
cmp \$512,$len
ja .LChaCha20_16x
cmp \$512,$len
ja .LChaCha20_16x
@@
-2461,8
+2496,10
@@
$code.=<<___ if ($win64);
___
$code.=<<___;
lea (%r9),%rsp
___
$code.=<<___;
lea (%r9),%rsp
+.cfi_def_cfa_register %rsp
.Lavx512_epilogue:
ret
.Lavx512_epilogue:
ret
+.cfi_endproc
.size ChaCha20_avx512,.-ChaCha20_avx512
___
}
.size ChaCha20_avx512,.-ChaCha20_avx512
___
}
@@
-2544,8
+2581,10
@@
$code.=<<___;
.type ChaCha20_16x,\@function,5
.align 32
ChaCha20_16x:
.type ChaCha20_16x,\@function,5
.align 32
ChaCha20_16x:
+.cfi_startproc
.LChaCha20_16x:
mov %rsp,%r9 # frame register
.LChaCha20_16x:
mov %rsp,%r9 # frame register
+.cfi_def_cfa_register %r9
sub \$64+$xframe,%rsp
and \$-64,%rsp
___
sub \$64+$xframe,%rsp
and \$-64,%rsp
___
@@
-2963,8
+3002,10
@@
$code.=<<___ if ($win64);
___
$code.=<<___;
lea (%r9),%rsp
___
$code.=<<___;
lea (%r9),%rsp
+.cfi_def_cfa_register %rsp
.L16x_epilogue:
ret
.L16x_epilogue:
ret
+.cfi_endproc
.size ChaCha20_16x,.-ChaCha20_16x
___
}
.size ChaCha20_16x,.-ChaCha20_16x
___
}