aboutsummaryrefslogtreecommitdiff
path: root/openssl
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2013-07-24 14:25:51 +0200
committermarha <marha@users.sourceforge.net>2013-07-25 08:25:18 +0200
commitde54c5b749b3eefb75d420840c889533a58aa342 (patch)
tree6502771c9dd5a0d455388734060469b18f2e4011 /openssl
parent0606cba5be2dab08f0b4de540d7b278fa6273daf (diff)
downloadvcxsrv-de54c5b749b3eefb75d420840c889533a58aa342.tar.gz
vcxsrv-de54c5b749b3eefb75d420840c889533a58aa342.tar.bz2
vcxsrv-de54c5b749b3eefb75d420840c889533a58aa342.zip
64-bit compilation now compiles and runs
Diffstat (limited to 'openssl')
-rw-r--r--openssl/.gitignore4
-rw-r--r--openssl/crypto/cryptlib.c2
-rw-r--r--openssl/ms/.gitignore4
-rwxr-xr-x[-rw-r--r--]openssl/ms/do_win64a.bat16
-rw-r--r--openssl/util/mk1mf.pl18
-rwxr-xr-xopenssl/util/pl/VC-32.pl14
6 files changed, 43 insertions, 15 deletions
diff --git a/openssl/.gitignore b/openssl/.gitignore
index 2e7f46437..b9ac127b1 100644
--- a/openssl/.gitignore
+++ b/openssl/.gitignore
@@ -5,3 +5,7 @@ out32_d
tmp32
tmp32_d
NUL
+out64
+out64_d
+tmp64
+tmp64_d
diff --git a/openssl/crypto/cryptlib.c b/openssl/crypto/cryptlib.c
index 304c6b706..da3949fa1 100644
--- a/openssl/crypto/cryptlib.c
+++ b/openssl/crypto/cryptlib.c
@@ -710,7 +710,7 @@ void OPENSSL_cpuid_setup(void)
* was initialized already... This is to avoid interference
* with cpuid snippets in ELF .init segment.
*/
- OPENSSL_ia32cap_P[0] = (unsigned int)vec|(1<<10);
+ OPENSSL_ia32cap_P[0] = (unsigned int)((vec|(1<<10))&0xffffffff);
OPENSSL_ia32cap_P[1] = (unsigned int)(vec>>32);
}
#endif
diff --git a/openssl/ms/.gitignore b/openssl/ms/.gitignore
index 68bee1575..565a468cd 100644
--- a/openssl/ms/.gitignore
+++ b/openssl/ms/.gitignore
@@ -3,4 +3,6 @@ libeay32.def
nt.mak
ntdll.mak
ssleay32.def
-version32.rc \ No newline at end of file
+version32.rc
+uptable.asm
+uptable.obj
diff --git a/openssl/ms/do_win64a.bat b/openssl/ms/do_win64a.bat
index ff8b19ccf..be87fffee 100644..100755
--- a/openssl/ms/do_win64a.bat
+++ b/openssl/ms/do_win64a.bat
@@ -3,17 +3,17 @@ perl util\mkfiles.pl >MINFO
cmd /c "nasm -f win64 -v" >NUL: 2>&1
if %errorlevel% neq 0 goto ml64
-perl ms\uplink-x86_64.pl nasm > ms\uptable.asm
-nasm -f win64 -o ms\uptable.obj ms\uptable.asm
+perl ms/uplink-x86_64.pl nasm > ms/uptable.asm
+nasm -f win64 -o ms/uptable.obj ms/uptable.asm
goto proceed
:ml64
-perl ms\uplink-x86_64.pl masm > ms\uptable.asm
-ml64 -c -Foms\uptable.obj ms\uptable.asm
+perl ms/uplink-x86_64.pl masm > ms/uptable.asm
+ml64 -c -Foms/uptable.obj ms/uptable.asm
:proceed
-perl util\mk1mf.pl VC-WIN64A >ms\nt.mak
-perl util\mk1mf.pl dll VC-WIN64A >ms\ntdll.mak
+perl util/mk1mf.pl VC-WIN64A >ms/nt.mak
+perl util/mk1mf.pl dll VC-WIN64A >ms/ntdll.mak
-perl util\mkdef.pl 32 libeay > ms\libeay32.def
-perl util\mkdef.pl 32 ssleay > ms\ssleay32.def
+perl util/mkdef.pl 32 libeay > ms/libeay32.def
+perl util/mkdef.pl 32 ssleay > ms/ssleay32.def
diff --git a/openssl/util/mk1mf.pl b/openssl/util/mk1mf.pl
index 21e85539e..e7534c75e 100644
--- a/openssl/util/mk1mf.pl
+++ b/openssl/util/mk1mf.pl
@@ -486,6 +486,22 @@ $defs.= <<"EOF";
INSTALLTOP=$INSTALLTOP
OPENSSLDIR=$OPENSSLDIR
+!ifdef IS64
+
+!ifdef DEBUG
+# The output directory for everything intersting
+OUT_D=out64_d
+# The output directory for all the temporary muck
+TMP_D=tmp64_d
+!else
+# The output directory for everything intersting
+OUT_D=out64
+# The output directory for all the temporary muck
+TMP_D=tmp64
+!endif
+
+!else
+
!ifdef DEBUG
# The output directory for everything intersting
OUT_D=out32_d
@@ -498,6 +514,8 @@ OUT_D=out32
TMP_D=tmp32
!endif
+!endif
+
# Set your compiler options
PLATFORM=$platform
CC=$bin_dir${cc}
diff --git a/openssl/util/pl/VC-32.pl b/openssl/util/pl/VC-32.pl
index e6e185e89..ed5fea90d 100755
--- a/openssl/util/pl/VC-32.pl
+++ b/openssl/util/pl/VC-32.pl
@@ -16,7 +16,7 @@ else
$crypto="libeay32";
}
-$o='\\';
+$o='/';
$cp='$(PERL) util/copy.pl';
$mkdir='$(PERL) util/mkdir-p.pl';
$rm='del /Q';
@@ -43,10 +43,10 @@ if ($FLAVOR =~ /WIN64/)
# considered safe to ignore.
#
$base_cflags= " $mf_cflag";
- my $f = $shlib || $fips ?' /MD':' /MT';
+ my $f = ' /MD';
$lib_cflag='/Zl' if (!$shlib); # remove /DEFAULTLIBs from static lib
- $opt_cflags=$f.' /Ox';
- $dbg_cflags=$f.'d /Od -DDEBUG -D_DEBUG';
+ $opt_cflags=$f.' /O2 /Ob2 /Oi /Ox /Oy /Ot /GL /Gy /GF /Zi';
+ $dbg_cflags=$f.'d /RTCc /RTC1 /Od /GS /GR /Gy /GF /Zi';
$lflags="/NOLOGO /SUBSYSTEM:CONSOLE /OPT:REF /OPT:ICF /LTCG:STATUS";
$lflagsd="/NOLOGO /SUBSYSTEM:CONSOLE";
@@ -244,7 +244,11 @@ if (!$no_asm)
win32_import_asm($mf_wp_asm, "whrlpool", \$whirlpool_asm_obj, \$whirlpool_asm_src);
win32_import_asm($mf_cpuid_asm, "", \$cpuid_asm_obj, \$cpuid_asm_src);
$perl_asm = 1;
- $cdflags.=" -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DAES_ASM -DBN_ASM -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_BN_ASM_MONT -DMD5_ASM -DSHA1_ASM -DRMD160_ASM";
+ if ($FLAVOR =~ /WIN64A/) {
+ $cdflags.=" -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DAES_ASM -DBN_ASM -DOPENSSL_BN_ASM_MONT -DMD5_ASM -DSHA1_ASM -DRMD160_ASM";
+ } else {
+ $cdflags.=" -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DAES_ASM -DBN_ASM -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_BN_ASM_MONT -DMD5_ASM -DSHA1_ASM -DRMD160_ASM";
+ }
}
if ($shlib && $FLAVOR !~ /CE/)