Hi Andy, Thanks so much. I did see the note about NASM but I could have sworn I saw something else someplace that contradicted that, but yes I see that on the wiki too. The "too complex" patch I put it would/should still make the generated asm a little more readable/printable for that one instance anyway ;-). Even with NASM doing the SafeSEH stuff, I think I do have to put the /safeseh part in myself for VS to complete the build properly, don't I? I remember when I did not put it in for ml.exe that it complained about the other stuff not being safeseh, so I think that is needed for VS.
As for the incorrect results ... that is the "fun" part! I compared my new "I used vpaddq for the heck of it" 32 bit build to a 64 bit build out there in net-land from a year ago, and I get the same hash, see below. That is why I was wondering, scratching my head :-) Thanks again, Steve... e:\usr_local_src\openssl-1.0.2-stable-SNAP-20140226\out32dll>echo HELLO_WORLD_HASH_ME|.\openssl sha256 (stdin)= 62aea5920c4c3fc02c68b207b3b1ae5756a40732bdfcad7fe108291a8ee4deee e:\usr_local_src\openssl-1.0.2-stable-SNAP-20140226\out32dll>.\openssl version -a OpenSSL 1.0.2-beta2-dev xx XXX xxxx built on: Thu Feb 27 17:26:57 2014 platform: VC-WIN32 options: bn(64,32) rc4(8x,mmx) des(idx,cisc,2,long) idea(int) blowfish(idx) compiler: cl /MD /Ox /O2 /Ob2 -DOPENSSL_THREADS -DDSO_WIN32 -W3 -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m - DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DOPENSSL_USE_APPLINK - I. -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_KRB5 -DOPENSSL_NO_JPAKE -DOPENSSL_NO_STATIC_ENGINE OPENSSLDIR: "C:/ApacheSoftware/Apache22/conf" C:\ApacheSoftware\Apache22 - Copy\bin>echo HELLO_WORLD_HASH_ME|.\openssl sha256 (stdin)= 62aea5920c4c3fc02c68b207b3b1ae5756a40732bdfcad7fe108291a8ee4deee C:\ApacheSoftware\Apache22 - Copy\bin>.\openssl version -a OpenSSL 1.0.1e 11 Feb 2013 built on: Tue Feb 19 20:26:29 2013 platform: VC-WIN64A options: bn(64,64) rc4(16x,int) des(idx,cisc,2,long) idea(int) blowfish(idx) compiler: cl /MD /Ox -DOPENSSL_THREADS -DDSO_WIN32 -W3 -Gs0 -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN - DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2 m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DOPENSSL_USE_APPLINK -I. -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_KRB5 -DOPENSSL_NO_JPAKE -DOPENSSL_NO_STATIC_ENGINE OPENSSLDIR: "c:/openssl-1.0.1e-X64/ssl" On Thu, Feb 27, 2014 at 2:52 PM, Andy Polyakov <[email protected]> wrote: >> I have been building the newer 1.0.1's and the beta/snapshots of >> 1.0.2. For the 32 bit builds, I like to put in the "/safeseh" flag. > > > Quoting INSTALL.W32: > > - Netwide Assembler, a.k.a. NASM, available from > http://nasm.sourceforge.net/ > is required if you intend to utilize assembler modules. Note that NASM > is now the only supported assembler. > > With nasm on your %PATH% you should get safe SEH tables without any extra > flags. nasm also compiles sha256-586.asm. [Replacing vpaddd with vpaddq > shall produce incorrect result]. > ______________________________________________________________________ > OpenSSL Project http://www.openssl.org > Development Mailing List [email protected] > Automated List Manager [email protected] -- Steve Kneizys Senior Business Process Engineer Voice: (610) 256-1396 [For Emergency Service (888)864-3282] Ferrilli Information Group -- Quality Service and Solutions for Higher Education web: http://www.ferrilli.com/ Making you a success while exceeding your expectations. ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [email protected] Automated List Manager [email protected]
