From 4090d7f718831bd12ecdab1fd5b54ef894428f39 Mon Sep 17 00:00:00 2001 From: asau Date: Sun, 17 Mar 2013 14:43:48 +0000 Subject: Update to OpenPA 1.0.4 Inter-process locking may be broken on NetBSD under some conditions. (This didn't get worse since previous package.) Field tests (benchmarks/skampi) don't reveal that the relevant code path is invoked. Major Changes in OpenPA v1.0.4 * native ARM (v7 and higher) support * numerous memory barrier placement improvements in queue and test code * x86 memory barrier improvements, including for Intel MIC * numerous build system improvements Major Changes in OpenPA v1.0.3 * Libtool shared library support for OPA, avoiding shared/static mixed linking problems on some platforms. * The build system should now work more portably with broken/exotic shells. * pkg-config support * Emulated atomics can now be detected by the presence of an OPA_EXPLICIT_EMULATION #define in opa_config.h. * PPC types are now correctly aligned to 8 bytes instead of 16 bytes. * many more tests for "make check", fixed missing memory barriers in one test --- parallel/openpa/Makefile | 6 ++++-- parallel/openpa/PLIST | 6 +++--- parallel/openpa/buildlink3.mk | 3 +-- parallel/openpa/distinfo | 9 +++++---- .../openpa/patches/patch-src_opa__primitives.c | 23 ++++++++++++++++++++++ 5 files changed, 36 insertions(+), 11 deletions(-) create mode 100644 parallel/openpa/patches/patch-src_opa__primitives.c (limited to 'parallel') diff --git a/parallel/openpa/Makefile b/parallel/openpa/Makefile index 36a493fd20e..8415789eb66 100644 --- a/parallel/openpa/Makefile +++ b/parallel/openpa/Makefile @@ -1,6 +1,6 @@ -# $NetBSD: Makefile,v 1.3 2012/09/11 20:36:18 asau Exp $ +# $NetBSD: Makefile,v 1.4 2013/03/17 14:43:48 asau Exp $ -DISTNAME= openpa-1.0.2 +DISTNAME= openpa-1.0.4 CATEGORIES= parallel MASTER_SITES= http://trac.mcs.anl.gov/projects/openpa/raw-attachment/wiki/Downloads/ @@ -8,7 +8,9 @@ MAINTAINER= asau@inbox.ru HOMEPAGE= http://trac.mcs.anl.gov/projects/openpa/ COMMENT= Atomic primitives for high performance software +USE_TOOLS= pkg-config GNU_CONFIGURE= yes +USE_LIBTOOL= yes TEST_TARGET= check .include "../../mk/bsd.pkg.mk" diff --git a/parallel/openpa/PLIST b/parallel/openpa/PLIST index fc0ead0cb08..3ecedc977d3 100644 --- a/parallel/openpa/PLIST +++ b/parallel/openpa/PLIST @@ -1,4 +1,4 @@ -@comment $NetBSD: PLIST,v 1.2 2009/12/11 03:58:37 asau Exp $ +@comment $NetBSD: PLIST,v 1.3 2013/03/17 14:43:48 asau Exp $ include/opa_config.h include/opa_primitives.h include/opa_queue.h @@ -17,5 +17,5 @@ include/primitives/opa_gcc_sicortex.h include/primitives/opa_nt_intrinsics.h include/primitives/opa_sun_atomic_ops.h include/primitives/opa_unsafe.h -lib/libopa.a -share/doc/openpa/README +lib/libopa.la +lib/pkgconfig/openpa.pc diff --git a/parallel/openpa/buildlink3.mk b/parallel/openpa/buildlink3.mk index ae97ac2716a..d3e08447a7d 100644 --- a/parallel/openpa/buildlink3.mk +++ b/parallel/openpa/buildlink3.mk @@ -1,4 +1,4 @@ -# $NetBSD: buildlink3.mk,v 1.1.1.1 2009/10/23 21:57:20 asau Exp $ +# $NetBSD: buildlink3.mk,v 1.2 2013/03/17 14:43:48 asau Exp $ BUILDLINK_TREE+= openpa @@ -7,7 +7,6 @@ OPENPA_BUILDLINK3_MK:= BUILDLINK_API_DEPENDS.openpa+= openpa>=1.0.1 BUILDLINK_PKGSRCDIR.openpa?= ../../parallel/openpa -BUILDLINK_DEPMETHOD.openpa?= build .endif # OPENPA_BUILDLINK3_MK BUILDLINK_TREE+= -openpa diff --git a/parallel/openpa/distinfo b/parallel/openpa/distinfo index bd37bb14d5d..881599b877f 100644 --- a/parallel/openpa/distinfo +++ b/parallel/openpa/distinfo @@ -1,5 +1,6 @@ -$NetBSD: distinfo,v 1.2 2009/12/11 03:58:37 asau Exp $ +$NetBSD: distinfo,v 1.3 2013/03/17 14:43:48 asau Exp $ -SHA1 (openpa-1.0.2.tar.gz) = bb632de1976a06baed3450b2306b1c1bb7695cb5 -RMD160 (openpa-1.0.2.tar.gz) = 016564a02a0559d75edc09e8ca5ce3bdcdca1228 -Size (openpa-1.0.2.tar.gz) = 126362 bytes +SHA1 (openpa-1.0.4.tar.gz) = 0c714376245a7bf0d5c885d129fb301e5431a3af +RMD160 (openpa-1.0.4.tar.gz) = f0a34b769be9d91db3ebb18ebbb828757748f142 +Size (openpa-1.0.4.tar.gz) = 378763 bytes +SHA1 (patch-src_opa__primitives.c) = 7a33197519270ef4ba2a922376b50ccc1a5eedfd diff --git a/parallel/openpa/patches/patch-src_opa__primitives.c b/parallel/openpa/patches/patch-src_opa__primitives.c new file mode 100644 index 00000000000..b028351dce4 --- /dev/null +++ b/parallel/openpa/patches/patch-src_opa__primitives.c @@ -0,0 +1,23 @@ +$NetBSD: patch-src_opa__primitives.c,v 1.1 2013/03/17 14:43:48 asau Exp $ + +--- src/opa_primitives.c.orig 2012-12-05 01:25:36.000000000 +0000 ++++ src/opa_primitives.c +@@ -14,6 +14,8 @@ + #include + #include + ++#include /* for _POSIX_THREAD_PROCESS_SHARED */ ++ + pthread_mutex_t *OPA_emulation_lock = NULL; + + int OPA_Interprocess_lock_init(OPA_emulation_ipl_t *shm_lock, int isLeader) +@@ -27,7 +29,9 @@ int OPA_Interprocess_lock_init(OPA_emula + * shared memory as well. This is required for some compilers + * (such as SUN Studio) that don't enable it by default. */ + if (pthread_mutexattr_init(&attr) || ++#ifdef _POSIX_THREAD_PROCESS_SHARED + pthread_mutexattr_setpshared(&attr, PTHREAD_PROCESS_SHARED) || ++#endif + pthread_mutex_init(OPA_emulation_lock, &attr)) + mpi_errno = 16; /* MPI_ERR_INTERN */ + } -- cgit v1.2.3