[135176] trunk/dports/devel/openssl

jeremyhu at macports.org jeremyhu at macports.org
Sat Apr 18 02:28:47 PDT 2015


Revision: 135176
          https://trac.macports.org/changeset/135176
Author:   jeremyhu at macports.org
Date:     2015-04-18 02:28:47 -0700 (Sat, 18 Apr 2015)
Log Message:
-----------
openssl: Address an i386 build failure (#47328)

Modified Paths:
--------------
    trunk/dports/devel/openssl/Portfile

Added Paths:
-----------
    trunk/dports/devel/openssl/files/patch-crypto-perlasm-x86_64-xlate.pl.diff

Modified: trunk/dports/devel/openssl/Portfile
===================================================================
--- trunk/dports/devel/openssl/Portfile	2015-04-18 09:26:23 UTC (rev 135175)
+++ trunk/dports/devel/openssl/Portfile	2015-04-18 09:28:47 UTC (rev 135176)
@@ -37,7 +37,8 @@
 
 patchfiles          patch-bn_internal.pod.diff \
                     patch-crypto-Makefile.diff \
-                    patch-Makefile.org-parallel.diff
+                    patch-Makefile.org-parallel.diff \
+                    patch-crypto-perlasm-x86_64-xlate.pl.diff
 
 # We've tried patching some, but we're not there yet, see #46719
 use_parallel_build  no

Added: trunk/dports/devel/openssl/files/patch-crypto-perlasm-x86_64-xlate.pl.diff
===================================================================
--- trunk/dports/devel/openssl/files/patch-crypto-perlasm-x86_64-xlate.pl.diff	                        (rev 0)
+++ trunk/dports/devel/openssl/files/patch-crypto-perlasm-x86_64-xlate.pl.diff	2015-04-18 09:28:47 UTC (rev 135176)
@@ -0,0 +1,42 @@
+https://rt.openssl.org/Ticket/Display.html?id=3759&user=guest&pass=guest
+
+From 6257d59b3a68d2feb9d64317a1c556dc3813ee61 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier at gentoo.org>
+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 <bertrand at jacquin.bzh>
+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
+--- crypto/perlasm/x86_64-xlate.pl
++++ 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20150418/84c9b159/attachment.html>


More information about the macports-changes mailing list