From 0d25acbc4d1e107985f0f0f6ee0d74c25121b816 Mon Sep 17 00:00:00 2001 From: Samuel Neves Date: Mon, 12 Nov 2018 08:30:49 +0000 Subject: chacha20: simplify stack unwinding on ChaCha20_ctr32 objtool did not quite understand the stack arithmetic employed here. Signed-off-by: Samuel Neves --- src/crypto/zinc/chacha20/chacha20-x86_64.pl | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/crypto/zinc/chacha20/chacha20-x86_64.pl b/src/crypto/zinc/chacha20/chacha20-x86_64.pl index 49e698c..99bc461 100644 --- a/src/crypto/zinc/chacha20/chacha20-x86_64.pl +++ b/src/crypto/zinc/chacha20/chacha20-x86_64.pl @@ -448,22 +448,20 @@ $code.=<<___; jnz .Loop_tail .Ldone: - lea 64+24+48(%rsp),%rsi -.cfi_def_cfa %rsi,8 - mov -48(%rsi),%r15 + add \$64+24,%rsp +.cfi_adjust_cfa_offset -64-24 + pop %r15 .cfi_restore %r15 - mov -40(%rsi),%r14 + pop %r14 .cfi_restore %r14 - mov -32(%rsi),%r13 + pop %r13 .cfi_restore %r13 - mov -24(%rsi),%r12 + pop %r12 .cfi_restore %r12 - mov -16(%rsi),%rbp + pop %rbp .cfi_restore %rbp - mov -8(%rsi),%rbx + pop %rbx .cfi_restore %rbx - lea (%rsi),%rsp -.cfi_def_cfa_register %rsp .Lno_data: ret .cfi_endproc -- cgit v1.2.3-59-g8ed1b