Expand OPENSSL_ia32cap_P to 64 bits. It might appear controversial, because
authorAndy Polyakov <appro@openssl.org>
Tue, 28 Jun 2011 13:31:58 +0000 (13:31 +0000)
committerAndy Polyakov <appro@openssl.org>
Tue, 28 Jun 2011 13:31:58 +0000 (13:31 +0000)
commit0ec55604c0aa0574fbb04bef9e9617d9ea980568
tree8c604563c2d8dc89bb2c50a76ed4d222af805179
parent500007c9ed9bdd12db519476fc5aa072fc2f474c
Expand OPENSSL_ia32cap_P to 64 bits. It might appear controversial, because
such operation can be considered as breaking binary compatibility. However!
OPNESSL_ia32cap_P is accessed by application through pointer returned by
OPENSSL_ia32cap_loc() and such change of *internal* OPENSSL_ia32cap_P
declaration is possible specifically on little-endian platforms, such as
x86[_64] ones in question. In addition, if 32-bit application calls
OPENSSL_ia32cap_loc(), it clears upper half of capability vector maintaining
the illusion that it's still 32 bits wide.
crypto/cryptlib.c
crypto/cryptlib.h
crypto/perlasm/x86gas.pl
crypto/perlasm/x86masm.pl
crypto/perlasm/x86nasm.pl
crypto/whrlpool/wp_block.c