projects
/
silc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add non-executing stack when compiling AES asm for GNU/ELF.
[silc.git]
/
lib
/
silccrypt
/
aes_x86_64.asm
diff --git
a/lib/silccrypt/aes_x86_64.asm
b/lib/silccrypt/aes_x86_64.asm
index ef7f6113de429b93c09984180fe8157b9b79b542..d6ac1eb32b5d197a1c550cf25b1ffa003dee0a68 100644
(file)
--- a/
lib/silccrypt/aes_x86_64.asm
+++ b/
lib/silccrypt/aes_x86_64.asm
@@
-689,7
+689,7
@@
enc_tab:
align 16
\r
aes_encrypt:
\r
\r
align 16
\r
aes_encrypt:
\r
\r
-%if
def __GNUC__
\r
+%if
ndef WIN32
\r
sub rsp, 4*8 ; gnu/linux binary interface
\r
mov [rsp+0*8], rsi ; output pointer
\r
mov r8, rdx ; context
\r
sub rsp, 4*8 ; gnu/linux binary interface
\r
mov [rsp+0*8], rsi ; output pointer
\r
mov r8, rdx ; context
\r
@@
-753,7
+753,7
@@
aes_encrypt:
mov rbx, [rsp+1*8]
\r
mov rbp, [rsp+2*8]
\r
mov r12, [rsp+3*8]
\r
mov rbx, [rsp+1*8]
\r
mov rbp, [rsp+2*8]
\r
mov r12, [rsp+3*8]
\r
-%if
def __GNUC__
\r
+%if
ndef WIN32
\r
add rsp, 4*8
\r
%else
\r
mov rsi, [rsp+4*8]
\r
add rsp, 4*8
\r
%else
\r
mov rsi, [rsp+4*8]
\r
@@
-783,7
+783,7
@@
dec_tab:
align 16
\r
aes_decrypt:
\r
\r
align 16
\r
aes_decrypt:
\r
\r
-%if
def __GNUC__
\r
+%if
ndef WIN32
\r
sub rsp, 4*8 ; gnu/linux binary interface
\r
mov [rsp+0*8], rsi ; output pointer
\r
mov r8, rdx ; context
\r
sub rsp, 4*8 ; gnu/linux binary interface
\r
mov [rsp+0*8], rsi ; output pointer
\r
mov r8, rdx ; context
\r
@@
-852,7
+852,7
@@
aes_decrypt:
.4: mov rbx, [rsp+1*8]
\r
mov rbp, [rsp+2*8]
\r
mov r12, [rsp+3*8]
\r
.4: mov rbx, [rsp+1*8]
\r
mov rbp, [rsp+2*8]
\r
mov r12, [rsp+3*8]
\r
-%if
def __GNUC__
\r
+%if
ndef WIN32
\r
add rsp, 4*8
\r
%else
\r
mov rsi, [rsp+4*8]
\r
add rsp, 4*8
\r
%else
\r
mov rsi, [rsp+4*8]
\r
@@
-864,3
+864,7
@@
aes_decrypt:
%endif
\r
\r
end
\r
%endif
\r
\r
end
\r
+
\r
+%ifidn __OUTPUT_FORMAT__,elf
\r
+section .note.GNU-stack noalloc noexec nowrite progbits
\r
+%endif
\r