Update to latest 1.8.4 snapshot

- Add upstream patch to fix atomics on 32bit
This commit is contained in:
Orion Poplawski 2015-03-27 08:12:08 -06:00
parent 7c222bd5f5
commit f830453701
4 changed files with 72 additions and 4 deletions

1
.gitignore vendored
View File

@ -21,3 +21,4 @@ openmpi-1.4.1-RH.tar.bz2
/openmpi-1.8.3.tar.bz2 /openmpi-1.8.3.tar.bz2
/openmpi-1.8.4.tar.bz2 /openmpi-1.8.4.tar.bz2
/openmpi-v1.8.4-99-gd83fb30.tar.gz /openmpi-v1.8.4-99-gd83fb30.tar.gz
/openmpi-v1.8.4-134-g9ad2aa8.tar.bz2

60
openmpi-atomic.patch Normal file
View File

@ -0,0 +1,60 @@
--- openmpi-v1.8.4-134-g9ad2aa8/opal/include/opal/sys/ia32/atomic.h.orig 2015-03-24 19:21:55.000000000 -0600
+++ openmpi-v1.8.4-134-g9ad2aa8/opal/include/opal/sys/ia32/atomic.h 2015-03-27 08:09:41.140745019 -0600
@@ -1,3 +1,4 @@
+/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
@@ -10,6 +11,8 @@
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2007-2010 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015 Los Alamos National Security, LLC. All rights
+ * reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@@ -155,6 +158,25 @@
#if OMPI_GCC_INLINE_ASSEMBLY
+#define OPAL_HAVE_ATOMIC_SWAP_32 1
+
+static inline int32_t opal_atomic_swap_32( volatile int32_t *addr,
+ int32_t newval)
+{
+ int32_t oldval;
+
+ __asm__ __volatile__("xchg %1, %0" :
+ "=r" (oldval), "=m" (*addr) :
+ "0" (newval), "m" (*addr) :
+ "memory");
+ return oldval;
+}
+
+#endif /* OPAL_GCC_INLINE_ASSEMBLY */
+
+
+#if OPAL_GCC_INLINE_ASSEMBLY
+
/**
* atomic_add - add integer to atomic variable
* @i: integer value to add
@@ -167,7 +189,7 @@
int ret = i;
__asm__ __volatile__(
SMPLOCK "xaddl %1,%0"
- :"=m" (*v), "+r" (ret)
+ :"+m" (*v), "+r" (ret)
:"m" (*v)
:"memory", "cc"
);
@@ -187,7 +209,7 @@
int ret = -i;
__asm__ __volatile__(
SMPLOCK "xaddl %1,%0"
- :"=m" (*v), "+r" (ret)
+ :"+m" (*v), "+r" (ret)
:"m" (*v)
:"memory", "cc"
);

View File

@ -22,7 +22,7 @@
Name: openmpi%{?_cc_name_suffix} Name: openmpi%{?_cc_name_suffix}
Version: 1.8.4 Version: 1.8.4
Release: 5.20150228gitgd83fb30%{?dist} Release: 6.20150324gitg9ad2aa8%{?dist}
Summary: Open Message Passing Interface Summary: Open Message Passing Interface
Group: Development/Libraries Group: Development/Libraries
License: BSD, MIT and Romio License: BSD, MIT and Romio
@ -30,9 +30,11 @@ URL: http://www.open-mpi.org/
# We can't use %{name} here because of _cc_name_suffix # We can't use %{name} here because of _cc_name_suffix
#Source0: http://www.open-mpi.org/software/ompi/v1.8/downloads/openmpi-%{version}.tar.bz2 #Source0: http://www.open-mpi.org/software/ompi/v1.8/downloads/openmpi-%{version}.tar.bz2
Source0: http://www.open-mpi.org/nightly/v1.8/openmpi-v%{version}-99-gd83fb30.tar.gz Source0: http://www.open-mpi.org/nightly/v1.8/openmpi-v1.8.4-134-g9ad2aa8.tar.bz2
Source1: openmpi.module.in Source1: openmpi.module.in
Source2: macros.openmpi Source2: macros.openmpi
# Upstream patch to fix atomics on 32bit
Patch0: openmpi-atomic.patch
# Patch to use system ltdl for tests # Patch to use system ltdl for tests
Patch1: openmpi-ltdl.patch Patch1: openmpi-ltdl.patch
# Fix typo in liboshmem name # Fix typo in liboshmem name
@ -114,7 +116,8 @@ Contains development wrapper for compiling Java with openmpi.
%global namearch openmpi-%{_arch}%{?_cc_name_suffix} %global namearch openmpi-%{_arch}%{?_cc_name_suffix}
%prep %prep
%setup -q -n openmpi-v%{version}-99-gd83fb30 %setup -q -n openmpi-v%{version}-134-g9ad2aa8
%patch0 -p1 -b .atomic
%patch1 -p1 -b .ltdl %patch1 -p1 -b .ltdl
%patch2 -p1 -b .oshmem %patch2 -p1 -b .oshmem
# Make sure we don't use the local libltdl library # Make sure we don't use the local libltdl library
@ -241,6 +244,10 @@ make check
%changelog %changelog
* Fri Mar 27 2015 Orion Poplawski <orion@cora.nwra.com> 1.8.4-6.20150324gitg9ad2aa8
- Update to latest 1.8.4 snapshot
- Add upstream patch to fix atomics on 32bit
* Mon Mar 23 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.8.4-5.20150228gitgd83fb30 * Mon Mar 23 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.8.4-5.20150228gitgd83fb30
- Rebuild for fortran update (#1204420) - Rebuild for fortran update (#1204420)

View File

@ -1 +1 @@
f7ffd20704880169af895178086a54c3 openmpi-v1.8.4-99-gd83fb30.tar.gz fa1ebef6c4659c8eb48f7188de3797a8 openmpi-v1.8.4-134-g9ad2aa8.tar.bz2