Hi,
> nasm -f win64 -DNEAR -Ox -g -o tmp32\aesni-sha256-x86_64.obj
> tmp32\aesni-sha256-x86_64.asm
> tmp32\aesni-sha256-x86_64.asm:113: error: symbol
> `__imp_RtlVirtualUnwind' undefined
> NMAKE : fatal error U1077: '"C:\Program Files (x86)\NASM\nasm.EXE"' :
> return code '0x1'
>
> Any ideas?
Can you confirm that attached patch addresses the problem? On side note
the error is indication that your nasm is out-of-date and you are
missing out some optimizations. But before you update it, please, test
the patch.
diff --git a/crypto/aes/asm/aesni-sha256-x86_64.pl b/crypto/aes/asm/aesni-sha256-x86_64.pl
index c1fce89..f82cff3 100644
--- a/crypto/aes/asm/aesni-sha256-x86_64.pl
+++ b/crypto/aes/asm/aesni-sha256-x86_64.pl
@@ -63,6 +63,7 @@ if (!$avx && `$ENV{CC} -v 2>&1` =~ /(^clang version|based on LLVM) ([3-9]\.[0-9]
$avx = ($2>=3.0) + ($2>3.0);
}
+$avx=0;
$shaext=$avx; ### set to zero if compiling for 1.0.1
$avx=1 if (!$shaext && $avx);
@@ -1499,13 +1500,13 @@ ___
# EXCEPTION_DISPOSITION handler (EXCEPTION_RECORD *rec,ULONG64 frame,
# CONTEXT *context,DISPATCHER_CONTEXT *disp)
-if ($win64) {
+if ($win64 && $avx) {
$rec="%rcx";
$frame="%rdx";
$context="%r8";
$disp="%r9";
-$code.=<<___ if ($avx);
+$code.=<<___;
.extern __imp_RtlVirtualUnwind
.type se_handler,\@abi-omnipotent
.align 16
@@ -1643,7 +1644,7 @@ $code.=<<___ if ($shaext);
.rva .LSEH_end_${func}_shaext
.rva .LSEH_info_${func}_shaext
___
-$code.=<<___ if ($avx);
+$code.=<<___;
.section .xdata
.align 8
.LSEH_info_${func}_xop:
_______________________________________________
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev