Apparently, stack can be misaligned on BSD (nasty! is it even
allowed by amd64 ABI?), and openssl fails to deal with it (funnily,
it aligns stack in non-ssse3 version [where it is only efficiency
issue], but fails to do this in ssse3 version [where it is
mandatory]).

"Fails" is wrong verb, because it doesn't have to.

It's required by the amd64 ABI, and other things will break if this requirement is violated.

Right. Correct solution is to fix tool-chain so that it complies with ABI. One should remember that it also depends on stack being correctly *seeded*. I mean compiler might generate correct code all the way, but if stack was *initially* incorrectly aligned, then you are in trouble. On Linux it's crt1.o's responsibility.

But one can still argue that subroutine in question could have arrange alignment regardless. It would improve versatility. For example similar problem was observed in Linux *kernel* with AES-NI module.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to