From cd44182c345adf3fe197e49575463ca34b10223d Mon Sep 17 00:00:00 2001 From: Michael Stahl Date: Mon, 8 Jan 2018 17:48:40 +0100 Subject: openssl: fix MSVC 64-bit build For whatever reason OpenSSL wants to use "masm" (ml.exe) on 32-bit builds but "nasm" on 64-bit builds - this despite INSTALL.W32 claiming that only nasm is "supported". But /safeseh doesn't make sense on 64-bit anyway because there is no "unsafe" SEH there, so just apply the patch only for 32-bit. Change-Id: Ie32b17dfeeaf11c49ee29c3181021ffa5bd99091 --- external/openssl/UnpackedTarball_openssl.mk | 1 + external/openssl/opensslwnt.patch | 15 ++------------- external/openssl/opensslwnt_safeseh.patch | 23 +++++++++++++++++++++++ 3 files changed, 26 insertions(+), 13 deletions(-) create mode 100644 external/openssl/opensslwnt_safeseh.patch (limited to 'external') diff --git a/external/openssl/UnpackedTarball_openssl.mk b/external/openssl/UnpackedTarball_openssl.mk index 5845e31a436a..719b8b0e5842 100644 --- a/external/openssl/UnpackedTarball_openssl.mk +++ b/external/openssl/UnpackedTarball_openssl.mk @@ -14,6 +14,7 @@ $(eval $(call gb_UnpackedTarball_set_tarball,openssl,$(OPENSSL_TARBALL),,openssl $(eval $(call gb_UnpackedTarball_add_patches,openssl,\ external/openssl/openssllnx.patch \ external/openssl/opensslwnt.patch \ + $(if $(filter INTEL,$(CPUNAME)),external/openssl/opensslwnt_safeseh.patch) \ external/openssl/openssl-1.0.1h-win64.patch.1 \ external/openssl/opensslsol.patch \ external/openssl/opensslios.patch \ diff --git a/external/openssl/opensslwnt.patch b/external/openssl/opensslwnt.patch index c5c96dd25700..e22bea6f077b 100644 --- a/external/openssl/opensslwnt.patch +++ b/external/openssl/opensslwnt.patch @@ -79,26 +79,15 @@ diff -ru openssl.orig/util/mk1mf.pl openssl/util/mk1mf.pl APP_CFLAG=$app_cflag LIB_CFLAG=$lib_cflag SHLIB_CFLAG=$shl_cflag -@@ -488,8 +493,8 @@ - SRC_D=$src_dir +@@ -488,7 +493,7 @@ LINK_CMD=$link --LFLAGS=$lflags -+LFLAGS=$lflags /SAFESEH + LFLAGS=$lflags -RSC=$rsc +RSC=$rsc \$(SOLARINC) # The output directory for everything interesting OUT_D=$out_dir -@@ -511,7 +516,7 @@ - MKDIR=$mkdir - MKLIB=$bin_dir$mklib - MLFLAGS=$mlflags --ASM=$bin_dir$asm -+ASM=$bin_dir$asm /safeseh - - # FIPS validated module and support file locations - @@ -669,7 +674,7 @@ printf OUT <