diff options
| -rw-r--r-- | meta/recipes-connectivity/openssl/openssl/openssl-1.0.2a-x32-asm.patch | 46 | ||||
| -rw-r--r-- | meta/recipes-connectivity/openssl/openssl_1.0.2a.bb | 1 |
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 @@ | |||
| 1 | https://rt.openssl.org/Ticket/Display.html?id=3759&user=guest&pass=guest | ||
| 2 | |||
| 3 | From 6257d59b3a68d2feb9d64317a1c556dc3813ee61 Mon Sep 17 00:00:00 2001 | ||
| 4 | From: Mike Frysinger <vapier@gentoo.org> | ||
| 5 | Date: Sat, 21 Mar 2015 06:01:25 -0400 | ||
| 6 | Subject: [PATCH] crypto: use bigint in x86-64 perl | ||
| 7 | |||
| 8 | Upstream-Status: Pending | ||
| 9 | Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> | ||
| 10 | |||
| 11 | When building on x32 systems where the default type is 32bit, make sure | ||
| 12 | we can transparently represent 64bit integers. Otherwise we end up with | ||
| 13 | build errors like: | ||
| 14 | /usr/bin/perl asm/ghash-x86_64.pl elf > ghash-x86_64.s | ||
| 15 | Integer overflow in hexadecimal number at asm/../../perlasm/x86_64-xlate.pl line 201, <> line 890. | ||
| 16 | ... | ||
| 17 | ghash-x86_64.s: Assembler messages: | ||
| 18 | ghash-x86_64.s:890: Error: junk '.15473355479995e+19' after expression | ||
| 19 | |||
| 20 | We don't enable this globally as there are some cases where we'd get | ||
| 21 | 32bit values interpreted as unsigned when we need them as signed. | ||
| 22 | |||
| 23 | Reported-by: Bertrand Jacquin <bertrand@jacquin.bzh> | ||
| 24 | URL: https://bugs.gentoo.org/542618 | ||
| 25 | --- | ||
| 26 | crypto/perlasm/x86_64-xlate.pl | 4 ++++ | ||
| 27 | 1 file changed, 4 insertions(+) | ||
| 28 | |||
| 29 | diff --git a/crypto/perlasm/x86_64-xlate.pl b/crypto/perlasm/x86_64-xlate.pl | ||
| 30 | index 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 | -- | ||
| 45 | 2.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 | ||
| 42 | SRC_URI[md5sum] = "a06c547dac9044161a477211049f60ef" | 43 | SRC_URI[md5sum] = "a06c547dac9044161a477211049f60ef" |
