Hi,
... 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?
No.
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.
That is correct. You must add /safeseh to ml. But you don't need it with nasm. Basically it works like this. If all .obj modules you try to link at any given occasion are safeseh-aware, then linker will generate safeseh table even without /safeseh argument. If at least one .obj is not safeseh-aware (like one generated by ml without /safeseh flag), then linker will fail if you pass /safeseh argument and silently omit the table otherwise.
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 :-)
Is you processor AVX-capable? The code in question is AVX and it takes AVX-capable processor to observe the incorrect result. Otherwise *another* code path is executed and produces correct result.
______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [email protected] Automated List Manager [email protected]
