Source: polarssl
Version: 1.3.9-2
Severity: normal
Tags: patch upstream
Forwarded: https://github.com/polarssl/polarssl/pull/145

Hi,

Currently, you can't use polarssl on mips64el because the bignum
implementation segfaults. I've submitted a fix upstream and I've
attached the patch. I'm filing a bug here so it doesn't get lost
and I don't forget about it.

Thanks,
James

From a8c399a604faab010e115f7d6764f7ffb76d696f Mon Sep 17 00:00:00 2001
From: James Cowgill <james...@cowgill.org.uk>
Date: Tue, 16 Dec 2014 15:24:06 +0000
Subject: [PATCH] Fix mips64 bignum implementation

- Use correct mips64 define (__mips64, not __mips64__).
- Added mips64 to the list of arches supporting 64-bit ints.
---
 include/polarssl/bignum.h | 2 +-
 include/polarssl/bn_mul.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/polarssl/bignum.h b/include/polarssl/bignum.h
index 992ed8e..a382e52 100644
--- a/include/polarssl/bignum.h
+++ b/include/polarssl/bignum.h
@@ -148,7 +148,7 @@ typedef uint32_t t_udbl;
           defined(__ppc64__) || defined(__powerpc64__) || \
           defined(__ia64__)  || defined(__alpha__)     || \
           (defined(__sparc__) && defined(__arch64__))  || \
-          defined(__s390x__) ) )
+          defined(__s390x__) || defined(__mips64) ) )
        #define POLARSSL_HAVE_INT64
        typedef  int64_t t_sint;
        typedef uint64_t t_uint;
diff --git a/include/polarssl/bn_mul.h b/include/polarssl/bn_mul.h
index a8f0d22..e0af18f 100644
--- a/include/polarssl/bn_mul.h
+++ b/include/polarssl/bn_mul.h
@@ -683,7 +683,7 @@
     );
 #endif /* Alpha */
 
-#if defined(__mips__) && !defined(__mips64__)
+#if defined(__mips__) && !defined(__mips64)
 
 #define MULADDC_INIT                    \
     asm(                                \
-- 
2.1.3

Reply via email to