|
@@ -1,67 +0,0 @@
|
|
|
---- gnupg-1.4.9.orig/mpi/longlong.h 2007-10-23 11:15:14.000000000 +0200
|
|
|
-+++ gnupg-1.4.9/mpi/longlong.h 2009-06-19 19:16:25.000000000 +0200
|
|
|
-@@ -706,18 +706,35 @@ extern USItype __udiv_qrnnd ();
|
|
|
- #endif /* __m88110__ */
|
|
|
- #endif /* __m88000__ */
|
|
|
-
|
|
|
-+/* Test for gcc >= maj.min, as per __GNUC_PREREQ in glibc */
|
|
|
-+#if defined (__GNUC__) && defined (__GNUC_MINOR__)
|
|
|
-+#define __GNUC_PREREQ(maj, min) \
|
|
|
-+ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
|
|
|
-+#else
|
|
|
-+#define __GNUC_PREREQ(maj, min) 0
|
|
|
-+#endif
|
|
|
-+
|
|
|
- /***************************************
|
|
|
- ************** MIPS *****************
|
|
|
- ***************************************/
|
|
|
- #if defined (__mips__) && W_TYPE_SIZE == 32
|
|
|
--#if __GNUC__ > 2 || __GNUC_MINOR__ >= 7
|
|
|
-+#if __GNUC_PREREQ (4,4)
|
|
|
-+#define umul_ppmm(w1, w0, u, v) \
|
|
|
-+ do { \
|
|
|
-+ UDItype __ll = (UDItype)(u) * (v); \
|
|
|
-+ w1 = __ll >> 32; \
|
|
|
-+ w0 = __ll; \
|
|
|
-+ } while (0)
|
|
|
-+#endif
|
|
|
-+#if !defined (umul_ppmm) && __GNUC_PREREQ (2,7)
|
|
|
- #define umul_ppmm(w1, w0, u, v) \
|
|
|
- __asm__ ("multu %2,%3" \
|
|
|
- : "=l" ((USItype)(w0)), \
|
|
|
- "=h" ((USItype)(w1)) \
|
|
|
- : "d" ((USItype)(u)), \
|
|
|
- "d" ((USItype)(v)))
|
|
|
--#else
|
|
|
-+#endif
|
|
|
-+#if !defined (umul_ppmm)
|
|
|
- #define umul_ppmm(w1, w0, u, v) \
|
|
|
- __asm__ ("multu %2,%3 \n" \
|
|
|
- "mflo %0 \n" \
|
|
|
-@@ -735,14 +752,24 @@ extern USItype __udiv_qrnnd ();
|
|
|
- ************** MIPS/64 **************
|
|
|
- ***************************************/
|
|
|
- #if (defined (__mips) && __mips >= 3) && W_TYPE_SIZE == 64
|
|
|
--#if __GNUC__ > 2 || __GNUC_MINOR__ >= 7
|
|
|
-+#if __GNUC_PREREQ (4,4)
|
|
|
-+#define umul_ppmm(w1, w0, u, v) \
|
|
|
-+ do { \
|
|
|
-+ typedef unsigned int __ll_UTItype __attribute__((mode(TI))); \
|
|
|
-+ __ll_UTItype __ll = (__ll_UTItype)(u) * (v); \
|
|
|
-+ w1 = __ll >> 64; \
|
|
|
-+ w0 = __ll; \
|
|
|
-+ } while (0)
|
|
|
-+#endif
|
|
|
-+#if !defined (umul_ppmm) && __GNUC_PREREQ (2,7)
|
|
|
- #define umul_ppmm(w1, w0, u, v) \
|
|
|
- __asm__ ("dmultu %2,%3" \
|
|
|
- : "=l" ((UDItype)(w0)), \
|
|
|
- "=h" ((UDItype)(w1)) \
|
|
|
- : "d" ((UDItype)(u)), \
|
|
|
- "d" ((UDItype)(v)))
|
|
|
--#else
|
|
|
-+#endif
|
|
|
-+#if !defined (umul_ppmm)
|
|
|
- #define umul_ppmm(w1, w0, u, v) \
|
|
|
- __asm__ ("dmultu %2,%3 \n" \
|
|
|
- "mflo %0 \n" \
|