From b5ba4364bf8fdcd15456e2c711333abdb288c8cb Mon Sep 17 00:00:00 2001 From: Graham Gower Date: Thu, 1 Jul 2010 14:23:33 +0000 Subject: gnupg_1.4.10.bb: fix build on mips(el) with recent gcc. Patch "borrowed" from openwrt. https://dev.openwrt.org/browser/packages/utils/gnupg/patches/001-mips_gcc4.4.patch Signed-off-by: Graham Gower Signed-off-by: Khem Raj --- recipes/gnupg/gnupg-1.4.10/mips_gcc4.4.patch | 42 ++++++++++++++++++++++++++++ recipes/gnupg/gnupg_1.4.10.bb | 3 +- 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 recipes/gnupg/gnupg-1.4.10/mips_gcc4.4.patch diff --git a/recipes/gnupg/gnupg-1.4.10/mips_gcc4.4.patch b/recipes/gnupg/gnupg-1.4.10/mips_gcc4.4.patch new file mode 100644 index 0000000000..b101a5bbe7 --- /dev/null +++ b/recipes/gnupg/gnupg-1.4.10/mips_gcc4.4.patch @@ -0,0 +1,42 @@ +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" \ diff --git a/recipes/gnupg/gnupg_1.4.10.bb b/recipes/gnupg/gnupg_1.4.10.bb index 93bc465584..a71ba9fe41 100644 --- a/recipes/gnupg/gnupg_1.4.10.bb +++ b/recipes/gnupg/gnupg_1.4.10.bb @@ -5,9 +5,10 @@ EXTRA_OECONF += "--with-readline=${STAGING_LIBDIR}/.. ac_cv_sys_symbol_underscor # --without-readline do not support fancy command line editing SRC_URI += "file://long-long-thumb.patch" +SRC_URI += "file://mips_gcc4.4.patch" SRC_URI[src.md5sum] = "dcf7ed712997888d616e029637bfc303" SRC_URI[src.sha256sum] = "a2907f4432d67894e425e48ae85785dd60ecb01658c9682bcd96f5e91043bb38" S = "${WORKDIR}/gnupg-${PV}" -PR = "r2" +PR = "r3" -- cgit 1.2.3-korg