Hello community,

here is the log from the commit of package openmpi for openSUSE:Factory checked 
in at 2013-03-05 06:46:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openmpi (Old)
 and      /work/SRC/openSUSE:Factory/.openmpi.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "openmpi", Maintainer is "[email protected]"

Changes:
--------
--- /work/SRC/openSUSE:Factory/openmpi/openmpi.changes  2013-02-23 
16:38:56.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.openmpi.new/openmpi.changes     2013-03-05 
06:46:39.000000000 +0100
@@ -1,0 +2,6 @@
+Sun Mar  3 12:40:46 UTC 2013 - [email protected]
+
+- Add patch for support of sync builtins
+      (openmpi-sync-builtins.patch)
+
+-------------------------------------------------------------------

New:
----
  openmpi-sync-builtins.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ openmpi.spec ++++++
--- /var/tmp/diff_new_pack.L2wRls/_old  2013-03-05 06:46:40.000000000 +0100
+++ /var/tmp/diff_new_pack.L2wRls/_new  2013-03-05 06:46:40.000000000 +0100
@@ -19,30 +19,36 @@
 %define with_dapl 0
 
 Name:           openmpi
+Version:        1.6.4
+Release:        0
 Summary:        A powerful implementaion of MPI
 License:        BSD-3-Clause
 Group:          Development/Libraries/Parallel
-Version:        1.6.4
-Release:        0
+Url:            http://www.open-mpi.org/
 Source0:        
http://www.open-mpi.org/software/ompi/v1.6/downloads/%{name}-%{version}.tar.bz2
 Source1:        mpivars.sh
 Source2:        mpivars.csh
 Source3:        baselibs.conf
+# PATCH-MISSING-TAG -- See 
http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
 Patch0:         remove-assembler-for-armv5.diff
-Url:            http://www.open-mpi.org/
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+# PATCH-FEATURE-UPSTREAM openmpi-sync-builtins.patch [svn revision 25498, or 
0903ce6 on the git mirror] -- Andreas Schwab, SUSE Labs, [email protected]
+Patch1:         openmpi-sync-builtins.patch
 BuildRequires:  Modules
+BuildRequires:  autoconf
+BuildRequires:  automake
 BuildRequires:  fdupes
 BuildRequires:  gcc-c++
 BuildRequires:  gcc-fortran
+BuildRequires:  libtool
 BuildRequires:  mpi-selector
+BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 %if %{with_dapl}
 BuildRequires:  compat-dapl-devel
 BuildRequires:  libibumad-devel
 BuildRequires:  libibverbs-devel
 %endif
 # List loosely based on files available in openmpi-1.4.4/opal/asm/generated/
-ExclusiveArch:  %alpha %arm x86_64 %ix86 ia64 mips mips64 ppc ppc64 %sparc
+ExclusiveArch:  %alpha %arm aarch64 x86_64 %ix86 ia64 mips mips64 ppc ppc64 
%sparc
 %ifarch x86_64
 BuildRequires:  numactl
 %endif
@@ -63,7 +69,6 @@
 This RPM contains all the tools necessary to compile, link, and run
 Open MPI jobs.
 
-
 %package        devel
 Summary:        SDK for openMPI
 Group:          Development/Libraries/Parallel
@@ -93,11 +98,13 @@
 
 %prep
 %setup -q
-%ifarch armv5el armv5tel
+%ifarch armv5el armv5tel aarch64
 %patch0
 %endif
+%patch1 -p1
 
 %build
+./autogen.sh
 %configure --prefix="%{mpi_prefix}" \
            --exec-prefix="%{mpi_prefix}" \
            --bindir="%{mpi_bindir}" \
@@ -113,11 +120,11 @@
 make %{?_smp_mflags}
 
 %install
-%makeinstall
+%make_install
 # make and install mpivars files
-sed -e 's,prefix,%{mpi_prefix},g' -e 's,libdir,%{mpi_libdir},g' %{S:1} \
+sed -e 's,prefix,%{mpi_prefix},g' -e 's,libdir,%{mpi_libdir},g' %{SOURCE1} \
     > %{buildroot}%{mpi_bindir}/mpivars.sh
-sed -e 's,prefix,%{mpi_prefix},g' -e 's,libdir,%{mpi_libdir},g' %{S:2} \
+sed -e 's,prefix,%{mpi_prefix},g' -e 's,libdir,%{mpi_libdir},g' %{SOURCE2} \
     > %{buildroot}%{mpi_bindir}/mpivars.csh
 for input in `find %{buildroot}/%{mpi_mandir} -type f` ; do
        if test -f "$input.gz"; then
@@ -177,8 +184,7 @@
 %preun
 /usr/bin/mpi-selector --unregister %{name}-%{version} --yes
 
-%postun
-/sbin/ldconfig
+%postun -p /sbin/ldconfig
 
 %files
 %defattr(-, root, root)

++++++ openmpi-sync-builtins.patch ++++++
Index: openmpi-1.6.4/LICENSE
===================================================================
--- openmpi-1.6.4.orig/LICENSE
+++ openmpi-1.6.4/LICENSE
@@ -19,7 +19,7 @@ Copyright (c) 2006-2010 Los Alamos Natio
                         reserved. 
 Copyright (c) 2006-2010 Cisco Systems, Inc.  All rights reserved.
 Copyright (c) 2006-2010 Voltaire, Inc. All rights reserved.
-Copyright (c) 2006-2010 Sandia National Laboratories. All rights reserved.
+Copyright (c) 2006-2011 Sandia National Laboratories. All rights reserved.
 Copyright (c) 2006-2010 Sun Microsystems, Inc.  All rights reserved.
                         Use is subject to license terms.
 Copyright (c) 2006-2010 The University of Houston. All rights reserved.
Index: openmpi-1.6.4/opal/config/opal_config_asm.m4
===================================================================
--- openmpi-1.6.4.orig/opal/config/opal_config_asm.m4
+++ openmpi-1.6.4/opal/config/opal_config_asm.m4
@@ -19,6 +19,17 @@ dnl $HEADER$
 dnl
 
 
+AC_DEFUN([OPAL_CHECK_SYNC_BUILTINS], [
+  AC_MSG_CHECKING([for __sync builtin atomics])
+
+  AC_TRY_COMPILE([], [__sync_synchronize()], 
+    [AC_MSG_RESULT([yes])
+     $1],
+    [AC_MSG_RESULT([no])
+     $2])
+])
+
+
 dnl #################################################################
 dnl
 dnl OMPI_CHECK_ASM_TEXT
@@ -859,8 +870,21 @@ AC_DEFUN([OMPI_CONFIG_ASM],[
     AC_DEFINE_UNQUOTED([OPAL_WANT_SMP_LOCKS], [$want_smp_locks],
                        [whether we want to have smp locks in atomic ops or 
not])
 
+    AC_ARG_ENABLE([builtin-atomics],
+      [AC_HELP_STRING([--enable-builtin-atomics],
+         [Enable use of __sync builtin atomics (default: disabled)])])
+
     if test "$ompi_cv_c_compiler_vendor" = "microsoft" ; then
         ompi_cv_asm_arch="WINDOWS"
+    elif test "$enable_builtin_atomics" = "yes" ; then
+       OPAL_CHECK_SYNC_BUILTINS([ompi_cv_asm_arch="SYNC_BUILTIN"],
+         [AC_MSG_ERROR([__sync builtin atomics requested but not found.])])
+       AC_DEFINE([OPAL_C_GCC_INLINE_ASSEMBLY], [1],
+         [Whether C compiler supports GCC style inline assembly])
+       m4_ifdef([project_ompi],
+                [AS_IF([test "$WANT_MPI_CXX_SUPPORT" = "1"],
+         [AC_DEFINE([OMPI_CXX_GCC_INLINE_ASSEMBLY], [1],
+           [Whether C++ compiler supports GCC style inline assembly])])])
     else
         OMPI_CHECK_ASM_PROC
         OMPI_CHECK_ASM_TEXT
@@ -988,10 +1012,19 @@ AC_MSG_ERROR([Can not continue.])
             ;;
 
         *)
-            AC_MSG_ERROR([No atomic primitives available for $host])
+            OPAL_CHECK_SYNC_BUILTINS([ompi_cv_asm_arch="SYNC_BUILTIN"],
+              [AC_MSG_ERROR([No atomic primitives available for $host])])
             ;;
         esac
 
+      if test "$ompi_cv_asm_arch" = "SYNC_BUILTIN" ; then
+        AC_DEFINE([OPAL_C_GCC_INLINE_ASSEMBLY], [1],
+          [Whether C compiler supports GCC style inline assembly])
+        m4_ifdef([project_ompi],
+                 [AS_IF([test "$WANT_MPI_CXX_SUPPORT" = "1"],
+          [AC_DEFINE([OMPI_CXX_GCC_INLINE_ASSEMBLY], [1],
+            [Whether C++ compiler supports GCC style inline assembly])])])
+      else
         AC_DEFINE_UNQUOTED([OPAL_ASM_SUPPORT_64BIT],
             [$OPAL_ASM_SUPPORT_64BIT],
             [Whether we can do 64bit assembly operations or not.  Should not 
be used outside of the assembly header files])
@@ -1046,6 +1079,7 @@ AC_MSG_ERROR([Can not continue.])
         AC_DEFINE_UNQUOTED([OPAL_ASSEMBLY_FORMAT], ["$OPAL_ASSEMBLY_FORMAT"],
                            [Format of assembly file])
         AC_SUBST([OPAL_ASSEMBLY_FORMAT])
+      fi # if ompi_cv_asm_arch = SYNC_BUILTIN
     fi # if cv_c_compiler_vendor = microsoft
 
     result="OMPI_$ompi_cv_asm_arch"
@@ -1074,7 +1108,7 @@ AC_DEFUN([OMPI_ASM_FIND_FILE], [
     AC_REQUIRE([AC_PROG_GREP])
     AC_REQUIRE([AC_PROG_FGREP])
 
-if test "$ompi_cv_asm_arch" != "WINDOWS" ; then
+if test "$ompi_cv_asm_arch" != "WINDOWS" -a "$ompi_cv_asm_arch" != 
"SYNC_BUILTIN" ; then
     AC_CHECK_PROG([PERL], [perl], [perl])
 
     # see if we have a pre-built one already
Index: openmpi-1.6.4/opal/include/opal/sys/Makefile.am
===================================================================
--- openmpi-1.6.4.orig/opal/include/opal/sys/Makefile.am
+++ openmpi-1.6.4/opal/include/opal/sys/Makefile.am
@@ -10,6 +10,7 @@
 # Copyright (c) 2004-2005 The Regents of the University of California.
 #                         All rights reserved.
 # Copyright (c) 2010      Cisco Systems, Inc.  All rights reserved.
+# Copyright (c) 2011      Sandia National Laboratories. All rights reserved.
 # $COPYRIGHT$
 # 
 # Additional copyrights may follow
@@ -35,3 +36,4 @@ include opal/sys/powerpc/Makefile.am
 include opal/sys/sparc/Makefile.am
 include opal/sys/sparcv9/Makefile.am
 include opal/sys/win32/Makefile.am
+include opal/sys/sync_builtin/Makefile.am
Index: openmpi-1.6.4/opal/include/opal/sys/architecture.h
===================================================================
--- openmpi-1.6.4.orig/opal/include/opal/sys/architecture.h
+++ openmpi-1.6.4/opal/include/opal/sys/architecture.h
@@ -9,6 +9,7 @@
  *                         University of Stuttgart.  All rights reserved.
  * Copyright (c) 2004-2005 The Regents of the University of California.
  *                         All rights reserved.
+ * Copyright (c) 2011      Sandia National Laboratories. All rights reserved.
  * $COPYRIGHT$
  * 
  * Additional copyrights may follow
@@ -37,6 +38,7 @@
 #define OMPI_SPARCV9_64     0062
 #define OMPI_MIPS           0070
 #define OMPI_ARM            0100
+#define OMPI_SYNC_BUILTIN   0200
 
 /* Formats */
 #define OMPI_DEFAULT        1000  /* standard for given architecture */
Index: openmpi-1.6.4/opal/include/opal/sys/atomic.h
===================================================================
--- openmpi-1.6.4.orig/opal/include/opal/sys/atomic.h
+++ openmpi-1.6.4/opal/include/opal/sys/atomic.h
@@ -10,6 +10,7 @@
  * Copyright (c) 2004-2005 The Regents of the University of California.
  *                         All rights reserved.
  * Copyright (c) 2007      Sun Microsystems, Inc.  All rights reserved.
+ * Copyright (c) 2011      Sandia National Laboratories. All rights reserved.
  * $COPYRIGHT$
  * 
  * Additional copyrights may follow
@@ -164,6 +165,8 @@ typedef struct opal_atomic_lock_t opal_a
 #include "opal/sys/sparcv9/atomic.h"
 #elif OPAL_ASSEMBLY_ARCH == OMPI_SPARCV9_64
 #include "opal/sys/sparcv9/atomic.h"
+#elif OPAL_ASSEMBLY_ARCH == OMPI_SYNC_BUILTIN
+#include "opal/sys/sync_builtin/atomic.h"
 #endif
 
 #ifndef DOXYGEN
@@ -176,6 +179,12 @@ typedef struct opal_atomic_lock_t opal_a
 #ifndef OPAL_HAVE_ATOMIC_CMPSET_64
 #define OPAL_HAVE_ATOMIC_CMPSET_64 0
 #endif
+#ifndef OPAL_HAVE_ATOMIC_SWAP_32
+#define OPAL_HAVE_ATOMIC_SWAP_32 0
+#endif
+#ifndef OPAL_HAVE_ATOMIC_SWAP_64
+#define OPAL_HAVE_ATOMIC_SWAP_64 0
+#endif
 #endif /* DOXYGEN */
 
 /**********************************************************************
Index: openmpi-1.6.4/opal/include/opal/sys/sync_builtin/Makefile.am
===================================================================
--- /dev/null
+++ openmpi-1.6.4/opal/include/opal/sys/sync_builtin/Makefile.am
@@ -0,0 +1,24 @@
+#
+# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
+#                         University Research and Technology
+#                         Corporation.  All rights reserved.
+# Copyright (c) 2004-2005 The University of Tennessee and The University
+#                         of Tennessee Research Foundation.  All rights
+#                         reserved.
+# Copyright (c) 2004-2009 High Performance Computing Center Stuttgart, 
+#                         University of Stuttgart.  All rights reserved.
+# Copyright (c) 2004-2005 The Regents of the University of California.
+#                         All rights reserved.
+# Copyright (c) 2011      Sandia National Laboratories. All rights reserved.
+# $COPYRIGHT$
+# 
+# Additional copyrights may follow
+# 
+# $HEADER$
+#
+
+# This makefile.am does not stand on its own - it is included from 
opal/include/Makefile.am
+
+headers += \
+       opal/sys/sync_builtin/atomic.h \
+       opal/sys/sync_builtin/timer.h
Index: openmpi-1.6.4/opal/include/opal/sys/sync_builtin/atomic.h
===================================================================
--- /dev/null
+++ openmpi-1.6.4/opal/include/opal/sys/sync_builtin/atomic.h
@@ -0,0 +1,116 @@
+/*
+ * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
+ *                         University Research and Technology
+ *                         Corporation.  All rights reserved.
+ * Copyright (c) 2004-2006 The University of Tennessee and The University
+ *                         of Tennessee Research Foundation.  All rights
+ *                         reserved.
+ * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, 
+ *                         University of Stuttgart.  All rights reserved.
+ * Copyright (c) 2004-2005 The Regents of the University of California.
+ *                         All rights reserved.
+ * Copyright (c) 2011      Sandia National Laboratories. All rights reserved.
+ * $COPYRIGHT$
+ * 
+ * Additional copyrights may follow
+ * 
+ * $HEADER$
+ */
+
+#ifndef OMPI_SYS_ARCH_ATOMIC_H
+#define OMPI_SYS_ARCH_ATOMIC_H 1
+
+/**********************************************************************
+ *
+ * Memory Barriers
+ *
+ *********************************************************************/
+#define OPAL_HAVE_ATOMIC_MEM_BARRIER 1
+
+static inline void opal_atomic_mb(void)
+{    
+    __sync_synchronize();
+}
+
+static inline void opal_atomic_rmb(void)
+{
+    __sync_synchronize();
+}
+
+static inline void opal_atomic_wmb(void)
+{    
+    __sync_synchronize();
+}
+
+/**********************************************************************
+ *
+ * Atomic math operations
+ *
+ *********************************************************************/
+
+#define OPAL_HAVE_ATOMIC_CMPSET_32 1
+static inline int opal_atomic_cmpset_acq_32( volatile int32_t *addr,
+                                             int32_t oldval, int32_t newval)
+{
+    return __sync_bool_compare_and_swap(addr, oldval, newval);
+}
+
+
+static inline int opal_atomic_cmpset_rel_32( volatile int32_t *addr,
+                                             int32_t oldval, int32_t newval)
+{
+    return __sync_bool_compare_and_swap(addr, oldval, newval);}
+
+static inline int opal_atomic_cmpset_32( volatile int32_t *addr,
+                                         int32_t oldval, int32_t newval)
+{
+    return __sync_bool_compare_and_swap(addr, oldval, newval);
+}
+
+#define OPAL_HAVE_ATOMIC_MATH_32 1
+
+#define OPAL_HAVE_ATOMIC_ADD_32 1
+static inline int32_t opal_atomic_add_32(volatile int32_t *addr, int32_t delta)
+{
+    return __sync_fetch_and_add(addr, delta);
+}
+
+#define OPAL_HAVE_ATOMIC_SUB_32 1
+static inline int32_t opal_atomic_sub_32(volatile int32_t *addr, int32_t delta)
+{
+    return __sync_fetch_and_sub(addr, delta);
+}
+
+#define OPAL_HAVE_ATOMIC_CMPSET_64 1
+static inline int opal_atomic_cmpset_acq_64( volatile int64_t *addr,
+                                             int64_t oldval, int64_t newval)
+{
+    return __sync_bool_compare_and_swap(addr, oldval, newval);
+}
+
+static inline int opal_atomic_cmpset_rel_64( volatile int64_t *addr,
+                                             int64_t oldval, int64_t newval)
+{
+    return __sync_bool_compare_and_swap(addr, oldval, newval);}
+
+
+static inline int opal_atomic_cmpset_64( volatile int64_t *addr,
+                                         int64_t oldval, int64_t newval)
+{
+    return __sync_bool_compare_and_swap(addr, oldval, newval);
+}
+
+#define OPAL_HAVE_ATOMIC_MATH_64 1
+#define OPAL_HAVE_ATOMIC_ADD_64 1
+static inline int64_t opal_atomic_add_64(volatile int64_t *addr, int64_t delta)
+{
+    return __sync_fetch_and_add(addr, delta);
+}
+
+#define OPAL_HAVE_ATOMIC_SUB_64 1
+static inline int64_t opal_atomic_sub_64(volatile int64_t *addr, int64_t delta)
+{
+    return __sync_fetch_and_sub(addr, delta);
+}
+
+#endif /* ! OMPI_SYS_ARCH_ATOMIC_H */
Index: openmpi-1.6.4/opal/include/opal/sys/sync_builtin/timer.h
===================================================================
--- /dev/null
+++ openmpi-1.6.4/opal/include/opal/sys/sync_builtin/timer.h
@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
+ *                         University Research and Technology
+ *                         Corporation.  All rights reserved.
+ * Copyright (c) 2004-2005 The University of Tennessee and The University
+ *                         of Tennessee Research Foundation.  All rights
+ *                         reserved.
+ * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, 
+ *                         University of Stuttgart.  All rights reserved.
+ * Copyright (c) 2004-2005 The Regents of the University of California.
+ *                         All rights reserved.
+ * Copyright (c) 2011      Sandia National Laboratories. All rights reserved.
+ * $COPYRIGHT$
+ * 
+ * Additional copyrights may follow
+ * 
+ * $HEADER$
+ */
+
+#ifndef OMPI_SYS_ARCH_TIMER_H
+#define OMPI_SYS_ARCH_TIMER_H 1
+
+typedef long opal_timer_t;
+
+#define OPAL_HAVE_SYS_TIMER_GET_CYCLES 0
+
+#endif /* ! OMPI_SYS_ARCH_TIMER_H */
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to