mirror of
https://git.yoctoproject.org/poky
synced 2026-04-07 23:02:22 +02:00
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>
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
From 0aa68f7681a74f6ff80a80c5843bc35e5effffb9 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Fri, 22 May 2015 12:43:39 -0700
|
||||
Subject: [PATCH] Define GCC_VERSION macro to cover upto gcc-5
|
||||
|
||||
Current check is limited to gcc 4 with minor versions
|
||||
but when we use gcc 5.1, then minor version check fails
|
||||
with current setup and we end up with build errors like
|
||||
|
||||
| In file included from bn_div.c:62:0:
|
||||
| bn_div.c: In function 'BN_div':
|
||||
| bn_lcl.h:311:9: error: impossible constraint in 'asm'
|
||||
| asm ("dmultu %2,%3" \
|
||||
| ^
|
||||
| bn_div.c:402:13: note: in expansion of macro 'BN_UMULT_LOHI'
|
||||
| BN_UMULT_LOHI(t2l, t2h, d1, q);
|
||||
| ^
|
||||
| <builtin>: recipe for target 'bn_div.o' failed
|
||||
| make[2]: *** [bn_div.o] Error 1
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
|
||||
---
|
||||
Upstream-Status: [Submitted]
|
||||
crypto/bn/bn_lcl.h | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/crypto/bn/bn_lcl.h b/crypto/bn/bn_lcl.h
|
||||
index 196df7e..e801ba7 100644
|
||||
--- a/crypto/bn/bn_lcl.h
|
||||
+++ b/crypto/bn/bn_lcl.h
|
||||
@@ -118,6 +118,9 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
+#define GCC_VERSION (__GNUC__ * 10000 \
|
||||
+ + __GNUC_MINOR__ * 100 \
|
||||
+ + __GNUC_PATCHLEVEL__)
|
||||
/*-
|
||||
* Bignum consistency macros
|
||||
* There is one "API" macro, bn_fix_top(), for stripping leading zeroes from
|
||||
@@ -443,7 +446,7 @@ unsigned __int64 _umul128(unsigned __int64 a, unsigned __int64 b,
|
||||
# endif
|
||||
# elif defined(__mips) && (defined(SIXTY_FOUR_BIT) || defined(SIXTY_FOUR_BIT_LONG))
|
||||
# if defined(__GNUC__) && __GNUC__>=2
|
||||
-# if __GNUC__>=4 && __GNUC_MINOR__>=4
|
||||
+# if GCC_VERSION > 40400
|
||||
/* "h" constraint is no more since 4.4 */
|
||||
# define BN_UMULT_HIGH(a,b) (((__uint128_t)(a)*(b))>>64)
|
||||
# define BN_UMULT_LOHI(low,high,a,b) ({ \
|
||||
--
|
||||
2.1.4
|
||||
|
||||
@@ -36,6 +36,7 @@ SRC_URI += "file://configure-targets.patch \
|
||||
file://ptest-deps.patch \
|
||||
file://run-ptest \
|
||||
file://crypto_use_bigint_in_x86-64_perl.patch \
|
||||
file://0001-Define-GCC_VERSION-macro-to-cover-upto-gcc-5.patch \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] = "a06c547dac9044161a477211049f60ef"
|
||||
|
||||
Reference in New Issue
Block a user