sha[1|512]-x86_64.pl: fix logical errors with $shaext=0.
authorAndy Polyakov <appro@openssl.org>
Mon, 7 Jul 2014 15:01:07 +0000 (17:01 +0200)
committerAndy Polyakov <appro@openssl.org>
Mon, 7 Jul 2014 15:01:07 +0000 (17:01 +0200)
crypto/sha/asm/sha1-x86_64.pl
crypto/sha/asm/sha512-x86_64.pl

index 7e0cddd..9bb6b49 100755 (executable)
@@ -1835,7 +1835,9 @@ se_handler:
 
        jmp     .Lcommon_seh_tail
 .size  se_handler,.-se_handler
+___
 
+$code.=<<___ if ($shaext);
 .type  shaext_handler,\@abi-omnipotent
 .align 16
 shaext_handler:
@@ -1868,7 +1870,9 @@ shaext_handler:
 
        jmp     .Lcommon_seh_tail
 .size  shaext_handler,.-shaext_handler
+___
 
+$code.=<<___;
 .type  ssse3_handler,\@abi-omnipotent
 .align 16
 ssse3_handler:
@@ -1991,9 +1995,13 @@ $code.=<<___;
 .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
index eef5f3f..476e99f 100755 (executable)
@@ -2339,10 +2339,12 @@ $code.=<<___;
        .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