From 40016c7c19abdbdae4fcd86fab9672631f26712b Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 22 May 2015 12:56:51 -0700 Subject: openssl: Fix build with gcc5 on mips64 Patch is submitted upstream as well Signed-off-by: Khem Raj Signed-off-by: Richard Purdie --- ...ine-GCC_VERSION-macro-to-cover-upto-gcc-5.patch | 53 ++++++++++++++++++++++ .../recipes-connectivity/openssl/openssl_1.0.2a.bb | 1 + 2 files changed, 54 insertions(+) create mode 100644 meta/recipes-connectivity/openssl/openssl/0001-Define-GCC_VERSION-macro-to-cover-upto-gcc-5.patch (limited to 'meta') 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 @@ +From 0aa68f7681a74f6ff80a80c5843bc35e5effffb9 Mon Sep 17 00:00:00 2001 +From: Khem Raj +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); +| ^ +| : recipe for target 'bn_div.o' failed +| make[2]: *** [bn_div.o] Error 1 + +Signed-off-by: Khem Raj + +--- +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 + 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 \ 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" -- cgit 1.2.3-korg