[146450] trunk/dports/devel/openssl

cal at macports.org cal at macports.org
Mon Mar 7 14:35:10 PST 2016


Revision: 146450
          https://trac.macports.org/changeset/146450
Author:   cal at macports.org
Date:     2016-03-07 14:35:10 -0800 (Mon, 07 Mar 2016)
Log Message:
-----------
openssl: Backport upstream fix for #50771

Drops the revert and alternative fix from akamai in favor of what upstream
pulled into their 1.0.2 branch. No revbump because openssl either builds
correctly, or not at all.

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

Added Paths:
-----------
    trunk/dports/devel/openssl/files/6e42e3ff9cde43830555549fdafa2a8b37b9485b.patch

Removed Paths:
-------------
    trunk/dports/devel/openssl/files/0001-Revert-perlasm-x86_64-xlate.pl-pass-pure-constants-v.patch
    trunk/dports/devel/openssl/files/0002-RT3885-OpenSSL-fails-to-cross-compile-on-32-bit-64-b.patch

Modified: trunk/dports/devel/openssl/Portfile
===================================================================
--- trunk/dports/devel/openssl/Portfile	2016-03-07 21:17:17 UTC (rev 146449)
+++ trunk/dports/devel/openssl/Portfile	2016-03-07 22:35:10 UTC (rev 146450)
@@ -38,8 +38,7 @@
 patchfiles          install-headers-HFS+.patch \
                     parallel-building.patch \
                     remove-duplicate-bn_print-doc.patch \
-                    0001-Revert-perlasm-x86_64-xlate.pl-pass-pure-constants-v.patch \
-                    0002-RT3885-OpenSSL-fails-to-cross-compile-on-32-bit-64-b.patch
+                    6e42e3ff9cde43830555549fdafa2a8b37b9485b.patch
 
 configure.ccache    no
 configure.perl      /usr/bin/perl

Deleted: trunk/dports/devel/openssl/files/0001-Revert-perlasm-x86_64-xlate.pl-pass-pure-constants-v.patch
===================================================================
--- trunk/dports/devel/openssl/files/0001-Revert-perlasm-x86_64-xlate.pl-pass-pure-constants-v.patch	2016-03-07 21:17:17 UTC (rev 146449)
+++ trunk/dports/devel/openssl/files/0001-Revert-perlasm-x86_64-xlate.pl-pass-pure-constants-v.patch	2016-03-07 22:35:10 UTC (rev 146450)
@@ -1,37 +0,0 @@
-From 6f79f210c690c31bce632570bf703a2360af6827 Mon Sep 17 00:00:00 2001
-From: Clemens Lang <neverpanic at gmail.com>
-Date: Sun, 6 Mar 2016 21:28:56 +0100
-Subject: [PATCH 1/2] Revert "perlasm/x86_64-xlate.pl: pass pure constants
- verbatim."
-
-This reverts commit fd7dc201d3b9d43972de6a0e659f7ef6421c99cc.
-
-This commit causes build failures on OS X 10.6. For more details, see
-  https://mta.openssl.org/pipermail/openssl-dev/2016-March/005605.html
-
-Upstream-Status: Submitted [https://mta.openssl.org/pipermail/openssl-dev/2016-March/005605.html]
----
- crypto/perlasm/x86_64-xlate.pl | 7 ++-----
- 1 file changed, 2 insertions(+), 5 deletions(-)
-
-diff --git a/crypto/perlasm/x86_64-xlate.pl b/crypto/perlasm/x86_64-xlate.pl
-index 0a023fb..29f94b5 100755
---- ./crypto/perlasm/x86_64-xlate.pl
-+++ ./crypto/perlasm/x86_64-xlate.pl
-@@ -198,11 +198,8 @@ my %globals;
- 	if ($gas) {
- 	    # Solaris /usr/ccs/bin/as can't handle multiplications
- 	    # in $self->{value}
--	    my $value = $self->{value};
--	    $value =~ s/(?<![\w\$\.])(0x?[0-9a-f]+)/oct($1)/egi;
--	    if ($value =~ s/([0-9]+\s*[\*\/\%]\s*[0-9]+)/eval($1)/eg) {
--		$self->{value} = $value;
--	    }
-+	    $self->{value} =~ s/(?<![\w\$\.])(0x?[0-9a-f]+)/oct($1)/egi;
-+	    $self->{value} =~ s/([0-9]+\s*[\*\/\%]\s*[0-9]+)/eval($1)/eg;
- 	    sprintf "\$%s",$self->{value};
- 	} else {
- 	    $self->{value} =~ s/(0b[0-1]+)/oct($1)/eig;
--- 
-2.7.2
-

Deleted: trunk/dports/devel/openssl/files/0002-RT3885-OpenSSL-fails-to-cross-compile-on-32-bit-64-b.patch
===================================================================
--- trunk/dports/devel/openssl/files/0002-RT3885-OpenSSL-fails-to-cross-compile-on-32-bit-64-b.patch	2016-03-07 21:17:17 UTC (rev 146449)
+++ trunk/dports/devel/openssl/files/0002-RT3885-OpenSSL-fails-to-cross-compile-on-32-bit-64-b.patch	2016-03-07 22:35:10 UTC (rev 146450)
@@ -1,52 +0,0 @@
-From 11fc645255918aab77950ab35bd6c0476a1d40c4 Mon Sep 17 00:00:00 2001
-From: Todd Short <tshort at akamai.com>
-Date: Tue, 19 May 2015 14:46:40 -0400
-Subject: [PATCH 2/2] RT3885 OpenSSL fails to cross-compile on 32-bit->64-bit
-
-Older 32-bit versions of perl cannot handle 64-bit numbers, so when
-the x86_64-xlate.pl script encounters a 64-bit number, the oct()
-function munges it into a double-precision rather than a 64-bit
-integer. In this case, we know it's either a hex number or an octal
-number. So, if 64-bit hex, just pass through as hex string, otherwise
-allow oct() to handle it. There are some cases where immediate constants
-are multiplied together. The script assumes decimal numbers during mul,
-div, mod operations, so by handling only 64-bit numbers in this manner,
-the impact of this patch is minimized.
-
-This is a problem in ghash-x86_64.pl (ghash-x86_64.s), and the solution
-has an impact all 64-bit platforms. Ran the unit tests to make sure it's
-OK.
-
-Upstream-Status: Submitted [https://mta.openssl.org/pipermail/openssl-dev/2016-March/005605.html]
----
- crypto/perlasm/x86_64-xlate.pl | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/crypto/perlasm/x86_64-xlate.pl b/crypto/perlasm/x86_64-xlate.pl
-index 29f94b5..d9d6454 100755
---- ./crypto/perlasm/x86_64-xlate.pl
-+++ ./crypto/perlasm/x86_64-xlate.pl
-@@ -192,13 +192,19 @@ my %globals;
- 	}
- 	$ret;
-     }
-+    sub myoct {
-+        my $v = shift;
-+	return $v if ($v =~ /^0x[0-9a-f]{9,16}/i); # if 64-bit hex leave as-is
-+        use integer;
-+        return oct($v);
-+    }
-     sub out {
-     	my $self = shift;
- 
- 	if ($gas) {
- 	    # Solaris /usr/ccs/bin/as can't handle multiplications
- 	    # in $self->{value}
--	    $self->{value} =~ s/(?<![\w\$\.])(0x?[0-9a-f]+)/oct($1)/egi;
-+	    $self->{value} =~ s/(?<![\w\$\.])(0x?[0-9a-f]+)/myoct($1)/egi;
- 	    $self->{value} =~ s/([0-9]+\s*[\*\/\%]\s*[0-9]+)/eval($1)/eg;
- 	    sprintf "\$%s",$self->{value};
- 	} else {
--- 
-2.7.2
-

Added: trunk/dports/devel/openssl/files/6e42e3ff9cde43830555549fdafa2a8b37b9485b.patch
===================================================================
--- trunk/dports/devel/openssl/files/6e42e3ff9cde43830555549fdafa2a8b37b9485b.patch	                        (rev 0)
+++ trunk/dports/devel/openssl/files/6e42e3ff9cde43830555549fdafa2a8b37b9485b.patch	2016-03-07 22:35:10 UTC (rev 146450)
@@ -0,0 +1,35 @@
+Upstream-Status: Backport [https://github.com/openssl/openssl/commit/6e42e3ff9cde43830555549fdafa2a8b37b9485b.patch, https://mta.openssl.org/pipermail/openssl-dev/2016-March/005758.html]
+From 6e42e3ff9cde43830555549fdafa2a8b37b9485b Mon Sep 17 00:00:00 2001
+From: Andy Polyakov <appro at openssl.org>
+Date: Fri, 4 Mar 2016 11:32:26 +0100
+Subject: [PATCH] perlasm/x86_64-xlate.pl: handle binary constants early.
+
+Not all assemblers of "gas" flavour handle binary constants, e.g.
+seasoned MacOS Xcode doesn't, so give them a hand.
+
+Reviewed-by: Rich Salz <rsalz at openssl.org>
+Reviewed-by: Viktor Dukhovni <viktor at openssl.org>
+---
+ crypto/perlasm/x86_64-xlate.pl | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/crypto/perlasm/x86_64-xlate.pl b/crypto/perlasm/x86_64-xlate.pl
+index 0a023fb..80ab17f 100755
+--- ./crypto/perlasm/x86_64-xlate.pl
++++ ./crypto/perlasm/x86_64-xlate.pl
+@@ -195,6 +195,7 @@
+     sub out {
+     	my $self = shift;
+ 
++	$self->{value} =~ s/\b(0b[0-1]+)/oct($1)/eig;
+ 	if ($gas) {
+ 	    # Solaris /usr/ccs/bin/as can't handle multiplications
+ 	    # in $self->{value}
+@@ -205,7 +206,6 @@
+ 	    }
+ 	    sprintf "\$%s",$self->{value};
+ 	} else {
+-	    $self->{value} =~ s/(0b[0-1]+)/oct($1)/eig;
+ 	    $self->{value} =~ s/0x([0-9a-f]+)/0$1h/ig if ($masm);
+ 	    sprintf "%s",$self->{value};
+ 	}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20160307/7da68f6f/attachment.html>


More information about the macports-changes mailing list