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

Reply via email to