[Pkg-openmpi-commits] r345 - in /openmpi/trunk/debian: changelog control patches/mips-detection.diff patches/mips-support-fix.diff patches/mips-support-upstream-1.7.3.diff patches/series
sylvestre at users.alioth.debian.org
sylvestre at users.alioth.debian.org
Fri Dec 13 10:01:17 UTC 2013
Author: sylvestre
Date: Fri Dec 13 10:01:17 2013
New Revision: 345
URL: http://svn.debian.org/wsvn/pkg-openmpi/?sc=1&rev=345
Log:
* Also support of mips & mipsel. Thanks to Jurica Stanojkovic
(Closes: #732027)
* Standards-Version updated to 3.9.5
Added:
openmpi/trunk/debian/patches/mips-detection.diff
openmpi/trunk/debian/patches/mips-support-fix.diff
openmpi/trunk/debian/patches/mips-support-upstream-1.7.3.diff
Modified:
openmpi/trunk/debian/changelog
openmpi/trunk/debian/control
openmpi/trunk/debian/patches/series
Modified: openmpi/trunk/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-openmpi/openmpi/trunk/debian/changelog?rev=345&op=diff
==============================================================================
--- openmpi/trunk/debian/changelog (original)
+++ openmpi/trunk/debian/changelog Fri Dec 13 10:01:17 2013
@@ -2,7 +2,10 @@
* Add the support of mips64 & mips64el. (Closes: #727141)
Thanks to YunQiang Su
+ * Also support of mips & mipsel. Thanks to Jurica Stanojkovic
+ (Closes: #732027)
* Fix an upgrade issue (Closes: #730622)
+ * Standards-Version updated to 3.9.5
-- Sylvestre Ledru <sylvestre at debian.org> Wed, 04 Dec 2013 18:14:59 +0100
Modified: openmpi/trunk/debian/control
URL: http://svn.debian.org/wsvn/pkg-openmpi/openmpi/trunk/debian/control?rev=345&op=diff
==============================================================================
--- openmpi/trunk/debian/control (original)
+++ openmpi/trunk/debian/control Fri Dec 13 10:01:17 2013
@@ -10,13 +10,13 @@
libnuma-dev [amd64 i386 ia64 mips mipsel mipsn32 mipsn32el mips64 mips64el powerpc], autoconf (>= 2.59),
automake
Build-Conflicts: libopenmpi1.3
-Standards-Version: 3.9.4
+Standards-Version: 3.9.5
Homepage: http://www.open-mpi.org/
Vcs-Svn: svn://svn.debian.org/svn/pkg-openmpi/openmpi/trunk/
Vcs-Browser: http://svn.debian.org/wsvn/pkg-openmpi/openmpi/trunk/
Package: openmpi-bin
-Architecture: alpha amd64 armel armhf i386 ia64 powerpc powerpcspe ppc64 sparc sparc64 kfreebsd-i386 kfreebsd-amd64 hurd-i386 mips64 mips64el
+Architecture: alpha amd64 armel armhf i386 ia64 powerpc powerpcspe ppc64 sparc sparc64 kfreebsd-i386 kfreebsd-amd64 hurd-i386 mips64 mips64el mips mipsel
Depends: ${shlibs:Depends}, ${misc:Depends}, openmpi-common (= ${source:Version})
Conflicts: openmpi-bin
Suggests: gfortran, openmpi-checkpoint [amd64 armel armhf i386 powerpc]
@@ -45,7 +45,7 @@
Package: libopenmpi-dev
Section: libdevel
-Architecture: alpha amd64 armel armhf i386 ia64 powerpc powerpcspe ppc64 sparc sparc64 kfreebsd-i386 kfreebsd-amd64 hurd-i386 mips64 mips64el
+Architecture: alpha amd64 armel armhf i386 ia64 powerpc powerpcspe ppc64 sparc sparc64 kfreebsd-i386 kfreebsd-amd64 hurd-i386 mips64 mips64el mips mipsel
Depends: ${shlibs:Depends}, ${misc:Depends}, libopenmpi1.6 (= ${binary:Version}), openmpi-common (= ${source:Version}), libibverbs-dev [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libhwloc-dev
Conflicts: openmpi-dev, libopenmpi-dev, openmpi-bin (<= 1.2.4-0)
Description: high performance message passing library -- header files
@@ -60,7 +60,7 @@
Package: libopenmpi1.6
Section: libs
-Architecture: alpha amd64 armel armhf i386 ia64 powerpc powerpcspe ppc64 sparc sparc64 kfreebsd-i386 kfreebsd-amd64 hurd-i386 mips64 mips64el
+Architecture: alpha amd64 armel armhf i386 ia64 powerpc powerpcspe ppc64 sparc sparc64 kfreebsd-i386 kfreebsd-amd64 hurd-i386 mips64 mips64el mips mipsel
Depends: ${shlibs:Depends}, ${misc:Depends}
Conflicts: openmpi-libs0, libopenmpi1, libopenmpi1.3, libopenmpi2
Replaces: openmpi-checkpoint (<< 1.6.5-1)
@@ -106,7 +106,7 @@
Package: libopenmpi1.6-dbg
Section: debug
-Architecture: alpha amd64 armel armhf i386 ia64 powerpc powerpcspe ppc64 sparc sparc64 kfreebsd-i386 kfreebsd-amd64 hurd-i386 mips64 mips64el
+Architecture: alpha amd64 armel armhf i386 ia64 powerpc powerpcspe ppc64 sparc sparc64 kfreebsd-i386 kfreebsd-amd64 hurd-i386 mips64 mips64el mips mipsel
Depends: ${misc:Depends}, openmpi-bin (= ${binary:Version}), libopenmpi1.6 (= ${binary:Version})
Conflicts: openmpi-dbg, libopenmpi-dbg
Description: high performance message passing library -- debug library
Added: openmpi/trunk/debian/patches/mips-detection.diff
URL: http://svn.debian.org/wsvn/pkg-openmpi/openmpi/trunk/debian/patches/mips-detection.diff?rev=345&op=file
==============================================================================
--- openmpi/trunk/debian/patches/mips-detection.diff (added)
+++ openmpi/trunk/debian/patches/mips-detection.diff Fri Dec 13 10:01:17 2013
@@ -0,0 +1,39 @@
+Description: Support detection of mips, mipsel, mips64, mips64el architectures
+Author: Jurica Stanojkovic <Jurica.Stanojkovic at imgtec.com>
+
+--- openmpi-1.6.5.orig/configure
++++ openmpi-1.6.5/configure
+@@ -27231,8 +27231,13 @@ _ACEOF
+ OMPI_GCC_INLINE_ASSIGN='"mov %0, #0" : "=&r"(ret)'
+ ;;
+
+- mips-*|mips64*)
+- # Should really find some way to make sure that we are on
++ mips-*|mipsel-*)
++ ompi_cv_asm_arch="MIPS"
++ OPAL_ASM_SUPPORT_64BIT=0
++ OMPI_GCC_INLINE_ASSIGN='"or %0,$0,$0" : "=&r"(ret)'
++ ;;
++
++ mips64-*|mips64el-*)
+ # a MIPS III machine (r4000 and later)
+ ompi_cv_asm_arch="MIPS"
+ OPAL_ASM_SUPPORT_64BIT=1
+--- openmpi-1.6.5.orig/opal/config/opal_config_asm.m4
++++ openmpi-1.6.5/opal/config/opal_config_asm.m4
+@@ -930,8 +930,13 @@ AC_DEFUN([OMPI_CONFIG_ASM],[
+ OMPI_GCC_INLINE_ASSIGN='"mov %0, #0" : "=&r"(ret)'
+ ;;
+
+- mips-*|mips64*)
+- # Should really find some way to make sure that we are on
++ mips-*|mipsel-*)
++ ompi_cv_asm_arch="MIPS"
++ OPAL_ASM_SUPPORT_64BIT=0
++ OMPI_GCC_INLINE_ASSIGN='"or %0,[$]0,[$]0" : "=&r"(ret)'
++ ;;
++
++ mips64-*|mips64el-*)
+ # a MIPS III machine (r4000 and later)
+ ompi_cv_asm_arch="MIPS"
+ OPAL_ASM_SUPPORT_64BIT=1
Added: openmpi/trunk/debian/patches/mips-support-fix.diff
URL: http://svn.debian.org/wsvn/pkg-openmpi/openmpi/trunk/debian/patches/mips-support-fix.diff?rev=345&op=file
==============================================================================
--- openmpi/trunk/debian/patches/mips-support-fix.diff (added)
+++ openmpi/trunk/debian/patches/mips-support-fix.diff Fri Dec 13 10:01:17 2013
@@ -0,0 +1,95 @@
+Description: Patch resolve issue of misinterpretation of assembler code from MIPS.asm
+ and fix mips64(el) assembler code.
+Author: Jurica Stanojkovic <Jurica.Stanojkovic at imgtec.com>
+
+--- openmpi-1.6.5.orig/opal/asm/base/MIPS.asm
++++ openmpi-1.6.5/opal/asm/base/MIPS.asm
+@@ -68,11 +68,11 @@ retry1:
+ #endif
+ beqz $2, retry1
+ done1:
+- .set reorder
+
+ xor $3,$3,$5
+ j ra
+ sltu $2,$3,1
++ .set reorder
+ END(opal_atomic_cmpset_32)
+
+
+@@ -104,11 +104,11 @@ done2:
+ #ifdef __linux__
+ .set mips0
+ #endif
+- .set reorder
+
+ xor $3,$3,$5
+ j ra
+ sltu $2,$3,1
++ .set reorder
+ END(opal_atomic_cmpset_acq_32)
+
+
+@@ -140,16 +140,16 @@ retry3:
+ #endif
+ beqz $2, retry3
+ done3:
+- .set reorder
+
+ xor $3,$3,$5
+ j ra
+ sltu $2,$3,1
++ .set reorder
+ END(opal_atomic_cmpset_rel_32)
+
+ #ifdef __mips64
+ LEAF(opal_atomic_cmpset_64)
+- .set noreorder
++ .set noreorder
+ retry4:
+ lld $3, 0($4)
+ bne $3, $5, done4
+@@ -157,11 +157,11 @@ retry4:
+ scd $2, 0($4)
+ beqz $2, retry4
+ done4:
+- .set reorder
+
+- xor $4,$3,$5
++ xor $3,$3,$5
+ j ra
+- sltu $3,$4,1
++ sltu $2,$3,1
++ .set reorder
+ END(opal_atomic_cmpset_64)
+
+
+@@ -174,11 +174,11 @@ retry5:
+ scd $2, 0($4)
+ beqz $2, retry5
+ done5:
+- .set reorder
+ sync
+- xor $4,$3,$5
++ xor $3,$3,$5
+ j ra
+- sltu $3,$4,1
++ sltu $2,$3,1
++ .set reorder
+ END(opal_atomic_cmpset_acq_64)
+
+
+@@ -192,10 +192,10 @@ retry6:
+ scd $2, 0($4)
+ beqz $2, retry6
+ done6:
+- .set reorder
+
+- xor $4,$3,$5
++ xor $3,$3,$5
+ j ra
+- sltu $3,$4,1
++ sltu $2,$3,1
++ .set reorder
+ END(opal_atomic_cmpset_rel_64)
+ #endif /* __mips64 */
Added: openmpi/trunk/debian/patches/mips-support-upstream-1.7.3.diff
URL: http://svn.debian.org/wsvn/pkg-openmpi/openmpi/trunk/debian/patches/mips-support-upstream-1.7.3.diff?rev=345&op=file
==============================================================================
--- openmpi/trunk/debian/patches/mips-support-upstream-1.7.3.diff (added)
+++ openmpi/trunk/debian/patches/mips-support-upstream-1.7.3.diff Fri Dec 13 10:01:17 2013
@@ -0,0 +1,225 @@
+Description: Patches MIPS.asm and mips/atomic.h files to a 1.7.3 version of source
+Author: Jurica Stanojkovic <Jurica.Stanojkovic at imgtec.com>
+
+--- openmpi-1.6.5.orig/opal/asm/base/MIPS.asm
++++ openmpi-1.6.5/opal/asm/base/MIPS.asm
+@@ -1,26 +1,48 @@
+ START_FILE
+
++#ifdef __linux__
+ #include <sys/asm.h>
++#else
++#include <asm.h>
++#endif
+ #include <regdef.h>
+
+ TEXT
+
+ ALIGN(8)
+ LEAF(opal_atomic_mb)
+- sync
++#ifdef __linux__
++ .set mips2
++#endif
++ sync
++#ifdef __linux__
++ .set mips0
++#endif
+ j ra
+ END(opal_atomic_mb)
+
+
+ ALIGN(8)
+ LEAF(opal_atomic_rmb)
+- sync
++#ifdef __linux__
++ .set mips2
++#endif
++ sync
++#ifdef __linux__
++ .set mips0
++#endif
+ j ra
+ END(opal_atomic_rmb)
+
+
+ LEAF(opal_atomic_wmb)
+- sync
++#ifdef __linux__
++ .set mips2
++#endif
++ sync
++#ifdef __linux__
++ .set mips0
++#endif
+ j ra
+ END(opal_atomic_wmb)
+
+@@ -28,10 +50,22 @@ END(opal_atomic_wmb)
+ LEAF(opal_atomic_cmpset_32)
+ .set noreorder
+ retry1:
++#ifdef __linux__
++ .set mips2
++#endif
+ ll $3, 0($4)
++#ifdef __linux__
++ .set mips0
++#endif
+ bne $3, $5, done1
+ or $2, $6, 0
++#ifdef __linux__
++ .set mips2
++#endif
+ sc $2, 0($4)
++#ifdef __linux__
++ .set mips0
++#endif
+ beqz $2, retry1
+ done1:
+ .set reorder
+@@ -45,13 +79,31 @@ END(opal_atomic_cmpset_32)
+ LEAF(opal_atomic_cmpset_acq_32)
+ .set noreorder
+ retry2:
++#ifdef __linux__
++ .set mips2
++#endif
+ ll $3, 0($4)
++#ifdef __linux__
++ .set mips0
++#endif
+ bne $3, $5, done2
+ or $2, $6, 0
++#ifdef __linux__
++ .set mips2
++#endif
+ sc $2, 0($4)
++#ifdef __linux__
++ .set mips0
++#endif
+ beqz $2, retry2
+ done2:
+- sync
++#ifdef __linux__
++ .set mips2
++#endif
++ sync
++#ifdef __linux__
++ .set mips0
++#endif
+ .set reorder
+
+ xor $3,$3,$5
+@@ -62,12 +114,30 @@ END(opal_atomic_cmpset_acq_32)
+
+ LEAF(opal_atomic_cmpset_rel_32)
+ .set noreorder
+- sync
++#ifdef __linux__
++ .set mips2
++#endif
++ sync
++#ifdef __linux__
++ .set mips0
++#endif
+ retry3:
++#ifdef __linux__
++ .set mips2
++#endif
+ ll $3, 0($4)
++#ifdef __linux__
++ .set mips0
++#endif
+ bne $3, $5, done3
+ or $2, $6, 0
++#ifdef __linux__
++ .set mips2
++#endif
+ sc $2, 0($4)
++#ifdef __linux__
++ .set mips0
++#endif
+ beqz $2, retry3
+ done3:
+ .set reorder
+@@ -77,7 +147,7 @@ done3:
+ sltu $2,$3,1
+ END(opal_atomic_cmpset_rel_32)
+
+-
++#ifdef __mips64
+ LEAF(opal_atomic_cmpset_64)
+ .set noreorder
+ retry4:
+@@ -128,3 +198,4 @@ done6:
+ j ra
+ sltu $3,$4,1
+ END(opal_atomic_cmpset_rel_64)
++#endif /* __mips64 */
+--- openmpi-1.6.5.orig/opal/include/opal/sys/mips/atomic.h
++++ openmpi-1.6.5/opal/include/opal/sys/mips/atomic.h
+@@ -23,10 +23,17 @@
+ #if OPAL_WANT_SMP_LOCKS
+
+ /* BWB - FIX ME! */
++#ifdef __linux__
++#define MB() __asm__ __volatile__(".set mips2; sync; .set mips0": : :"memory")
++#define RMB() __asm__ __volatile__(".set mips2; sync; .set mips0": : :"memory")
++#define WMB() __asm__ __volatile__(".set mips2; sync; .set mips0": : :"memory")
++#define SMP_SYNC ".set mips2; sync; .set mips0"
++#else
+ #define MB() __asm__ __volatile__("sync": : :"memory")
+ #define RMB() __asm__ __volatile__("sync": : :"memory")
+ #define WMB() __asm__ __volatile__("sync": : :"memory")
+ #define SMP_SYNC "sync"
++#endif
+
+ #else
+
+@@ -46,8 +53,10 @@
+ #define OPAL_HAVE_ATOMIC_MEM_BARRIER 1
+
+ #define OPAL_HAVE_ATOMIC_CMPSET_32 1
+-#define OPAL_HAVE_ATOMIC_CMPSET_64 1
+
++#ifdef __mips64
++#define OPAL_HAVE_ATOMIC_CMPSET_64 1
++#endif
+
+ /**********************************************************************
+ *
+@@ -93,10 +102,16 @@ static inline int opal_atomic_cmpset_32(
+ __asm__ __volatile__ (".set noreorder \n"
+ ".set noat \n"
+ "1: \n"
++#ifdef __linux__
++ ".set mips2 \n\t"
++#endif
+ "ll %0, %2 \n" /* load *addr into ret */
+ "bne %0, %z3, 2f \n" /* done if oldval != ret */
+ "or $1, %z4, 0 \n" /* tmp = newval (delay slot) */
+ "sc $1, %2 \n" /* store tmp in *addr */
++#ifdef __linux__
++ ".set mips0 \n\t"
++#endif
+ /* note: ret will be 0 if failed, 1 if succeeded */
+ "beqz $1, 1b \n" /* if 0 jump back to 1b */
+ "nop \n" /* fill delay slots */
+@@ -133,7 +148,7 @@ static inline int opal_atomic_cmpset_rel
+ return opal_atomic_cmpset_32(addr, oldval, newval);
+ }
+
+-
++#ifdef OPAL_HAVE_ATOMIC_CMPSET_64
+ static inline int opal_atomic_cmpset_64(volatile int64_t *addr,
+ int64_t oldval, int64_t newval)
+ {
+@@ -182,6 +197,7 @@ static inline int opal_atomic_cmpset_rel
+ opal_atomic_wmb();
+ return opal_atomic_cmpset_64(addr, oldval, newval);
+ }
++#endif /* OPAL_HAVE_ATOMIC_CMPSET_64 */
+
+ #endif /* OMPI_GCC_INLINE_ASSEMBLY */
+
Modified: openmpi/trunk/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-openmpi/openmpi/trunk/debian/patches/series?rev=345&op=diff
==============================================================================
--- openmpi/trunk/debian/patches/series (original)
+++ openmpi/trunk/debian/patches/series Fri Dec 13 10:01:17 2013
@@ -11,3 +11,6 @@
arm_detection.diff
fix-bashims.diff
fix-testsuite-compile
+mips-detection.diff
+mips-support-upstream-1.7.3.diff
+mips-support-fix.diff
More information about the Pkg-openmpi-commits
mailing list