Win64 fixes.
authorDr. Stephen Henson <steve@openssl.org>
Sun, 25 Sep 2011 16:43:26 +0000 (16:43 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Sun, 25 Sep 2011 16:43:26 +0000 (16:43 +0000)
crypto/bn/asm/x86_64-mont.pl
util/pl/VC-32.pl

index 6b33c7e9ea895a6c4b98698d451e521b6a042fba..c43b69592a5cea8ad021069be57db9c81090a5fd 100755 (executable)
@@ -54,6 +54,7 @@ bn_mul_mont:
        push    %r14
        push    %r15
 
+       mov     ${num}d,${num}d
        lea     2($num),%rax
        mov     %rsp,%rbp
        neg     %rax
index af3569cff3824cf88a2abe3e1f18011b88a10260..798a618949f026bbece7874cbb68b004306c0c7c 100644 (file)
@@ -149,7 +149,7 @@ if ($FLAVOR =~ /CE/)
 else
        {
        $ex_libs.=' gdi32.lib advapi32.lib user32.lib';
-       $ex_libs.=' bufferoverflowu.lib' if ($FLAVOR =~ /WIN64/);
+       $ex_libs.=' bufferoverflowu.lib' if ($FLAVOR =~ /WIN64/ and `cl 2>&1` =~ /14\.00\.4[0-9]{4}\./);
        }
 
 # As native NT API is pure UNICODE, our WIN-NT build defaults to UNICODE,
@@ -331,7 +331,7 @@ sub do_lib_rule
 
                if ($name eq "")
                        {
-                       $ex.=' bufferoverflowu.lib' if ($FLAVOR =~ /WIN64/);
+                       $ex_libs.=' bufferoverflowu.lib' if ($FLAVOR =~ /WIN64/ and `cl 2>&1` =~ /14\.00\.4[0-9]{4}\./);
                        }
                elsif ($FLAVOR =~ /CE/)
                        {
@@ -341,7 +341,7 @@ sub do_lib_rule
                        {
                        $ex.=' unicows.lib' if ($FLAVOR =~ /NT/);
                        $ex.=' wsock32.lib gdi32.lib advapi32.lib user32.lib';
-                       $ex.=' bufferoverflowu.lib' if ($FLAVOR =~ /WIN64/);
+                       $ex_libs.=' bufferoverflowu.lib' if ($FLAVOR =~ /WIN64/ and `cl 2>&1` =~ /14\.00\.4[0-9]{4}\./);
                        }
                $ex.=" $zlib_lib" if $zlib_opt == 1 && $target =~ /O_CRYPTO/;