diff options
author | Armin Kuster <akuster@mvista.com> | 2015-04-10 10:45:20 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-04-15 14:18:54 +0100 |
commit | 8230f873921d5c16106e3ebf57053a646bc6ad78 (patch) | |
tree | af9bff484996c0cca5a968a4b82045c4b5715e8b /meta/recipes-connectivity/openssl | |
parent | c46661bf4ffe1a474e4bcfadb4a3f12a46e8cc4a (diff) | |
download | openembedded-core-8230f873921d5c16106e3ebf57053a646bc6ad78.tar.gz openembedded-core-8230f873921d5c16106e3ebf57053a646bc6ad78.tar.bz2 openembedded-core-8230f873921d5c16106e3ebf57053a646bc6ad78.zip |
crypto: use bigint in x86-64 perl
on some hosts openssl fails to build with this error:
ghash-x86_64.s: Assembler messages:
ghash-x86_64.s:890: Error: junk '.15473355479995e+19' after expression
backported fix from community.
Signed-off-by: Armin Kuster <akuster@mvista.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/crypto_use_bigint_in_x86-64_perl.patch | 35 | ||||
-rw-r--r-- | meta/recipes-connectivity/openssl/openssl_1.0.2a.bb | 1 |
2 files changed, 36 insertions, 0 deletions
diff --git a/meta/recipes-connectivity/openssl/openssl/crypto_use_bigint_in_x86-64_perl.patch b/meta/recipes-connectivity/openssl/openssl/crypto_use_bigint_in_x86-64_perl.patch new file mode 100644 index 0000000000..c397af2f0e --- /dev/null +++ b/meta/recipes-connectivity/openssl/openssl/crypto_use_bigint_in_x86-64_perl.patch @@ -0,0 +1,35 @@ +Upsteram Status: Backport + +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@jacquin.bzh> +URL: https://bugs.gentoo.org/542618 + +Signed-off-By: Armin Kuster <akuster@mvista.com> + +Index: openssl-1.0.2a/crypto/perlasm/x86_64-xlate.pl +=================================================================== +--- openssl-1.0.2a.orig/crypto/perlasm/x86_64-xlate.pl ++++ openssl-1.0.2a/crypto/perlasm/x86_64-xlate.pl +@@ -194,7 +194,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} diff --git a/meta/recipes-connectivity/openssl/openssl_1.0.2a.bb b/meta/recipes-connectivity/openssl/openssl_1.0.2a.bb index 74d69389c9..9a218be605 100644 --- a/meta/recipes-connectivity/openssl/openssl_1.0.2a.bb +++ b/meta/recipes-connectivity/openssl/openssl_1.0.2a.bb @@ -36,6 +36,7 @@ SRC_URI += "file://configure-targets.patch \ file://Makefiles-ptest.patch \ file://ptest-deps.patch \ file://run-ptest \ + file://crypto_use_bigint_in_x86-64_perl.patch \ " SRC_URI[md5sum] = "a06c547dac9044161a477211049f60ef" |