[oe-commits] Graham Gower : gnupg_1.4.10.bb: fix build on mips(el) with recent gcc.

git version control git at git.openembedded.org
Sat Jul 3 04:22:52 UTC 2010


Module: openembedded.git
Branch: org.openembedded.dev
Commit: b5ba4364bf8fdcd15456e2c711333abdb288c8cb
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=b5ba4364bf8fdcd15456e2c711333abdb288c8cb

Author: Graham Gower <graham.gower at gmail.com>
Date:   Thu Jul  1 14:23:33 2010 +0000

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 <graham.gower at gmail.com>
Signed-off-by: Khem Raj <raj.khem at gmail.com>

---

 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 deletions(-)

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 0000000..b101a5b
--- /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 93bc465..a71ba9f 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"





More information about the Openembedded-commits mailing list