diff options
Diffstat (limited to 'recipes-connectivity/openssl/openssl-qoriq/crypto_use_bigint_in_x86-64_perl.patch')
-rw-r--r-- | recipes-connectivity/openssl/openssl-qoriq/crypto_use_bigint_in_x86-64_perl.patch | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/recipes-connectivity/openssl/openssl-qoriq/crypto_use_bigint_in_x86-64_perl.patch b/recipes-connectivity/openssl/openssl-qoriq/crypto_use_bigint_in_x86-64_perl.patch index 4f81d85d..99c94337 100644 --- a/recipes-connectivity/openssl/openssl-qoriq/crypto_use_bigint_in_x86-64_perl.patch +++ b/recipes-connectivity/openssl/openssl-qoriq/crypto_use_bigint_in_x86-64_perl.patch | |||
@@ -1,4 +1,7 @@ | |||
1 | Upstream-Status: Backport | 1 | From ac052c0b383dd6db4cb514a193ba44647504687f Mon Sep 17 00:00:00 2001 |
2 | From: Cristian Stoica <cristian.stoica@nxp.com> | ||
3 | Date: Thu, 5 May 2016 11:55:46 +0300 | ||
4 | Subject: [PATCH] use 64bit integers on x32 systems | ||
2 | 5 | ||
3 | When building on x32 systems where the default type is 32bit, make sure | 6 | When building on x32 systems where the default type is 32bit, make sure |
4 | we can transparently represent 64bit integers. Otherwise we end up with | 7 | we can transparently represent 64bit integers. Otherwise we end up with |
@@ -15,21 +18,27 @@ We don't enable this globally as there are some cases where we'd get | |||
15 | Reported-by: Bertrand Jacquin <bertrand@jacquin.bzh> | 18 | Reported-by: Bertrand Jacquin <bertrand@jacquin.bzh> |
16 | URL: https://bugs.gentoo.org/542618 | 19 | URL: https://bugs.gentoo.org/542618 |
17 | 20 | ||
18 | Signed-off-by: Armin Kuster <akuster@mvista.com> | 21 | Signed-off-By: Armin Kuster <akuster@mvista.com> |
22 | --- | ||
23 | crypto/perlasm/x86_64-xlate.pl | 5 +++++ | ||
24 | 1 file changed, 5 insertions(+) | ||
19 | 25 | ||
20 | Index: openssl-1.0.2a/crypto/perlasm/x86_64-xlate.pl | 26 | diff --git a/crypto/perlasm/x86_64-xlate.pl b/crypto/perlasm/x86_64-xlate.pl |
21 | =================================================================== | 27 | index 7a3dd04..fc6105d 100755 |
22 | --- openssl-1.0.2a.orig/crypto/perlasm/x86_64-xlate.pl | 28 | --- a/crypto/perlasm/x86_64-xlate.pl |
23 | +++ openssl-1.0.2a/crypto/perlasm/x86_64-xlate.pl | 29 | +++ b/crypto/perlasm/x86_64-xlate.pl |
24 | @@ -194,7 +194,10 @@ my %globals; | 30 | @@ -195,6 +195,11 @@ my %globals; |
25 | } | ||
26 | sub out { | 31 | sub out { |
27 | my $self = shift; | 32 | my $self = shift; |
28 | - | 33 | |
29 | + # When building on x32 ABIs, the expanded hex value might be too | 34 | + # When building on x32 ABIs, the expanded hex value might be too |
30 | + # big to fit into 32bits. Enable transparent 64bit support here | 35 | + # big to fit into 32bits. Enable transparent 64bit support here |
31 | + # so we can safely print it out. | 36 | + # so we can safely print it out. |
32 | + use bigint; | 37 | + use bigint; |
38 | + | ||
39 | $self->{value} =~ s/\b(0b[0-1]+)/oct($1)/eig; | ||
33 | if ($gas) { | 40 | if ($gas) { |
34 | # Solaris /usr/ccs/bin/as can't handle multiplications | 41 | # Solaris /usr/ccs/bin/as can't handle multiplications |
35 | # in $self->{value} | 42 | -- |
43 | 2.7.0 | ||
44 | |||