Question #1. Are we talking about 32-bit version or is it the problem with *both* x86 and x64 code?
> Even specifying a different base address doesn't fix the problem. I > have a different default address that the DLL consistently gets > relocated to but changing the preferred base address of libeay32 to that > address still doesn't work. The DLL will just get relocated to a > different address. > > Using the /FIXED parameter also doesn't work. Define "also doesn't work". If I link *both* fips_test_suite.exe *and* libeay.dll with /FIXED (or /DYNAMICBASE:NO), then both fips_test_suite.exe and openssl.exe with OPENSSL_FIPS environment variable set work. With fips_test_suite.exe working, because it itself is linked with /FIXED, and openssl.exe working because libeay32.dll is linked with /FIXED. > However, if you link a > Visual Studio 2008 generated FIPS canister to a Visual Studio 2010 > OpenSSL DLL then everything works. Strange... It's up to linker to set dynamicbase flag in COFF header. Newer compiler must be marking .obj files in some special way, which serves as a message to linker. > Unfortunately, that means your > OpenSSL DLL is linked to both the VC9 CRT and the VC10 CRT which is > exactly what I want to avoid. Originally fipscanister.lib was designed not to have strong dependency on msvcrt, meaning that idea was that it should be possible to use fipscanister compiled with one compiler with another. But it was verified to work with rather old compilers. > Strangely, the out32dll/fips_test_suite.exe no longer returns a failure > after I compiled everything with the /FIXED linker option (everything > was compiled with VS 2010). I assumed the test suite was linking to the > generated OpenSSL DLLs but after running it through process explorer and > dependency walker it looks like it's statically linked. Using the DLLs > in my app still fails to initialize FIPS and the DLL is still getting > relocated. I'm going to try static linking next. Is libeay32.dll linked with /FIXED? Verify with 'dumpbin /headers libeay32.dll', look for "DLL characteristics". A. ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org