summaryrefslogtreecommitdiffstats
path: root/crypto/sha/asm
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2017-06-26 17:39:43 +0200
committerAndy Polyakov <appro@openssl.org>2017-06-29 21:15:56 +0200
commitd6f0c94a6551f22650dc1cabe25e1141061831de (patch)
treedf9fbccfc164c251b5e6e5f471e9af4c383b9f56 /crypto/sha/asm
parenta1613840ddae01334999f7a92265eac0d4f50da4 (diff)
sha/asm/keccak1600-x86_64.pl: add CFI directives.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Diffstat (limited to 'crypto/sha/asm')
-rwxr-xr-xcrypto/sha/asm/keccak1600-x86_64.pl40
1 files changed, 40 insertions, 0 deletions
diff --git a/crypto/sha/asm/keccak1600-x86_64.pl b/crypto/sha/asm/keccak1600-x86_64.pl
index 8eb2367bd0..eb12c99b70 100755
--- a/crypto/sha/asm/keccak1600-x86_64.pl
+++ b/crypto/sha/asm/keccak1600-x86_64.pl
@@ -352,15 +352,23 @@ $code.=<<___;
.type KeccakF1600,\@function
.align 32
KeccakF1600:
+.cfi_startproc
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
lea 100(%rdi),%rdi # size optimization
sub \$200,%rsp
+.cfi_adjust_cfa_offset 200
notq $A[0][1](%rdi)
notq $A[0][2](%rdi)
@@ -383,14 +391,22 @@ KeccakF1600:
lea -100(%rdi),%rdi # preserve A[][]
add \$200,%rsp
+.cfi_adjust_cfa_offset -200
pop %r15
+.cfi_pop %r15
pop %r14
+.cfi_pop %r14
pop %r13
+.cfi_pop %r13
pop %r12
+.cfi_pop %r12
pop %rbp
+.cfi_pop %rbp
pop %rbx
+.cfi_pop %rbx
ret
+.cfi_endproc
.size KeccakF1600,.-KeccakF1600
___
@@ -401,15 +417,23 @@ $code.=<<___;
.type SHA3_absorb,\@function
.align 32
SHA3_absorb:
+.cfi_startproc
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
lea 100(%rdi),%rdi # size optimization
sub \$232,%rsp
+.cfi_adjust_cfa_offset 232
mov %rsi,$inp
lea 100(%rsp),%rsi # size optimization
@@ -461,14 +485,22 @@ SHA3_absorb:
notq $A[4][0](%rdi)
add \$232,%rsp
+.cfi_adjust_cfa_offset -232
pop %r15
+.cfi_pop %r15
pop %r14
+.cfi_pop %r14
pop %r13
+.cfi_pop %r13
pop %r12
+.cfi_pop %r12
pop %rbp
+.cfi_pop %rbp
pop %rbx
+.cfi_pop %rbx
ret
+.cfi_endproc
.size SHA3_absorb,.-SHA3_absorb
___
}
@@ -480,9 +512,13 @@ $code.=<<___;
.type SHA3_squeeze,\@function
.align 32
SHA3_squeeze:
+.cfi_startproc
push %r12
+.cfi_push %r12
push %r13
+.cfi_push %r13
push %r14
+.cfi_push %r14
shr \$3,%rcx
mov $A_flat,%r8
@@ -519,9 +555,13 @@ SHA3_squeeze:
.Ldone_squeeze:
pop %r14
+.cfi_pop %r14
pop %r13
+.cfi_pop %r13
pop %r12
+.cfi_pop %r13
ret
+.cfi_endproc
.size SHA3_squeeze,.-SHA3_squeeze
___
}