Upsteram Status: Backport When building on x32 systems where the default type is 32bit, make sure we can transparently represent 64bit integers. Otherwise we end up with build errors like: /usr/bin/perl asm/ghash-x86_64.pl elf > ghash-x86_64.s Integer overflow in hexadecimal number at asm/../../perlasm/x86_64-xlate.pl line 201, <> line 890. ... ghash-x86_64.s: Assembler messages: ghash-x86_64.s:890: Error: junk '.15473355479995e+19' after expression We don't enable this globally as there are some cases where we'd get 32bit values interpreted as unsigned when we need them as signed. Reported-by: Bertrand Jacquin URL: https://bugs.gentoo.org/542618 Signed-off-By: Armin Kuster Index: openssl-1.0.2a/crypto/perlasm/x86_64-xlate.pl =================================================================== --- openssl-1.0.2a.orig/crypto/perlasm/x86_64-xlate.pl +++ openssl-1.0.2a/crypto/perlasm/x86_64-xlate.pl @@ -194,7 +194,10 @@ my %globals; } sub out { my $self = shift; - + # When building on x32 ABIs, the expanded hex value might be too + # big to fit into 32bits. Enable transparent 64bit support here + # so we can safely print it out. + use bigint; if ($gas) { # Solaris /usr/ccs/bin/as can't handle multiplications # in $self->{value}