| |
| From Openembedded-Classic |
| |
| gnupg-1.4.10: Readd the ARM Thumb patch as debian has no thumb support |
| |
| |
| Upstream-Status: Inappropriate [embedded-specific] |
| |
| Index: gnupg-1.4.10/mpi/longlong.h |
| =================================================================== |
| --- gnupg-1.4.10.orig/mpi/longlong.h 2008-12-11 17:39:43.000000000 +0100 |
| +++ gnupg-1.4.10/mpi/longlong.h 2010-03-27 14:27:53.000000000 +0100 |
| @@ -706,18 +706,35 @@ |
| #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" \ |