--- x86_64/sha256-compress.asm | 1 + x86_64/sha512-compress.asm | 1 + 2 files changed, 2 insertions(+)
diff --git a/x86_64/sha256-compress.asm b/x86_64/sha256-compress.asm index 6bfb7a7..385654c 100644 --- a/x86_64/sha256-compress.asm +++ b/x86_64/sha256-compress.asm @@ -192,5 +192,6 @@ PROLOGUE(_nettle_sha256_compress) mov 112(%rsp),%r15
add $120, %rsp + W64_EXIT(3, 0) ret EPILOGUE(_nettle_sha256_compress) diff --git a/x86_64/sha512-compress.asm b/x86_64/sha512-compress.asm index 21df82a..663e68e 100644 --- a/x86_64/sha512-compress.asm +++ b/x86_64/sha512-compress.asm @@ -192,5 +192,6 @@ PROLOGUE(_nettle_sha512_compress) mov 176(%rsp),%r15
add $184, %rsp + W64_EXIT(3, 0) ret EPILOGUE(_nettle_sha512_compress)
This fixes the umac test on win64. --- x86_64/machine.m4 | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/x86_64/machine.m4 b/x86_64/machine.m4 index d5d5b37..b9556a2 100644 --- a/x86_64/machine.m4 +++ b/x86_64/machine.m4 @@ -67,7 +67,7 @@ define(<XREG>,<ifelse( dnl W64_ENTRY(nargs, xmm_used) define(<W64_ENTRY>, < changequote([,])dnl - ifelse(<<<<<<<<<<<<<<< ignored; only for balancing) + ifelse(<<<<<<<<<<<<<<<< ignored; only for balancing) ifelse(W64_ABI,yes,[ ifelse(eval($2 > 6), 1, [ sub [$]eval(8 + 16*($2 - 6)), %rsp @@ -115,7 +115,11 @@ define(<W64_ENTRY>, < mov %r9, %rcx ]) ifelse(eval($1 >= 5), 1, [ - mov 56(%rsp), %r8 + ifelse(eval($2 > 6), 1, [ + mov eval(8 + 16*($2 - 6) + 56)(%rsp), %r8 + ], [ + mov 56(%rsp), %r8 + ]) ]) ]) changequote(<,>)dnl
nettle-bugs@lists.lysator.liu.se