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

Reply via email to