Mon May 29 12:55:10 2017 UTC ()
Updated libatomic_ops to 7.6.0.

== [7.6.0] 2017-05-19 ==

* Add *_and/or/xor* and *_[fetch_]compare_and_swap* tests to test_atomic
* Add asm-based and/or/xor implementation for char/short/int (gcc/x86)
* Add asm-based char/short/int CAS implementation for gcc/x86[_64]
* Add configure '--disable-atomic-intrinsics' option
* Add dd_acquire_read case to test_atomic
* Add initial nios2 architecture support
* Add Makefile target (check-nolink) to compile all source without linking
* Add Makefile target to run all tests without test-driver
* Add test_atomic_generalized to Makefile and Makefile.msft
* Allow alternate CC (CROSS_CC) for AC_TRY_COMPILE (configure)
* Always define word-wide CAS for x86 (MS VC++ 8+)
* Avoid atomic_compare_exchange_n if no __GCC_HAVE_SYNC_COMPARE_AND_SWAP_n
* Avoid extra nop_full in stack_pop_acquire if atomic intrinsics used (x86)
* Basic support of TILE-Gx and TILEPro CPUs
* Code refactoring of int-wide primitives in gcc/x86.h
* Define AO_TS_SET as __GCC_ATOMIC_TEST_AND_SET_TRUEVAL if applicable
* Define CLANG/GNUC_PREREQ macros to check gcc/clang minimum version
* Do not define print_list() unless used (tests)
* Eliminate 'condition sizeof(long)>4 is always true' cppcheck style warning
* Eliminate 'ISO C90 does not support long long' compiler pedantic warning
* Eliminate 'scope of variable can be reduced' cppcheck warnings
* Eliminate redundant lwsync 2nd call in CAS_full on fail (gcc/PowerPC)
* Fix 'unknown attribute no_sanitize' compiler warning (clang prior to v3.8)
* Fix 'variable new value is never used' cppcheck style warning
* Fix missing double_compare_and_swap_dd_acquire_read
* Fix reporting about missing and/or/xor_dd_acquire_read (test_atomic)
* Hide AO_locks symbol
* Implement AO_CLEAR using C11 atomic intrinsic (GCC)
* Implement CAS_acquire/release/full using __atomic_compare_exchange_n (gcc)
* Implement char and/or/xor and short CAS for msftc ARM and X86[_64]
* Implement char CAS and char/short add for msftc X86[_64] (VS 2013+)
* Implement compiler_barrier using C11 __atomic_signal_fence (GCC)
* Implement int CAS/inc/dec for msftc/x86_64
* Implement short inc/dec directly for msftc ARM and X86[_64]
* Initial ibmc/powerpc (xlc) support
* New configure option (--enable-werror) to treat warnings as compiler errors
* New macro AO_PREFER_BUILTIN_ATOMICS to rely on C11 atomics fully (AArch64)
* Refine AO_nop_write comment for ARM big.LITTLE architecture
* Refine configure messages when checking for compiler options
* Refine documentation about _full memory ordering suffix
* Refine README how to build the library source from the repository
* Relax shareability domain for dmb st in AO_nop_write (ARM/AArch64)
* Remove redundant include windows.h from headers (msftc/x86[_64])
* Remove spaces at EOLn in asm code
* Report gcc/clang pedantic warnings (configure)
* Support NaCl/arm
* Suppress 'ISO C does not support __int128 type' GCC/Clang pedantic warning
* Test store/CAS emulation explicitly
* Update shared libraries version info to 2:0:1
* Use GCC atomic intrinsics for PowerPC 32/64 (GCC 4.8+ and clang 3.8+)
* Use GCC atomic intrinsics for x86, x64, ARM, MIPS (gcc 4.9+, clang 3.5+)
* Use generalized double-wide load/store if AO_PREFER_GENERALIZED (gcc/x86)
* Workaround '#error' cppcheck error messages
* Workaround 'condition always true', 'unused stored value' cppcheck warnings
* Workaround 'function is never used' cppcheck style warnings
* Workaround 'obsolescent ftime called' cppcheck style warning (POSIX)
* Workaround 'overflow in pointer subtraction' cppcheck warning
* Workaround 'shifting 32-bit value by 32 bits undefined' cppcheck warning
* Workaround 'uninitialized memory use' code analyzer false warning (tests)
* Workaround 'uninitialized variable' cppcheck error in hpc/hppa.h
* Workaround 'value of macro is unknown' cppcheck information messages
* Workaround a bug in double-wide intrinsics of Clang/x64 with ASan enabled
* Workaround MSan warning about uninitialized data read by generalized store


(wiz)
diff -r1.12 -r1.13 pkgsrc/devel/libatomic_ops/Makefile
diff -r1.8 -r1.9 pkgsrc/devel/libatomic_ops/PLIST
diff -r1.18 -r1.19 pkgsrc/devel/libatomic_ops/distinfo
diff -r1.4 -r1.5 pkgsrc/devel/libatomic_ops/patches/patch-ad

cvs diff -r1.12 -r1.13 pkgsrc/devel/libatomic_ops/Makefile (expand / switch to unified diff)

--- pkgsrc/devel/libatomic_ops/Makefile 2017/05/18 20:37:03 1.12
+++ pkgsrc/devel/libatomic_ops/Makefile 2017/05/29 12:55:10 1.13
@@ -1,16 +1,16 @@ @@ -1,16 +1,16 @@
1# $NetBSD: Makefile,v 1.12 2017/05/18 20:37:03 adam Exp $ 1# $NetBSD: Makefile,v 1.13 2017/05/29 12:55:10 wiz Exp $
2 2
3DISTNAME= libatomic_ops-7.4.6 3DISTNAME= libatomic_ops-7.6.0
4CATEGORIES= devel 4CATEGORIES= devel
5MASTER_SITES= ${MASTER_SITE_GITHUB:=ivmai/} 5MASTER_SITES= ${MASTER_SITE_GITHUB:=ivmai/}
6 6
7MAINTAINER= pkgsrc-users@NetBSD.org 7MAINTAINER= pkgsrc-users@NetBSD.org
8HOMEPAGE= https://github.com/ivmai/libatomic_ops 8HOMEPAGE= https://github.com/ivmai/libatomic_ops
9COMMENT= Multi-platform library of atomic operations by Hans Boehm 9COMMENT= Multi-platform library of atomic operations by Hans Boehm
10LICENSE= gnu-gpl-v2 10LICENSE= gnu-gpl-v2
11 11
12GITHUB_PROJECT= libatomic_ops 12GITHUB_PROJECT= libatomic_ops
13GITHUB_RELEASE= v${PKGVERSION_NOREV} 13GITHUB_RELEASE= v${PKGVERSION_NOREV}
14 14
15USE_LANGUAGES+= c 15USE_LANGUAGES+= c
16USE_LIBTOOL= yes 16USE_LIBTOOL= yes

cvs diff -r1.8 -r1.9 pkgsrc/devel/libatomic_ops/PLIST (expand / switch to unified diff)

--- pkgsrc/devel/libatomic_ops/PLIST 2017/05/18 20:37:03 1.8
+++ pkgsrc/devel/libatomic_ops/PLIST 2017/05/29 12:55:10 1.9
@@ -1,43 +1,45 @@ @@ -1,43 +1,45 @@
1@comment $NetBSD: PLIST,v 1.8 2017/05/18 20:37:03 adam Exp $ 1@comment $NetBSD: PLIST,v 1.9 2017/05/29 12:55:10 wiz Exp $
2include/atomic_ops.h 2include/atomic_ops.h
3include/atomic_ops/ao_version.h 3include/atomic_ops/ao_version.h
4include/atomic_ops/generalize-arithm.h 4include/atomic_ops/generalize-arithm.h
5include/atomic_ops/generalize-small.h 5include/atomic_ops/generalize-small.h
6include/atomic_ops/generalize.h 6include/atomic_ops/generalize.h
7include/atomic_ops/sysdeps/all_acquire_release_volatile.h 7include/atomic_ops/sysdeps/all_acquire_release_volatile.h
8include/atomic_ops/sysdeps/all_aligned_atomic_load_store.h 8include/atomic_ops/sysdeps/all_aligned_atomic_load_store.h
9include/atomic_ops/sysdeps/all_atomic_load_store.h 9include/atomic_ops/sysdeps/all_atomic_load_store.h
10include/atomic_ops/sysdeps/all_atomic_only_load.h 10include/atomic_ops/sysdeps/all_atomic_only_load.h
11include/atomic_ops/sysdeps/ao_t_is_int.h 11include/atomic_ops/sysdeps/ao_t_is_int.h
12include/atomic_ops/sysdeps/armcc/arm_v6.h 12include/atomic_ops/sysdeps/armcc/arm_v6.h
13include/atomic_ops/sysdeps/emul_cas.h 13include/atomic_ops/sysdeps/emul_cas.h
14include/atomic_ops/sysdeps/gcc/aarch64.h 14include/atomic_ops/sysdeps/gcc/aarch64.h
15include/atomic_ops/sysdeps/gcc/alpha.h 15include/atomic_ops/sysdeps/gcc/alpha.h
16include/atomic_ops/sysdeps/gcc/arm.h 16include/atomic_ops/sysdeps/gcc/arm.h
17include/atomic_ops/sysdeps/gcc/avr32.h 17include/atomic_ops/sysdeps/gcc/avr32.h
18include/atomic_ops/sysdeps/gcc/cris.h 18include/atomic_ops/sysdeps/gcc/cris.h
19include/atomic_ops/sysdeps/gcc/generic-arithm.h 19include/atomic_ops/sysdeps/gcc/generic-arithm.h
20include/atomic_ops/sysdeps/gcc/generic-small.h 20include/atomic_ops/sysdeps/gcc/generic-small.h
21include/atomic_ops/sysdeps/gcc/generic.h 21include/atomic_ops/sysdeps/gcc/generic.h
22include/atomic_ops/sysdeps/gcc/hexagon.h 22include/atomic_ops/sysdeps/gcc/hexagon.h
23include/atomic_ops/sysdeps/gcc/hppa.h 23include/atomic_ops/sysdeps/gcc/hppa.h
24include/atomic_ops/sysdeps/gcc/ia64.h 24include/atomic_ops/sysdeps/gcc/ia64.h
25include/atomic_ops/sysdeps/gcc/m68k.h 25include/atomic_ops/sysdeps/gcc/m68k.h
26include/atomic_ops/sysdeps/gcc/mips.h 26include/atomic_ops/sysdeps/gcc/mips.h
 27include/atomic_ops/sysdeps/gcc/nios2.h
27include/atomic_ops/sysdeps/gcc/powerpc.h 28include/atomic_ops/sysdeps/gcc/powerpc.h
28include/atomic_ops/sysdeps/gcc/s390.h 29include/atomic_ops/sysdeps/gcc/s390.h
29include/atomic_ops/sysdeps/gcc/sh.h 30include/atomic_ops/sysdeps/gcc/sh.h
30include/atomic_ops/sysdeps/gcc/sparc.h 31include/atomic_ops/sysdeps/gcc/sparc.h
 32include/atomic_ops/sysdeps/gcc/tile.h
31include/atomic_ops/sysdeps/gcc/x86.h 33include/atomic_ops/sysdeps/gcc/x86.h
32include/atomic_ops/sysdeps/generic_pthread.h 34include/atomic_ops/sysdeps/generic_pthread.h
33include/atomic_ops/sysdeps/hpc/hppa.h 35include/atomic_ops/sysdeps/hpc/hppa.h
34include/atomic_ops/sysdeps/hpc/ia64.h 36include/atomic_ops/sysdeps/hpc/ia64.h
35include/atomic_ops/sysdeps/ibmc/powerpc.h 37include/atomic_ops/sysdeps/ibmc/powerpc.h
36include/atomic_ops/sysdeps/icc/ia64.h 38include/atomic_ops/sysdeps/icc/ia64.h
37include/atomic_ops/sysdeps/loadstore/acquire_release_volatile.h 39include/atomic_ops/sysdeps/loadstore/acquire_release_volatile.h
38include/atomic_ops/sysdeps/loadstore/atomic_load.h 40include/atomic_ops/sysdeps/loadstore/atomic_load.h
39include/atomic_ops/sysdeps/loadstore/atomic_store.h 41include/atomic_ops/sysdeps/loadstore/atomic_store.h
40include/atomic_ops/sysdeps/loadstore/char_acquire_release_volatile.h 42include/atomic_ops/sysdeps/loadstore/char_acquire_release_volatile.h
41include/atomic_ops/sysdeps/loadstore/char_atomic_load.h 43include/atomic_ops/sysdeps/loadstore/char_atomic_load.h
42include/atomic_ops/sysdeps/loadstore/char_atomic_store.h 44include/atomic_ops/sysdeps/loadstore/char_atomic_store.h
43include/atomic_ops/sysdeps/loadstore/double_atomic_load_store.h 45include/atomic_ops/sysdeps/loadstore/double_atomic_load_store.h

cvs diff -r1.18 -r1.19 pkgsrc/devel/libatomic_ops/distinfo (expand / switch to unified diff)

--- pkgsrc/devel/libatomic_ops/distinfo 2017/05/18 20:37:03 1.18
+++ pkgsrc/devel/libatomic_ops/distinfo 2017/05/29 12:55:10 1.19
@@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
1$NetBSD: distinfo,v 1.18 2017/05/18 20:37:03 adam Exp $ 1$NetBSD: distinfo,v 1.19 2017/05/29 12:55:10 wiz Exp $
2 2
3SHA1 (libatomic_ops-7.4.6.tar.gz) = 0630cbe0c808f9d0e643e333143af9a69ac32828 3SHA1 (libatomic_ops-7.6.0.tar.gz) = b7236a3c3d6f3e5da69fe0c7b9508eb814a09825
4RMD160 (libatomic_ops-7.4.6.tar.gz) = 8b207d008eb4e6deec314b919892b76f2cd6d4d5 4RMD160 (libatomic_ops-7.6.0.tar.gz) = 2500519f00de1e1197eb3d57f3858702b07c13d8
5SHA512 (libatomic_ops-7.4.6.tar.gz) = 29c6f937aa5d21343741aa0661aaf33ec9196b7784b7165d40dd87ce7bf8a7691f5ba94040663f078465ded1935ca01bb829a4b56b190f9db63cc141515d9819 5SHA512 (libatomic_ops-7.6.0.tar.gz) = 58f1f1df94ff33bda5833af2e3a6a4af120ccfc0cec0fb15e2db24341e2ffd5a6436169cb4e7dbd96a6cb0431c1295dc4b5270d4b01806e470bacadc902720fc
6Size (libatomic_ops-7.4.6.tar.gz) = 479437 bytes 6Size (libatomic_ops-7.6.0.tar.gz) = 493177 bytes
7SHA1 (patch-ad) = 01b30be4d320a88bd8690e65bcd243d224c3146b 7SHA1 (patch-ad) = 6fb90f31ca7309c8ea65fb482a9964c5267c35fe

cvs diff -r1.4 -r1.5 pkgsrc/devel/libatomic_ops/patches/Attic/patch-ad (expand / switch to unified diff)

--- pkgsrc/devel/libatomic_ops/patches/Attic/patch-ad 2014/04/16 11:21:32 1.4
+++ pkgsrc/devel/libatomic_ops/patches/Attic/patch-ad 2017/05/29 12:55:10 1.5
@@ -1,14 +1,19 @@ @@ -1,14 +1,19 @@
1$NetBSD: patch-ad,v 1.4 2014/04/16 11:21:32 wiz Exp $ 1$NetBSD: patch-ad,v 1.5 2017/05/29 12:55:10 wiz Exp $
 2
 3revision 1.2
 4date: 2009-01-31 21:05:57 +0100; author: sketch; state: Exp; lines: +2 -2;
 5Sun Studio x86 implementation isn't quite good enough yet for e.g.
 6pulseaudio, so instead use the generic pthread implementation for now.
2 7
3--- src/atomic_ops.h.orig 2013-11-10 09:57:12.000000000 +0000 8--- src/atomic_ops.h.orig 2013-11-10 09:57:12.000000000 +0000
4+++ src/atomic_ops.h 9+++ src/atomic_ops.h
5@@ -351,7 +351,10 @@ 10@@ -351,7 +351,10 @@
6 # endif 11 # endif
7 #endif 12 #endif
8  13
9-#if !defined(__GNUC__) && (defined(sparc) || defined(__sparc)) \ 14-#if !defined(__GNUC__) && (defined(sparc) || defined(__sparc)) \
10+#if defined(__SUNPRO_C) && defined(__i386) 15+#if defined(__SUNPRO_C) && defined(__i386)
11+# include "atomic_ops/sysdeps/generic_pthread.h" 16+# include "atomic_ops/sysdeps/generic_pthread.h"
12+# define AO_CAN_EMUL_CAS 17+# define AO_CAN_EMUL_CAS
13+#elif !defined(__GNUC__) && (defined(sparc) || defined(__sparc)) \ 18+#elif !defined(__GNUC__) && (defined(sparc) || defined(__sparc)) \
14 && !defined(AO_USE_PTHREAD_DEFS) 19 && !defined(AO_USE_PTHREAD_DEFS)