summaryrefslogtreecommitdiffstats
path: root/meta/recipes-connectivity/openssl
diff options
context:
space:
mode:
authorCristian Iorga <cristian.iorga@intel.com>2015-06-16 00:32:15 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-06-23 11:46:58 +0100
commit83836c5dba9cad78b6cc06f7c2e33de13cb237ac (patch)
treec24adf893a84499a8270cdb5a137a824c3aa7d9f /meta/recipes-connectivity/openssl
parent798daa70bffa30b4fb96022dd5e410d8f973274d (diff)
downloadpoky-83836c5dba9cad78b6cc06f7c2e33de13cb237ac.tar.gz
openssl: fix building on x32 systems
Fix build on Fedora 21 i686. When building on x32 systems where the default type is 32bit, make sure that 64bit integers can be represented transparently. (From OE-Core rev: cd3eddcf2842b9a360f72caf4337ab2968462bb2) Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-connectivity/openssl')
-rw-r--r--meta/recipes-connectivity/openssl/openssl/openssl-1.0.2a-x32-asm.patch46
-rw-r--r--meta/recipes-connectivity/openssl/openssl_1.0.2a.bb1
2 files changed, 47 insertions, 0 deletions
diff --git a/meta/recipes-connectivity/openssl/openssl/openssl-1.0.2a-x32-asm.patch b/meta/recipes-connectivity/openssl/openssl/openssl-1.0.2a-x32-asm.patch
new file mode 100644
index 0000000000..1e5bfa17d6
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/openssl-1.0.2a-x32-asm.patch
@@ -0,0 +1,46 @@
1https://rt.openssl.org/Ticket/Display.html?id=3759&user=guest&pass=guest
2
3From 6257d59b3a68d2feb9d64317a1c556dc3813ee61 Mon Sep 17 00:00:00 2001
4From: Mike Frysinger <vapier@gentoo.org>
5Date: Sat, 21 Mar 2015 06:01:25 -0400
6Subject: [PATCH] crypto: use bigint in x86-64 perl
7
8Upstream-Status: Pending
9Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
10
11When building on x32 systems where the default type is 32bit, make sure
12we can transparently represent 64bit integers. Otherwise we end up with
13build errors like:
14/usr/bin/perl asm/ghash-x86_64.pl elf > ghash-x86_64.s
15Integer overflow in hexadecimal number at asm/../../perlasm/x86_64-xlate.pl line 201, <> line 890.
16...
17ghash-x86_64.s: Assembler messages:
18ghash-x86_64.s:890: Error: junk '.15473355479995e+19' after expression
19
20We don't enable this globally as there are some cases where we'd get
2132bit values interpreted as unsigned when we need them as signed.
22
23Reported-by: Bertrand Jacquin <bertrand@jacquin.bzh>
24URL: https://bugs.gentoo.org/542618
25---
26 crypto/perlasm/x86_64-xlate.pl | 4 ++++
27 1 file changed, 4 insertions(+)
28
29diff --git a/crypto/perlasm/x86_64-xlate.pl b/crypto/perlasm/x86_64-xlate.pl
30index aae8288..0bf9774 100755
31--- a/crypto/perlasm/x86_64-xlate.pl
32+++ b/crypto/perlasm/x86_64-xlate.pl
33@@ -195,6 +195,10 @@ my %globals;
34 sub out {
35 my $self = shift;
36
37+ # When building on x32 ABIs, the expanded hex value might be too
38+ # big to fit into 32bits. Enable transparent 64bit support here
39+ # so we can safely print it out.
40+ use bigint;
41 if ($gas) {
42 # Solaris /usr/ccs/bin/as can't handle multiplications
43 # in $self->{value}
44--
452.3.3
46
diff --git a/meta/recipes-connectivity/openssl/openssl_1.0.2a.bb b/meta/recipes-connectivity/openssl/openssl_1.0.2a.bb
index f4006f623a..d7f0259683 100644
--- a/meta/recipes-connectivity/openssl/openssl_1.0.2a.bb
+++ b/meta/recipes-connectivity/openssl/openssl_1.0.2a.bb
@@ -37,6 +37,7 @@ SRC_URI += "file://configure-targets.patch \
37 file://run-ptest \ 37 file://run-ptest \
38 file://crypto_use_bigint_in_x86-64_perl.patch \ 38 file://crypto_use_bigint_in_x86-64_perl.patch \
39 file://0001-bn-bn_lcl.h-fix-MIPS-specific-gcc-version-check.patch \ 39 file://0001-bn-bn_lcl.h-fix-MIPS-specific-gcc-version-check.patch \
40 file://openssl-1.0.2a-x32-asm.patch \
40 " 41 "
41 42
42SRC_URI[md5sum] = "a06c547dac9044161a477211049f60ef" 43SRC_URI[md5sum] = "a06c547dac9044161a477211049f60ef"