crypto/sha/asm/sha[1,512]-x86_64.pl: Windows build This change stops the Intel, SHA instruction code from breaking the Windows build.
diff --git a/crypto/sha/asm/sha1-x86_64.pl b/crypto/sha/asm/sha1-x86_64.pl index 272dcfa..fe66cfe 100644 --- a/crypto/sha/asm/sha1-x86_64.pl +++ b/crypto/sha/asm/sha1-x86_64.pl
@@ -1831,7 +1831,9 @@ jmp .Lcommon_seh_tail .size se_handler,.-se_handler +___ +$code.=<<___ if ($shaext); .type shaext_handler,\@abi-omnipotent .align 16 shaext_handler: @@ -1864,7 +1866,9 @@ jmp .Lcommon_seh_tail .size shaext_handler,.-shaext_handler +___ +$code.=<<___; .type ssse3_handler,\@abi-omnipotent .align 16 ssse3_handler: @@ -1987,9 +1991,13 @@ .LSEH_info_sha1_block_data_order: .byte 9,0,0,0 .rva se_handler +___ +$code.=<<___ if ($shaext); .LSEH_info_sha1_block_data_order_shaext: .byte 9,0,0,0 .rva shaext_handler +___ +$code.=<<___; .LSEH_info_sha1_block_data_order_ssse3: .byte 9,0,0,0 .rva ssse3_handler
diff --git a/crypto/sha/asm/sha512-x86_64.pl b/crypto/sha/asm/sha512-x86_64.pl index bc5620d..4497af5 100644 --- a/crypto/sha/asm/sha512-x86_64.pl +++ b/crypto/sha/asm/sha512-x86_64.pl
@@ -123,7 +123,7 @@ $avx = ($1>=10) + ($1>=11); } -$shaext=1; ### set to zero if compiling for 1.0.1 +$shaext=0; ### set to zero if compiling for 1.0.1 $avx=1 if (!$shaext && $avx); open OUT,"| \"$^X\" $xlate $flavour"; @@ -2258,7 +2258,8 @@ pop %rsi ret .size se_handler,.-se_handler - +___ +$code.=<<___ if ($shaext); .type shaext_handler,\@abi-omnipotent .align 16 shaext_handler: @@ -2291,7 +2292,8 @@ jmp .Lin_prologue .size shaext_handler,.-shaext_handler - +___ +$code.=<<___; .section .pdata .align 4 .rva .LSEH_begin_$func @@ -2331,10 +2333,12 @@ .rva se_handler .rva .Lprologue,.Lepilogue # HandlerData[] ___ -$code.=<<___ if ($SZ==4); +$code.=<<___ if ($SZ==4 && $shaext); .LSEH_info_${func}_shaext: .byte 9,0,0,0 .rva shaext_handler +___ +$code.=<<___ if ($SZ==4); .LSEH_info_${func}_ssse3: .byte 9,0,0,0 .rva se_handler