098 aes-x86_64.pl module was erroneously enabled in Win64 build without
being adapted for Win64 ABI. Fix this.
This commit is contained in:
@@ -751,7 +751,19 @@ $code.=<<___;
|
|||||||
AES_set_encrypt_key:
|
AES_set_encrypt_key:
|
||||||
push %rbx
|
push %rbx
|
||||||
push %rbp
|
push %rbp
|
||||||
|
sub \$8,%rsp
|
||||||
|
|
||||||
|
call _x86_64_AES_set_encrypt_key
|
||||||
|
|
||||||
|
mov 8(%rsp),%rbp
|
||||||
|
mov 16(%rsp),%rbx
|
||||||
|
add \$24,%rsp
|
||||||
|
ret
|
||||||
|
.size AES_set_encrypt_key,.-AES_set_encrypt_key
|
||||||
|
|
||||||
|
.type _x86_64_AES_set_encrypt_key,\@abi-omnipotent
|
||||||
|
.align 16
|
||||||
|
_x86_64_AES_set_encrypt_key:
|
||||||
mov %esi,%ecx # %ecx=bits
|
mov %esi,%ecx # %ecx=bits
|
||||||
mov %rdi,%rsi # %rsi=userKey
|
mov %rdi,%rsi # %rsi=userKey
|
||||||
mov %rdx,%rdi # %rdi=key
|
mov %rdx,%rdi # %rdi=key
|
||||||
@@ -938,10 +950,8 @@ $code.=<<___;
|
|||||||
.Lbadpointer:
|
.Lbadpointer:
|
||||||
mov \$-1,%rax
|
mov \$-1,%rax
|
||||||
.Lexit:
|
.Lexit:
|
||||||
pop %rbp
|
.byte 0xf3,0xc3 # rep ret
|
||||||
pop %rbx
|
.size _x86_64_AES_set_encrypt_key,.-_x86_64_AES_set_encrypt_key
|
||||||
ret
|
|
||||||
.size AES_set_encrypt_key,.-AES_set_encrypt_key
|
|
||||||
___
|
___
|
||||||
|
|
||||||
sub deckey()
|
sub deckey()
|
||||||
@@ -973,15 +983,14 @@ $code.=<<___;
|
|||||||
.type AES_set_decrypt_key,\@function,3
|
.type AES_set_decrypt_key,\@function,3
|
||||||
.align 16
|
.align 16
|
||||||
AES_set_decrypt_key:
|
AES_set_decrypt_key:
|
||||||
push %rdx
|
push %rbx
|
||||||
call AES_set_encrypt_key
|
push %rbp
|
||||||
cmp \$0,%eax
|
push %rdx # save key schedule
|
||||||
je .Lproceed
|
|
||||||
lea 24(%rsp),%rsp
|
call _x86_64_AES_set_encrypt_key
|
||||||
ret
|
|
||||||
.Lproceed:
|
|
||||||
mov (%rsp),%r8 # restore key schedule
|
mov (%rsp),%r8 # restore key schedule
|
||||||
mov %rbx,(%rsp)
|
cmp \$0,%eax
|
||||||
|
jne .Labort
|
||||||
|
|
||||||
mov 240(%r8),%ecx # pull number of rounds
|
mov 240(%r8),%ecx # pull number of rounds
|
||||||
xor %rdi,%rdi
|
xor %rdi,%rdi
|
||||||
@@ -1023,7 +1032,10 @@ $code.=<<___;
|
|||||||
jnz .Lpermute
|
jnz .Lpermute
|
||||||
|
|
||||||
xor %rax,%rax
|
xor %rax,%rax
|
||||||
pop %rbx
|
.Labort:
|
||||||
|
mov 8(%rsp),%rbp
|
||||||
|
mov 16(%rsp),%rbx
|
||||||
|
add \$24,%rsp
|
||||||
ret
|
ret
|
||||||
.size AES_set_decrypt_key,.-AES_set_decrypt_key
|
.size AES_set_decrypt_key,.-AES_set_decrypt_key
|
||||||
___
|
___
|
||||||
|
|||||||
Reference in New Issue
Block a user