vapier 15/03/21 11:02:41 Added: openssl-1.0.2a-x32-asm.patch Log: Fix building on x32 ABIs #542618 by Bertrand Jacquin. (Portage version: 2.2.18/cvs/Linux x86_64, signed Manifest commit with key D2E96200)
Revision Changes Path 1.1 dev-libs/openssl/files/openssl-1.0.2a-x32-asm.patch file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/openssl/files/openssl-1.0.2a-x32-asm.patch?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/openssl/files/openssl-1.0.2a-x32-asm.patch?rev=1.1&content-type=text/plain Index: openssl-1.0.2a-x32-asm.patch =================================================================== >From 6257d59b3a68d2feb9d64317a1c556dc3813ee61 Mon Sep 17 00:00:00 2001 From: Mike Frysinger <[email protected]> Date: Sat, 21 Mar 2015 06:01:25 -0400 Subject: [PATCH] crypto: use bigint in x86-64 perl 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 <[email protected]> URL: https://bugs.gentoo.org/542618 --- crypto/perlasm/x86_64-xlate.pl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/crypto/perlasm/x86_64-xlate.pl b/crypto/perlasm/x86_64-xlate.pl index aae8288..0bf9774 100755 --- a/crypto/perlasm/x86_64-xlate.pl +++ b/crypto/perlasm/x86_64-xlate.pl @@ -195,6 +195,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} -- 2.3.3
