perlasm/x86_64-xlate.pl: refine sign extension in ea package.
authorAndy Polyakov <appro@openssl.org>
Fri, 9 Dec 2016 14:26:19 +0000 (15:26 +0100)
committerAndy Polyakov <appro@openssl.org>
Mon, 12 Dec 2016 10:02:43 +0000 (11:02 +0100)
commit2ece9c1fc6c5d998dc2abe03f2caf278ec05d9d0
tree309e2ae4424a21d85a89fe59835608138cfb2389
parenta08ae8fee9539ed1432f4169cea46f6e27990dd5
perlasm/x86_64-xlate.pl: refine sign extension in ea package.

$1<<32>>32 worked fine with either 32- or 64-bit perl for a good while,
relying on quirk that [pure] 32-bit perl performed it as $1<<0>>0. But
this apparently changed in some version past minimally required 5.10,
and operation result became 0. Yet, it went unnoticed for another while,
because most perl package providers configure their packages with
-Duse64bitint option.

Reviewed-by: Rich Salz <rsalz@openssl.org>
(cherry picked from commit 82e089308bd9a7794a45f0fa3973d7659420fbd8)
crypto/perlasm/x86_64-xlate.pl