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]

Reply via email to