diff -Nru openmpi-1.6.5/debian/changelog openmpi-1.6.5/debian/changelog --- openmpi-1.6.5/debian/changelog 2014-11-25 11:42:38.000000000 +0000 +++ openmpi-1.6.5/debian/changelog 2015-05-25 02:41:41.000000000 +0000 @@ -1,3 +1,14 @@ +openmpi (1.6.5-9.2+rpi1) stretch-staging; urgency=medium + + [changes brought forward from 1.6.5-9.1+rpi1 by Peter Michael Green at Wed, 26 Nov 2014 23:35:03 +0000] + * Modify arm "detection" for raspbian. + * Replace dmb with MCR p15, 0, r0, c7, c10, 5 as suggested at + http://www.open-mpi.org/community/lists/devel/2012/02/10626.php + * Disable arm64 patch, it conflicts with our modifications to the arm detection patch + * Refresh ppc64el-support.patch to remove line number offsets. + + -- Raspbian forward porter Mon, 25 May 2015 02:41:40 +0000 + openmpi (1.6.5-9.2) unstable; urgency=medium * Non-maintainer upload. diff -Nru openmpi-1.6.5/debian/patches/arm_detection.diff openmpi-1.6.5/debian/patches/arm_detection.diff --- openmpi-1.6.5/debian/patches/arm_detection.diff 2013-08-15 06:54:30.000000000 +0000 +++ openmpi-1.6.5/debian/patches/arm_detection.diff 2015-05-25 02:41:41.000000000 +0000 @@ -1,17 +1,20 @@ Index: openmpi-1.6.5/opal/config/opal_config_asm.m4 =================================================================== ---- openmpi-1.6.5.orig/opal/config/opal_config_asm.m4 2013-07-01 09:47:08.000000000 +0200 -+++ openmpi-1.6.5/opal/config/opal_config_asm.m4 2013-07-01 09:47:07.000000000 +0200 -@@ -900,7 +900,7 @@ - OMPI_GCC_INLINE_ASSIGN='"bis [$]31,[$]31,%0" : "=&r"(ret)' +--- openmpi-1.6.5.orig/opal/config/opal_config_asm.m4 2013-11-28 13:30:11.000000000 +0000 ++++ openmpi-1.6.5/opal/config/opal_config_asm.m4 2013-11-28 13:30:11.000000000 +0000 +@@ -909,17 +909,17 @@ + OMPI_GCC_INLINE_ASSIGN='"mov %0, #0" : "=&r"(ret)' ;; -- armv7*) -+ armv7*|arm-*-linux-gnueabihf) +- armv6*) ++ armv6*|arm-*-linux-gnueabihf) ompi_cv_asm_arch="ARM" - OPAL_ASM_SUPPORT_64BIT=1 - OPAL_ASM_ARM_VERSION=7 -@@ -919,7 +919,7 @@ + OPAL_ASM_SUPPORT_64BIT=0 + OPAL_ASM_ARM_VERSION=6 +- CCASFLAGS="$CCASFLAGS -march=armv7-a" ++ CCASFLAGS="$CCASFLAGS" + AC_DEFINE_UNQUOTED([OPAL_ASM_ARM_VERSION], [$OPAL_ASM_ARM_VERSION], + [What ARM assembly version to use]) OMPI_GCC_INLINE_ASSIGN='"mov %0, #0" : "=&r"(ret)' ;; @@ -22,17 +25,22 @@ OPAL_ASM_SUPPORT_64BIT=0 Index: openmpi-1.6.5/configure =================================================================== ---- openmpi-1.6.5.orig/configure 2013-07-01 09:47:08.000000000 +0200 -+++ openmpi-1.6.5/configure 2013-07-01 09:47:08.000000000 +0200 -@@ -27192,7 +27192,7 @@ - OMPI_GCC_INLINE_ASSIGN='"bis $31,$31,%0" : "=&r"(ret)' +--- openmpi-1.6.5.orig/configure 2013-11-28 13:30:11.000000000 +0000 ++++ openmpi-1.6.5/configure 2013-11-28 13:30:11.000000000 +0000 +@@ -27204,11 +27204,11 @@ + OMPI_GCC_INLINE_ASSIGN='"mov %0, #0" : "=&r"(ret)' ;; -- armv7*) -+ armv7*|arm-*-linux-gnueabihf) +- armv6*) ++ armv6*|arm-*-linux-gnueabihf) ompi_cv_asm_arch="ARM" - OPAL_ASM_SUPPORT_64BIT=1 - OPAL_ASM_ARM_VERSION=7 + OPAL_ASM_SUPPORT_64BIT=0 + OPAL_ASM_ARM_VERSION=6 +- CCASFLAGS="$CCASFLAGS -march=armv7-a" ++ CCASFLAGS="$CCASFLAGS" + + cat >>confdefs.h <<_ACEOF + #define OPAL_ASM_ARM_VERSION $OPAL_ASM_ARM_VERSION @@ -27217,7 +27217,7 @@ OMPI_GCC_INLINE_ASSIGN='"mov %0, #0" : "=&r"(ret)' ;; @@ -42,3 +50,66 @@ # uses Linux kernel helpers for some atomic operations ompi_cv_asm_arch="ARM" OPAL_ASM_SUPPORT_64BIT=0 +Index: openmpi-1.6.5/opal/asm/base/ARM.asm +=================================================================== +--- openmpi-1.6.5.orig/opal/asm/base/ARM.asm 2013-11-28 13:31:12.000000000 +0000 ++++ openmpi-1.6.5/opal/asm/base/ARM.asm 2013-11-28 13:31:29.000000000 +0000 +@@ -3,19 +3,19 @@ + + ALIGN(4) + START_FUNC(opal_atomic_mb) +- dmb ++ MCR p15, 0, r0, c7, c10, 5 + bx lr + END_FUNC(opal_atomic_mb) + + + START_FUNC(opal_atomic_rmb) +- dmb ++ MCR p15, 0, r0, c7, c10, 5 + bx lr + END_FUNC(opal_atomic_rmb) + + + START_FUNC(opal_atomic_wmb) +- dmb ++ MCR p15, 0, r0, c7, c10, 5 + bx lr + END_FUNC(opal_atomic_wmb) + +@@ -43,7 +43,7 @@ + strex r12, r2, [r0] + cmp r12, #0 + bne REFLSYM(3) +- dmb ++ MCR p15, 0, r0, c7, c10, 5 + mov r0, #1 + LSYM(4) + movne r0, #0 +@@ -56,7 +56,7 @@ + ldrex r3, [r0] + cmp r1, r3 + bne REFLSYM(6) +- dmb ++ MCR p15, 0, r0, c7, c10, 5 + strex r12, r2, [r0] + cmp r12, #0 + bne REFLSYM(4) +@@ -98,7 +98,7 @@ + strexd r1, r6, r7, [r0] + cmp r1, #0 + bne REFLSYM(9) +- dmb ++ MCR p15, 0, r0, c7, c10, 5 + mov r0, #1 + LSYM(10) + movne r0, #0 +@@ -116,7 +116,7 @@ + it eq + cmpeq r5, r3 + bne REFLSYM(12) +- dmb ++ MCR p15, 0, r0, c7, c10, 5 + strexd r1, r6, r7, [r0] + cmp r1, #0 + bne REFLSYM(11) diff -Nru openmpi-1.6.5/debian/patches/ppc64el-support.patch openmpi-1.6.5/debian/patches/ppc64el-support.patch --- openmpi-1.6.5/debian/patches/ppc64el-support.patch 2013-12-26 13:28:41.000000000 +0000 +++ openmpi-1.6.5/debian/patches/ppc64el-support.patch 2015-05-25 02:41:41.000000000 +0000 @@ -1,9 +1,11 @@ Description: Attempt ppc64el build. Author: Dimitri John Ledkov ---- openmpi-1.6.5.orig/opal/config/opal_config_asm.m4 -+++ openmpi-1.6.5/opal/config/opal_config_asm.m4 -@@ -949,7 +949,7 @@ AC_DEFUN([OMPI_CONFIG_ASM],[ +Index: openmpi-1.6.5/opal/config/opal_config_asm.m4 +=================================================================== +--- openmpi-1.6.5.orig/opal/config/opal_config_asm.m4 2014-01-19 04:45:25.000000000 +0000 ++++ openmpi-1.6.5/opal/config/opal_config_asm.m4 2014-01-19 04:45:25.000000000 +0000 +@@ -943,7 +943,7 @@ OMPI_GCC_INLINE_ASSIGN='"or %0,[$]0,[$]0" : "=&r"(ret)' ;; diff -Nru openmpi-1.6.5/debian/patches/series openmpi-1.6.5/debian/patches/series --- openmpi-1.6.5/debian/patches/series 2014-10-28 11:17:06.000000000 +0000 +++ openmpi-1.6.5/debian/patches/series 2015-05-25 02:41:41.000000000 +0000 @@ -14,7 +14,7 @@ mips-detection.diff mips-support-upstream-1.7.3.diff mips-support-fix.diff -basic-arm64-support.diff +#basic-arm64-support.diff ppc64el-support.patch alpha_badatomic.patch pkgconfig-vars.patch