summaryrefslogtreecommitdiffstats
path: root/meta/recipes-connectivity/openssl
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2015-05-22 12:56:51 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-05-24 07:19:21 +0100
commitfa00c9a93046b928416911521844d36f7806fc8d (patch)
tree501cfb5c0dbe869f2aa2e87e4c9cbbd979ca82e9 /meta/recipes-connectivity/openssl
parentd6e0c3fcdbab87740feaba7988f21f1fd9a473b4 (diff)
downloadpoky-fa00c9a93046b928416911521844d36f7806fc8d.tar.gz
openssl: Fix build with gcc5 on mips64
Patch is submitted upstream as well (From OE-Core rev: 40016c7c19abdbdae4fcd86fab9672631f26712b) Signed-off-by: Khem Raj <raj.khem@gmail.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/0001-Define-GCC_VERSION-macro-to-cover-upto-gcc-5.patch53
-rw-r--r--meta/recipes-connectivity/openssl/openssl_1.0.2a.bb1
2 files changed, 54 insertions, 0 deletions
diff --git a/meta/recipes-connectivity/openssl/openssl/0001-Define-GCC_VERSION-macro-to-cover-upto-gcc-5.patch b/meta/recipes-connectivity/openssl/openssl/0001-Define-GCC_VERSION-macro-to-cover-upto-gcc-5.patch
new file mode 100644
index 0000000000..46d1adf33b
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/0001-Define-GCC_VERSION-macro-to-cover-upto-gcc-5.patch
@@ -0,0 +1,53 @@
1From 0aa68f7681a74f6ff80a80c5843bc35e5effffb9 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 22 May 2015 12:43:39 -0700
4Subject: [PATCH] Define GCC_VERSION macro to cover upto gcc-5
5
6Current check is limited to gcc 4 with minor versions
7but when we use gcc 5.1, then minor version check fails
8with current setup and we end up with build errors like
9
10| In file included from bn_div.c:62:0:
11| bn_div.c: In function 'BN_div':
12| bn_lcl.h:311:9: error: impossible constraint in 'asm'
13| asm ("dmultu %2,%3" \
14| ^
15| bn_div.c:402:13: note: in expansion of macro 'BN_UMULT_LOHI'
16| BN_UMULT_LOHI(t2l, t2h, d1, q);
17| ^
18| <builtin>: recipe for target 'bn_div.o' failed
19| make[2]: *** [bn_div.o] Error 1
20
21Signed-off-by: Khem Raj <raj.khem@gmail.com>
22
23---
24Upstream-Status: [Submitted]
25 crypto/bn/bn_lcl.h | 5 ++++-
26 1 file changed, 4 insertions(+), 1 deletion(-)
27
28diff --git a/crypto/bn/bn_lcl.h b/crypto/bn/bn_lcl.h
29index 196df7e..e801ba7 100644
30--- a/crypto/bn/bn_lcl.h
31+++ b/crypto/bn/bn_lcl.h
32@@ -118,6 +118,9 @@
33 extern "C" {
34 #endif
35
36+#define GCC_VERSION (__GNUC__ * 10000 \
37+ + __GNUC_MINOR__ * 100 \
38+ + __GNUC_PATCHLEVEL__)
39 /*-
40 * Bignum consistency macros
41 * There is one "API" macro, bn_fix_top(), for stripping leading zeroes from
42@@ -443,7 +446,7 @@ unsigned __int64 _umul128(unsigned __int64 a, unsigned __int64 b,
43 # endif
44 # elif defined(__mips) && (defined(SIXTY_FOUR_BIT) || defined(SIXTY_FOUR_BIT_LONG))
45 # if defined(__GNUC__) && __GNUC__>=2
46-# if __GNUC__>=4 && __GNUC_MINOR__>=4
47+# if GCC_VERSION > 40400
48 /* "h" constraint is no more since 4.4 */
49 # define BN_UMULT_HIGH(a,b) (((__uint128_t)(a)*(b))>>64)
50 # define BN_UMULT_LOHI(low,high,a,b) ({ \
51--
522.1.4
53
diff --git a/meta/recipes-connectivity/openssl/openssl_1.0.2a.bb b/meta/recipes-connectivity/openssl/openssl_1.0.2a.bb
index 0a04aeaaaa..5e767c3c2d 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 \
36 file://ptest-deps.patch \ 36 file://ptest-deps.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-Define-GCC_VERSION-macro-to-cover-upto-gcc-5.patch \
39 " 40 "
40 41
41SRC_URI[md5sum] = "a06c547dac9044161a477211049f60ef" 42SRC_URI[md5sum] = "a06c547dac9044161a477211049f60ef"