Building and testing 1.1.1t with /MT run-time library

Michael Adria michaeladria at me.com
Wed Oct 16 20:10:13 UTC 2019


Hi everyone,


On Windows, we require both /MD and /MT builds of OpenSSL, with Control Flow Guard enabled. To do so, we tried using these steps in cmd.exe recently when compiling 1.1.1d for /MT (64-bit shown; we also build 32-bit):


$ perl Configure VC-WIN64A no-asm --prefix=<path>
$ ms\do_ms
$ perl -p -i.back -e "s/\/MD/\/MT/g;" makefile
$ perl -p -i.back -e "s/^CFLAGS=/CFLAGS=\/GUARD:cf /g;" makefile
$ perl -p -i.back -e "s/^LDFLAGS=/LDFLAGS=\/GUARD:cf /g;" makefile
$ nmake
$ nmake test
$ nmake install_sw


Unfortunately, there are failing tests (There are "Failed x/y subtests" and "Dubious, test returned..." messages for almost all tests). When we follow similar steps for 1.0.2t (by modifying ms\ntdll.mak), the tests pass for both the default /MD and the /MT modification.


Is there a correct way to build OpenSSL 1.1.1d with the /MT run-time library such that the tests run successfully? Also, is there a better way to use CFG?




Thanks,
Michael
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mta.openssl.org/pipermail/openssl-users/attachments/20191016/f40f3e23/attachment.html>


More information about the openssl-users mailing list