head 1.33; access; symbols pkgsrc-2026Q1:1.33.0.4 pkgsrc-2026Q1-base:1.33 pkgsrc-2025Q4:1.33.0.2 pkgsrc-2025Q4-base:1.33 pkgsrc-2025Q3:1.32.0.2 pkgsrc-2025Q3-base:1.32 pkgsrc-2025Q2:1.31.0.14 pkgsrc-2025Q2-base:1.31 pkgsrc-2025Q1:1.31.0.12 pkgsrc-2025Q1-base:1.31 pkgsrc-2024Q4:1.31.0.10 pkgsrc-2024Q4-base:1.31 pkgsrc-2024Q3:1.31.0.8 pkgsrc-2024Q3-base:1.31 pkgsrc-2024Q2:1.31.0.6 pkgsrc-2024Q2-base:1.31 pkgsrc-2024Q1:1.31.0.4 pkgsrc-2024Q1-base:1.31 pkgsrc-2023Q4:1.31.0.2 pkgsrc-2023Q4-base:1.31 pkgsrc-2023Q3:1.30.0.4 pkgsrc-2023Q3-base:1.30 pkgsrc-2023Q2:1.30.0.2 pkgsrc-2023Q2-base:1.30 pkgsrc-2023Q1:1.29.0.6 pkgsrc-2023Q1-base:1.29 pkgsrc-2022Q4:1.29.0.4 pkgsrc-2022Q4-base:1.29 pkgsrc-2022Q3:1.29.0.2 pkgsrc-2022Q3-base:1.29 pkgsrc-2022Q2:1.28.0.6 pkgsrc-2022Q2-base:1.28 pkgsrc-2022Q1:1.28.0.4 pkgsrc-2022Q1-base:1.28 pkgsrc-2021Q4:1.28.0.2 pkgsrc-2021Q4-base:1.28 pkgsrc-2021Q3:1.26.0.2 pkgsrc-2021Q3-base:1.26 pkgsrc-2021Q2:1.25.0.20 pkgsrc-2021Q2-base:1.25 pkgsrc-2021Q1:1.25.0.18 pkgsrc-2021Q1-base:1.25 pkgsrc-2020Q4:1.25.0.16 pkgsrc-2020Q4-base:1.25 pkgsrc-2020Q3:1.25.0.14 pkgsrc-2020Q3-base:1.25 pkgsrc-2020Q2:1.25.0.12 pkgsrc-2020Q2-base:1.25 pkgsrc-2020Q1:1.25.0.8 pkgsrc-2020Q1-base:1.25 pkgsrc-2019Q4:1.25.0.10 pkgsrc-2019Q4-base:1.25 pkgsrc-2019Q3:1.25.0.6 pkgsrc-2019Q3-base:1.25 pkgsrc-2019Q2:1.25.0.4 pkgsrc-2019Q2-base:1.25 pkgsrc-2019Q1:1.25.0.2 pkgsrc-2019Q1-base:1.25 pkgsrc-2018Q4:1.24.0.2 pkgsrc-2018Q4-base:1.24 pkgsrc-2018Q3:1.23.0.2 pkgsrc-2018Q3-base:1.23 pkgsrc-2018Q2:1.22.0.2 pkgsrc-2018Q2-base:1.22 pkgsrc-2018Q1:1.21.0.2 pkgsrc-2018Q1-base:1.21 pkgsrc-2017Q4:1.19.0.8 pkgsrc-2017Q4-base:1.19 pkgsrc-2017Q3:1.19.0.6 pkgsrc-2017Q3-base:1.19 pkgsrc-2017Q2:1.19.0.2 pkgsrc-2017Q2-base:1.19 pkgsrc-2017Q1:1.17.0.8 pkgsrc-2017Q1-base:1.17 pkgsrc-2016Q4:1.17.0.6 pkgsrc-2016Q4-base:1.17 pkgsrc-2016Q3:1.17.0.4 pkgsrc-2016Q3-base:1.17 pkgsrc-2016Q2:1.17.0.2 pkgsrc-2016Q2-base:1.17 pkgsrc-2016Q1:1.16.0.4 pkgsrc-2016Q1-base:1.16 pkgsrc-2015Q4:1.16.0.2 pkgsrc-2015Q4-base:1.16 pkgsrc-2015Q3:1.15.0.8 pkgsrc-2015Q3-base:1.15 pkgsrc-2015Q2:1.15.0.6 pkgsrc-2015Q2-base:1.15 pkgsrc-2015Q1:1.15.0.4 pkgsrc-2015Q1-base:1.15 pkgsrc-2014Q4:1.15.0.2 pkgsrc-2014Q4-base:1.15 pkgsrc-2014Q3:1.14.0.4 pkgsrc-2014Q3-base:1.14 pkgsrc-2014Q2:1.14.0.2 pkgsrc-2014Q2-base:1.14 pkgsrc-2014Q1:1.12.0.10 pkgsrc-2014Q1-base:1.12 pkgsrc-2013Q4:1.12.0.8 pkgsrc-2013Q4-base:1.12 pkgsrc-2013Q3:1.12.0.6 pkgsrc-2013Q3-base:1.12 pkgsrc-2013Q2:1.12.0.4 pkgsrc-2013Q2-base:1.12 pkgsrc-2013Q1:1.12.0.2 pkgsrc-2013Q1-base:1.12 pkgsrc-2012Q4:1.11.0.2 pkgsrc-2012Q4-base:1.11 pkgsrc-2012Q3:1.10.0.8 pkgsrc-2012Q3-base:1.10 pkgsrc-2012Q2:1.10.0.6 pkgsrc-2012Q2-base:1.10 pkgsrc-2012Q1:1.10.0.4 pkgsrc-2012Q1-base:1.10 pkgsrc-2011Q4:1.10.0.2 pkgsrc-2011Q4-base:1.10 pkgsrc-2011Q3:1.9.0.18 pkgsrc-2011Q3-base:1.9 pkgsrc-2011Q2:1.9.0.16 pkgsrc-2011Q2-base:1.9 pkgsrc-2011Q1:1.9.0.14 pkgsrc-2011Q1-base:1.9 pkgsrc-2010Q4:1.9.0.12 pkgsrc-2010Q4-base:1.9 pkgsrc-2010Q3:1.9.0.10 pkgsrc-2010Q3-base:1.9 pkgsrc-2010Q2:1.9.0.8 pkgsrc-2010Q2-base:1.9 pkgsrc-2010Q1:1.9.0.6 pkgsrc-2010Q1-base:1.9 pkgsrc-2009Q4:1.9.0.4 pkgsrc-2009Q4-base:1.9 pkgsrc-2009Q3:1.9.0.2 pkgsrc-2009Q3-base:1.9 pkgsrc-2009Q2:1.6.0.4 pkgsrc-2009Q2-base:1.6 pkgsrc-2009Q1:1.6.0.2 pkgsrc-2009Q1-base:1.6 pkgsrc-2008Q4:1.3.0.2 pkgsrc-2008Q4-base:1.3 pkgsrc-base:1.1.1.1 TNF:1.1.1; locks; strict; comment @# @; 1.33 date 2025.11.30.14.17.58; author wiz; state Exp; branches; next 1.32; commitid uSCCBKiRgaQjjAkG; 1.32 date 2025.09.06.04.51.46; author adam; state Exp; branches; next 1.31; commitid or2pTdEVhdbqUB9G; 1.31 date 2023.12.17.22.15.30; author wiz; state Exp; branches; next 1.30; commitid Kmra8OYbsIF4URQE; 1.30 date 2023.05.08.09.34.40; author wiz; state Exp; branches; next 1.29; commitid 7AQjDhz15UhsR8oE; 1.29 date 2022.09.09.15.41.03; author wiz; state Exp; branches; next 1.28; commitid AZxoyzjVtWasDcTD; 1.28 date 2021.10.26.10.15.14; author nia; state Exp; branches; next 1.27; commitid XMBRkrafc79x2jeD; 1.27 date 2021.10.07.13.40.08; author nia; state Exp; branches; next 1.26; commitid TK9Y8OXA04EYMSbD; 1.26 date 2021.09.14.08.29.08; author adam; state Exp; branches; next 1.25; commitid lrOxZDtvvaRCOT8D; 1.25 date 2019.03.02.14.51.53; author adam; state Exp; branches; next 1.24; commitid 5pUnRKUDVHgjJNdB; 1.24 date 2018.12.13.19.14.26; author adam; state Exp; branches; next 1.23; commitid J4zste8gewHRIF3B; 1.23 date 2018.08.16.10.13.30; author adam; state Exp; branches; next 1.22; commitid mgTbl9ITvxapykOA; 1.22 date 2018.04.17.05.30.30; author wiz; state Exp; branches; next 1.21; commitid 8CyInqNVbm9BSKyA; 1.21 date 2018.02.21.23.59.33; author maya; state Exp; branches; next 1.20; commitid f2OXR0O1J9yrMMrA; 1.20 date 2018.01.01.20.32.55; author adam; state Exp; branches; next 1.19; commitid EFqI3GDrEjYehdlA; 1.19 date 2017.05.29.12.55.10; author wiz; state Exp; branches; next 1.18; commitid O3O8JuqLzpGQIhTz; 1.18 date 2017.05.18.20.37.03; author adam; state Exp; branches; next 1.17; commitid OB6NQq0le7fcDURz; 1.17 date 2016.06.12.14.33.57; author wiz; state Exp; branches; next 1.16; commitid 8zWQYMfafBIcybaz; 1.16 date 2015.11.03.03.27.38; author agc; state Exp; branches; next 1.15; commitid XagoUgdES8g2ZAHy; 1.15 date 2014.11.09.08.32.17; author obache; state Exp; branches; next 1.14; commitid rCez2ZHFA1r4euXx; 1.14 date 2014.05.12.22.46.49; author pho; state Exp; branches; next 1.13; commitid i4uSveFKGTdyLiAx; 1.13 date 2014.04.16.11.21.32; author wiz; state Exp; branches; next 1.12; commitid teWXumMgnylCOTwx; 1.12 date 2013.01.25.11.25.50; author jperkin; state Exp; branches; next 1.11; 1.11 date 2012.12.28.14.38.59; author bsiegert; state Exp; branches; next 1.10; 1.10 date 2011.10.04.18.15.29; author bsiegert; state Exp; branches; next 1.9; 1.9 date 2009.08.01.21.25.03; author tnn; state Exp; branches; next 1.8; 1.8 date 2009.07.22.10.33.21; author tnn; state Exp; branches; next 1.7; 1.7 date 2009.07.21.09.45.12; author tnn; state Exp; branches; next 1.6; 1.6 date 2009.01.31.20.05.57; author sketch; state Exp; branches; next 1.5; 1.5 date 2009.01.27.20.26.01; author sketch; state Exp; branches; next 1.4; 1.4 date 2009.01.26.15.01.56; author sketch; state Exp; branches; next 1.3; 1.3 date 2008.12.22.02.46.52; author jmcneill; state Exp; branches; next 1.2; 1.2 date 2008.10.25.05.46.01; author bjs; state Exp; branches; next 1.1; 1.1 date 2008.10.25.00.32.23; author bjs; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2008.10.25.00.32.23; author bjs; state Exp; branches; next ; desc @@ 1.33 log @libatomic_ops: update to 7.10.0. == [7.10.0] 2025-11-28 == * Add comment that overflow of a counter in AO_stack_pop is impossible * Add missed copyright header to ibmc/powerpc.h * Adjust/reformat copyright header in armcc/arm_v6.h * Build tests by default in CMake script * Change AO_REAL_NEXT_PTR() to accept argument as reference only * Change static initializer of initial_heap_ptr and spin_dummy to zero * Consistently use '__sparc' predefined macro w/o trailing underscores * Define AO_N_BITS to a bigger value if pointer type is larger than size_t * Define AO_uintptr_t and use it in AO malloc and stack (refactoring) * Define functions and variables of tests as static (refactoring) * Discontinue support of configure '--enable-gcov' option * Do not define AO_GCC_FORCE_HAVE_CAS for modern clang and gcc for RISC-V * Eliminate 'can be declared as pointer to const' cppcheck FP in test_atomic * Eliminate 'condition is always true' cppcheck style warnings in test_atomic * Fix 'libtool library used but LIBTOOL is undefined' autoreconf error * Give verbose error message if multiple include test_and_set_t_is_*_t.h * Guard against direct include of internal headers from outside (refactoring) * Hide AO_initial_heap internal symbol * Implement AO_fetch_compare_and_swap_full for sunc/sparc * Minor text improvement in README_details.txt and README_malloc.txt * New macro (AO_NO_ASM_XCHG) to use Win32 InterlockedExchange * Prefix/suffix no_sanitize attribute with double underscore (refactoring) * Provide AO_INITIAL_HEAP_CHUNKS macro to control AO_initial_heap size * Provide char/short-width CAS for RISC-V w/o '-latomic' if gcc v14+ * Refine comment about AO_double_t size in standard_ao_double_t.h * Refine documentation when stack implementation is fully lock-free * Remove AO_stack_push/pop based on compare_and_swap_double * Rename CMake 'BUILD_SHARED_LIBS' option to 'AO_BUILD_SHARED_LIBS' * Replace CMake 'build_tests' option to standard 'BUILD_TESTING' one * Support RISC-V ILP32 ABI (rv64ilp32) * Support double-wide CAS on 64-bit RISC-V with Zacas extension * Support double-wide primitives on E2K (in 32- and 64-bit modes) * Support targets with double-wide pointers (CHERI, E2K protected mode) * Update autotools for release tar (ac-2.72, am-1.18.1, lt-2.5.4, m4-1.4.20) * Use AO_internal_ptr_t to operate link pointer inside AO stack and malloc * Use atomic_ops_sysdeps.S by configure on any SPARC with non-GCC compiler * Workaround 'memory leak in add_elements' cppcheck FP in test_stack @ text @$NetBSD: distinfo,v 1.32 2025/09/06 04:51:46 adam Exp $ BLAKE2s (libatomic_ops-7.10.0.tar.gz) = bf1cf59b792d075350873022e0ad2a2c4aafe74561990f37e5f404f112768931 SHA512 (libatomic_ops-7.10.0.tar.gz) = 22f6b5253b4756cce1687015849558c3391593b8298bddc8ef1a2c037847f633fe1291c013034b1f720dafd599787d545fba473325561179e9eb1bbcd24eee61 Size (libatomic_ops-7.10.0.tar.gz) = 543312 bytes SHA1 (patch-src_atomic__ops.h) = 244324fb2ecf738a9407c128fc33930eb81f26d8 @ 1.32 log @libatomic_ops: updated to 7.8.4 7.8.4 * Document Win32-specific AO_NO_ASM_XADD macro in README * Eliminate 'atomic_thread_fence is unsupported with tsan' gcc-11 warning * Eliminate 'munmap argument 1 from incompatible pointer type' gcc warning * Eliminate 'uninitialized memory use' gcc-13 warning in test_atomic * Fix all broken URLs in comments * Fix atomic_ops_sysdeps.S compilation for SunPro compiler in CMake script * Update URLs after repository transfer to bdwgc organization * Update CMake minimum required version to 3.10 @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.31 2023/12/17 22:15:30 wiz Exp $ d3 3 a5 3 BLAKE2s (libatomic_ops-7.8.4.tar.gz) = 867172c8f0fc7b99a9cd3d10c1c55cb5a60e4cefccd237984095e9eb45234b99 SHA512 (libatomic_ops-7.8.4.tar.gz) = 5f77a520cecc31fe9baf4d3a61beac79dba317e7b149464a945db3389c4a94b45fdb52f105d838409b1cbd64b5c3ae0e29acf81df5606a6f49ee8a366673091a Size (libatomic_ops-7.8.4.tar.gz) = 526632 bytes @ 1.31 log @libatomic_ops: update to 7.8.2. == [7.8.2] 2023-12-15 == * Eliminate 'atomic_thread_fence is unsupported with tsan' gcc-11 warning * Eliminate 'comparing signed/unsigned values' lcc warning in add_chunk_as * Fix 'undefined reference to AO_pt_lock' if configure is using clang-16 * Fix 'undefined reference to __atomic_load/store/cas_16' Mingw64-gcc error * Fix 'undefined reference' linker errors if shared build on OpenBSD (CMake) * Fix get_chunk for case of mmap area is located before AO_initial_heap * Fix typo in AO_HAVE_compare_and_swap_double name in atomic_ops_stack.h * Fix typo in comment of run_one_test of test_stack * Fix typos in comments of atomic_ops_malloc.c and atomic_ops_stack.c/h * Update cmake minimum required version to 3.5 @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.30 2023/05/08 09:34:40 wiz Exp $ d3 3 a5 3 BLAKE2s (libatomic_ops-7.8.2.tar.gz) = 6b2f4911982b413da8ba59d24a33120ba1201f0f712a0277890ea10c9a197bd7 SHA512 (libatomic_ops-7.8.2.tar.gz) = 0559087c99b941990f189ea4ed5b3b371faf086bc1d517da6b878ba609c200eef24358768fd4361900101cdb474e28cea8408eb0b0222d23ef3154ce77f6acc0 Size (libatomic_ops-7.8.2.tar.gz) = 524637 bytes @ 1.30 log @libatomic_ops: update to 7.8.0. == [7.8.0] 2023-03-26 == * Add AUTHORS file to the list of installed documentation * Add goal to Makefile.msft to build all tests but not execute them * Allocate marks[] dynamically and report all found errors in test_stack * Always export stack_init/push_release/pop_acquire from atomic_ops_gpl * Always use 'mfence' for nop_full if target CPU supports SSE2 (MS VC/x86) * Avoid 'cast increases required alignment' warnings in atomic_ops_malloc.c * Avoid breaking strict-aliasing rules in test_malloc and test_stack * Avoid code duplication in AO_stack_push_explicit_aux_release * Better document test_stack internals * Build atomic_ops.lib by Makefile.msft (MS VC) * Build test object and executable files in tests folder (MS VC) * Define AO_stack_t uniformly * Define double_compare_and_swap_full if MS VS 2017+ (x86) * Do not expose AO_REAL_HEAD/NEXT_PTR implementation in header by default * Document config macros in README_win32 and remove them from configure * Eliminate 'function is never used' cppcheck warning for AO_stack_init * Enforce most strict level of compiler warnings (MS VC) * Ensure atomic_ops.c global symbols are always declared as extern 'C' * Explicitly outline symbols exported in AO shared libraries with AO_API * Hide AO_free_list symbol * Implement AO_stack_init using memset * Implement AO_test_and_set using InterlockedExchange8 (MS VC) * Implement and/or/xor for AO_t, short and int types (MS VC) * Implement nf/acq/rel variants of primitives on Windows RT (MS VC) * Mention MIT near core library licensing terms in LICENSE file * Move all README_*.txt and license files to the top folder * Move all non-double intrinsic-based primitives to msftc/common32_defs.h * Move gcc-4/alpha workaround outside AO_stack_pop_explicit_aux_acquire * New AO_stack_is_lock_free API function * New configure option (--disable-gpl) to skip building of libatomic_ops_gpl * Print message of almost-lock-free implementation in test_stack if used * Refine LICENSE and README about code parts covered by MIT and GPL-2.0 * Refine copyright terms in GPL source files * Reformat atomic_ops_stack.c/h files * Remove 'lib' prefix for atomic_ops_gpl.lib in Makefile.msft * Remove redundant assert in AO_stack_pop_explicit_aux_acquire * Remove redundant cast to AO_t in lock-free AO_stack_pop_acquire * Rename LICENSING.txt to LICENSE file * Rename VERBOSE macro to VERBOSE_STACK in test_stack (refactoring) * Rename fetch_and_add to fetch_then_add in test_stack (refactoring) * Replace obsolete AC_HELP_STRING with AS_HELP_STRING in configure * Replace obsolete AC_TRY_COMPILE with AC_COMPILE_IFELSE in configure * Split test_stack main into several functions (refactoring) * Support Elbrus 2000 (gcc/e2k) * Support build with CMake * Support double-wide CAS on armv7+ and UWP/arm64 (MS VC) * Support test_atomic with MS build w/o the need to run GNU make first * Use GCC atomic intrinsics for SPARC * Use builtin_expect in AO_stack_push_explicit_aux_release @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.29 2022/09/09 15:41:03 wiz Exp $ d3 3 a5 3 BLAKE2s (libatomic_ops-7.8.0.tar.gz) = 32bd02d8f9dfb21cbf7b27a57a1d6f5fc28672687822bc94596e84ccbd74006e SHA512 (libatomic_ops-7.8.0.tar.gz) = b0d2b3c6f8672d599e05087688e7793a3c648c1728f48b27bffecc95b70afd5921ed36ec016985b2e22b82de7b7013bf5ebbb8b434a736d3fd680310b7af903d Size (libatomic_ops-7.8.0.tar.gz) = 526300 bytes @ 1.29 log @libatomic_ops: update to 7.6.14. == [7.6.14] 2022-08-25 == * Add note to README that AO malloc code has same license as AO stack * Adjust/reformat content of LICENSING.txt * Avoid AO_stack_t to cross CPU cache line boundary * Do not assume 'ordered except earlier write' for UWP/arm64 * Do not name GCC intrinsics as C11 ones in ChangeLog and configure * Eliminate '-pedantic is not option that controls warnings' GCC-6.3 message * Ensure result of AO_test_and_set is always AO_TS_CLEAR or AO_TS_SET * Fix 'AO_malloc redefinition' MS VC warning caused by attributes mismatch * Fix 'use of undeclared SIG_BLOCK' Clang error if -std=c89 on Cygwin * Fix AO_compare_and_swap_full asm code for clang on sparc * Fix a typo in comment of AO_stack_push_explicit_aux_release * Fix code indentation in main() of test_stack.c * Refine AO_UNIPROCESSOR macro description in configure * Remove outdated comment about unsupported Win64 in atomic_ops_stack.h * Repeat black list check on CAS fail in stack_push_explicit_aux_release @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.28 2021/10/26 10:15:14 nia Exp $ d3 3 a5 3 BLAKE2s (libatomic_ops-7.6.14.tar.gz) = a2a50d04cdd165526412f8d90fe6b611ad434abf6b1dd2cfa1e7bcb97bd69824 SHA512 (libatomic_ops-7.6.14.tar.gz) = da83886b4d766da64b27672eede40bd5787523a4c308ac7bd3f03ac831ae1a141ba21e5f5ada27bfcf811b9fb04d8a519331ea2573af036f8791958668dad851 Size (libatomic_ops-7.6.14.tar.gz) = 500006 bytes @ 1.28 log @archivers: Replace RMD160 checksums with BLAKE2s checksums All checksums have been double-checked against existing RMD160 and SHA512 hashes Could not be committed due to merge conflict: devel/py-traitlets/distinfo The following distfiles were unfetchable (note: some may be only fetched conditionally): ./devel/pvs/distinfo pvs-3.2-solaris.tgz ./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.27 2021/10/07 13:40:08 nia Exp $ d3 3 a5 3 BLAKE2s (libatomic_ops-7.6.12.tar.gz) = a9579aa5230d344e9c7065675c7f16a664efee4963ebda1c7cc894691b728071 SHA512 (libatomic_ops-7.6.12.tar.gz) = bbf98a38a80c8fe6b7eab773967edc55b8d48be32b36ed827fb835ee3dcd96d5ec1dc97149714e015e93a0a5b9fc03595797663fdb5a0f673869ea8bfe640df5 Size (libatomic_ops-7.6.12.tar.gz) = 506313 bytes @ 1.27 log @devel: Remove SHA1 hashes for distfiles @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.26 2021/09/14 08:29:08 adam Exp $ d3 1 a3 1 RMD160 (libatomic_ops-7.6.12.tar.gz) = ef5062122d8ec712256c0a91a10c394af5a70b7a @ 1.26 log @libatomic_ops: updated to 7.6.12 Changes 7.6.12 Allow to generalize bool-CAS for sparc (gcc) Declare argument of AO_load_next with const in atomic_ops_stack Describe double_compare_and_swap operation in README_details Document CAS operations better in README_details Fix gcc/sunc x86 AO_compare_double_and_swap_double missing side effect Fix library name in README_details Fix link fail caused by missing GCC char/short atomic primitives on riscv64 Fix size of local variable passed to cas[x] (gcc/sparc) Implement fetch-CAS for sparc (gcc) Refactor gcc x86 memory constraints Refine and reformat description of size prefix in README_details Remove outdated notes in README_details Replace x86 setz instruction by asm flag output operand (gcc) Support MSYS host (configure) Turn off compare_double_and_swap_double_full PIC hack for GCC 5+ (x86) Update README_win32 to match Makefile.msft Use GCC atomic intrinsics for s390x (clang 8.0+ and gcc 5.4+) Use __alignof__ instead of sizeof in atomic variable alignment assertions Workaround assertion violation in AO_load/store on m68k @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.25 2019/03/02 14:51:53 adam Exp $ a2 1 SHA1 (libatomic_ops-7.6.12.tar.gz) = 8d4c69e8b2ed098ce4e056170fd96fc590c2b885 @ 1.25 log @libatomic_ops: updated to 7.6.10 7.6.10: * Eliminate 'my_chunk_ptr-AO_initial_heap out of bounds' cppcheck warning * Fix 'AO_*_TS_T is not defined' compiler warnings (GCC-8) * Fix 'duplicate symbol' error for test_malloc/stack with static libs (OS X) * Workaround 'argument to function assert is always 1' cppcheck warnings @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.24 2018/12/13 19:14:26 adam Exp $ d3 4 a6 4 SHA1 (libatomic_ops-7.6.10.tar.gz) = ad1c9cd6cc22e042a784e34baa360874083e5f60 RMD160 (libatomic_ops-7.6.10.tar.gz) = b5258c1fcbce5d91d66b9bb3046a74e04cda79a5 SHA512 (libatomic_ops-7.6.10.tar.gz) = 4661445503ef4303e873559af319ad799a7eddad3df45ad602cf338c594a642ad4333a36fa91722f0d8c48acd38bbf45c60a468c7375d14824520a83c1109ec9 Size (libatomic_ops-7.6.10.tar.gz) = 503734 bytes @ 1.24 log @libatomic_ops: updated to 7.6.8 Changes 7.6.8: Eliminate 'casting signed to bigger unsigned int' CSA warning (test_stack) Eliminate 'redundant blank line at start/end of block' CodeFactor warning Fix 'Cannot implement CAS_full on this architecture' build error (nios2) Fix a typo in arm_v6.h Support aarch64-ilp32 (GCC) and UWP/arm64 (MS VC) targets Undefine AO_ARM_HAVE_* private macros after their usage Use standalone private macro to guard against AO_GCC_BARRIER redefinition Workaround 'condition my_chunk_ptr is always false' cppcheck false positive @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.23 2018/08/16 10:13:30 adam Exp $ d3 5 a7 5 SHA1 (libatomic_ops-7.6.8.tar.gz) = 628fe98e9e1703c64028454bdfed022f18659aff RMD160 (libatomic_ops-7.6.8.tar.gz) = d7d11e48a2917364ca416567248f15c77644aab8 SHA512 (libatomic_ops-7.6.8.tar.gz) = bc448fadcf8e2936fa933a5872d5550ecdff04b0df27120d3182dcbb2147a6594ec6bfc5b214e21b37ffa1b5100c1c56d301ba9cae7df26cee5e6b999dcda14c Size (libatomic_ops-7.6.8.tar.gz) = 503550 bytes SHA1 (patch-ad) = b5db1656821058aae2ec81c20ffc4c0740049314 @ 1.23 log @libatomic_ops: updated to 7.6.6 7.6.6: COPYING: sync with FSF's gpl-2.0.txt Fix 'undefined reference to __atomic_load/store/cas_16' error (gcc-7/x64) Fix a typo in the overview section of README Fix comments style in configure.ac and Makefile.am Update copyright information in README and some header files @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.22 2018/04/17 05:30:30 wiz Exp $ d3 4 a6 4 SHA1 (libatomic_ops-7.6.6.tar.gz) = 89a320bc94860fc63069615a0a7ee6f38eee9b70 RMD160 (libatomic_ops-7.6.6.tar.gz) = cd88fb23ddf3913c687be98c0570185a1abc9cdd SHA512 (libatomic_ops-7.6.6.tar.gz) = ea6e4e2f8f369f5af18435a6ab8ee18c28832c367d24875cccc5e743761109036894260b4296feec5e269a74934df24a90f0fc4868937e1f36605fca082fbde8 Size (libatomic_ops-7.6.6.tar.gz) = 498187 bytes @ 1.22 log @libatomic_ops: update to 7.6.4. == [7.6.4] 2018-03-27 == * Add RISC-V support * Convert atomic_ops_malloc.c and tests to valid C++ code * Eliminate 'function is never used' cppcheck warning for load_before_cas * Eliminate 'using argument that points at uninitialized var' cppcheck error * Fix 'AO_pt_lock undefined' error if cross-compiling manually (MinGW) * Fix public headers inclusion from clients C++ code * Remove gcc/nios2.h file (include gcc/generic.h directly for nios2) * Support MIPS rel6 @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.21 2018/02/21 23:59:33 maya Exp $ d3 4 a6 4 SHA1 (libatomic_ops-7.6.4.tar.gz) = 84b0afa2ae9341bf8fe8fba566f7721f1f32bb32 RMD160 (libatomic_ops-7.6.4.tar.gz) = 74a4f7657d62da095d09f50e8291928f5ec8a43b SHA512 (libatomic_ops-7.6.4.tar.gz) = 2e6ef0bfd4b77e9260383feb2865c96388fb1ebed9d37605eeb83ac87e3b6a565495d588808129ac7b3ee5f6a58a37440da7784b680cc6590842b09c2625983b Size (libatomic_ops-7.6.4.tar.gz) = 497571 bytes @ 1.21 log @libatomic-ops: check if AO_AO_TS_T is defined before using it PR pkg/53046: x11/libdrm doesn't compile on GNU/Linux @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.20 2018/01/01 20:32:55 adam Exp $ d3 4 a6 4 SHA1 (libatomic_ops-7.6.2.tar.gz) = ebed1891250cc8e2c952b88fc07e1db2a213f7e2 RMD160 (libatomic_ops-7.6.2.tar.gz) = 8764acd6d84488bbc79f5239037ccc3d4a59f2e2 SHA512 (libatomic_ops-7.6.2.tar.gz) = 9149c9328ec22ab80469892b40c135f20b6cf6edff63b8de6f16ab0b209f40d1420ad012a40c80009dfb4cdc826feb72fa826d6abf61211516aabcf463c17fe4 Size (libatomic_ops-7.6.2.tar.gz) = 496917 bytes @ 1.20 log @libatomic_ops: updated to 7.6.2 Changes: Allow to alter DEFAULT/MAX_NTHREADS values in test_malloc/stack Allow to select almost-non-blocking stack implementation explicitly Annotate AO_malloc with 'alloc_size' and 'malloc' attributes Avoid misleading 'AO_t undefined' error if wrong atomic_ops.h included Define AO_TS_SET to 1 (true) if GCC atomic_test_and_set is used Disable workaround in stack_pop_acquire that was needed for ancient Clang Do not define AO_GCC_FORCE_HAVE_CAS for Clang 3.8+ (Aarch64) Do not disallow to define double_load using built-in atomics (Aarch64) Do not expose AO_GCC_FORCE_HAVE_CAS macro to client code (GCC) Do not install documentation if configure --disable-docs (new option) Do not produce .tar.bz2 distribution file (configure) Eliminate '-pedantic is not an option that controls warnings' GCC message Eliminate data race in cons() of test_malloc Eliminate GCC-5 ASan global-buffer-overflow false positive for AO_stack_bl Fill in allocated memory with values depending on thread id (test_malloc) Fix 'bad register name %sil' assembler error (GCC-4.4/x86) Fix 'unknown attribute no_sanitize' compiler warning for GCC Fix AO_malloc for sizes near CHUNK_SIZE Fix memory leak in test_malloc Fix test failures for Clang-3.8 and older (Aarch64) Fix test_stack failure if AO_PREFER_BUILTIN_ATOMICS (GCC/Aarch64) Fix typo in AO_REAL_NEXT_PTR comment Increase the default number of threads to 16 in test_malloc/stack Mark unallocated/freed memory as inaccessible using ASan functionality New macro (DONT_USE_MMAP) to support testing as if mmap() is unavailable New macro to select stack implementation based on CAS-double Place no_sanitize attributes in a GCC-compliant way Prevent too long run of test_atomic_generalized (especially with TSan) Simplify '#if' expressions in gcc/x86.h (code refactoring) Test smallest allocation of large type (test_malloc) Use __builtin_expect in atomic_ops_malloc Use built-in atomics for load/store/CAS for Clang by default (Aarch64) Use double-word atomic intrinsics for recent Clang versions (gcc/x86.h) Use GCC atomic intrinsics for Hexagon (clang 3.9+) Use generalized double-wide load/store if AO_PREFER_GENERALIZED (Aarch64) Workaround 'unused result' code defects in atomic_ops.c, list_atomic Workaround Thread Sanitizer (TSan) false positive warnings Also, includes 7.4.8 changes @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.19 2017/05/29 12:55:10 wiz Exp $ d7 1 a7 1 SHA1 (patch-ad) = 6fb90f31ca7309c8ea65fb482a9964c5267c35fe @ 1.19 log @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 @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.18 2017/05/18 20:37:03 adam Exp $ d3 4 a6 4 SHA1 (libatomic_ops-7.6.0.tar.gz) = b7236a3c3d6f3e5da69fe0c7b9508eb814a09825 RMD160 (libatomic_ops-7.6.0.tar.gz) = 2500519f00de1e1197eb3d57f3858702b07c13d8 SHA512 (libatomic_ops-7.6.0.tar.gz) = 58f1f1df94ff33bda5833af2e3a6a4af120ccfc0cec0fb15e2db24341e2ffd5a6436169cb4e7dbd96a6cb0431c1295dc4b5270d4b01806e470bacadc902720fc Size (libatomic_ops-7.6.0.tar.gz) = 493177 bytes @ 1.18 log @== [7.4.6] 2017-05-18 == * Add assertion that double-wide CAS target is aligned (msftc/x86[_64]) * Add configure --enable-gcov option (enable code coverage analysis) * Code refactoring of gcc/powerpc.h to avoid code duplication * Eliminate 'cast to long from void*' compiler warning in test_atomic * Eliminate 'implicit declaration of close' warning in 'strict ANSI' mode * Eliminate 'missing braces around initializer' gcc warning (hppa) * Eliminate 'printf format specifies type void*' GCC pedantic warnings * Eliminate 'value shift followed by expansion' false code defect warning * Enable limited testing in Makefile.msft without Cygwin * Fix (delete) comment for AO_and_full (x86) * Fix block_all_signals compilation in 'strict ANSI' mode * Fix missing .exe for test filenames in Makefile (MinGW) * Fix missing printed value names (test_stack) * Implement fetch-CAS for s390[x] (gcc) * Move libraries version info to the beginning of Makefile.am * Refine documentation in Makefile.msft how to run all tests (MS VC) * Refine README about library downloading * Rename doc/README.txt to doc/README_details.txt * Support AIX/ppc (gcc) * Support CFLAGS_EXTRA to pass extra user-defined compiler flags (make) * Support n32 ABI for mips64 * Update shared libraries version info for 7.4.6+ (to 1:4:0) * Use 'inline code' format for commands in README.md * Use LLD and SCD instructions on mips64 * Workaround 'resource leak' false positives in AO_malloc, add_elements * Workaround 'uninitialized memory use' MemorySanitizer warning (test_atomic) Also, includes 7.2h changes @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.17 2016/06/12 14:33:57 wiz Exp $ d3 5 a7 5 SHA1 (libatomic_ops-7.4.6.tar.gz) = 0630cbe0c808f9d0e643e333143af9a69ac32828 RMD160 (libatomic_ops-7.4.6.tar.gz) = 8b207d008eb4e6deec314b919892b76f2cd6d4d5 SHA512 (libatomic_ops-7.4.6.tar.gz) = 29c6f937aa5d21343741aa0661aaf33ec9196b7784b7165d40dd87ce7bf8a7691f5ba94040663f078465ded1935ca01bb829a4b56b190f9db63cc141515d9819 Size (libatomic_ops-7.4.6.tar.gz) = 479437 bytes SHA1 (patch-ad) = 01b30be4d320a88bd8690e65bcd243d224c3146b @ 1.17 log @Updated libatomic_ops to 7.4.4. == [7.4.4] 2016-05-24 == * Eliminate 'signed-to-unsigned value extension' compiler warning in malloc. * Eliminate 'variable set but not used' Cppcheck warnings in test_stack. * Fix GCC 5.x compatibility for AArch64 double-wide primitives. * Fix makefile preventing AO_pause undefined in libatomic_ops_gpl. * Fix missing casts to match printf format specifier in test_atomic. * Fix missing output folder on making auto-generated test files (Automake). * Fix typo in configure.ac (in description of AO_ASM_X64_AVAILABLE). * Minor fix of code alignment in mips AO_compare_and_swap. * Remove TODO file. * Restore contribution info in ChangeLog for authors not listed in git log. Also, includes 7.2g changes. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.16 2015/11/03 03:27:38 agc Exp $ d3 4 a6 4 SHA1 (libatomic_ops-7.4.4.tar.gz) = 426af02f1bb8b91979fa8794e9e0b29e2be1e47e RMD160 (libatomic_ops-7.4.4.tar.gz) = 91184c76745fde354e7bbd57d4385fc519dbc4bf SHA512 (libatomic_ops-7.4.4.tar.gz) = 11369ed1097ae34c756b157ce41b8ca21f325e05659d363a9a50fcb7177ddaa2cefb26b594d02858a6f98df50515e8f13d469b1580ce61a462713fe34cd82dca Size (libatomic_ops-7.4.4.tar.gz) = 480094 bytes @ 1.16 log @Add SHA512 digests for distfiles for devel category Issues found with existing distfiles: distfiles/eclipse-sourceBuild-srcIncluded-3.0.1.zip distfiles/fortran-utils-1.1.tar.gz distfiles/ivykis-0.39.tar.gz distfiles/enum-1.11.tar.gz distfiles/pvs-3.2-libraries.tgz distfiles/pvs-3.2-linux.tgz distfiles/pvs-3.2-solaris.tgz distfiles/pvs-3.2-system.tgz No changes made to these distinfo files. Otherwise, existing SHA1 digests verified and found to be the same on the machine holding the existing distfiles (morden). All existing SHA1 digests retained for now as an audit trail. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.15 2014/11/09 08:32:17 obache Exp $ d3 4 a6 4 SHA1 (libatomic_ops-7.4.2.tar.gz) = 57cd7c64e37fca300bd7b24e3d2f14129b25b376 RMD160 (libatomic_ops-7.4.2.tar.gz) = 1ab2c9f15f8766caf1481b82a6db52167950d95b SHA512 (libatomic_ops-7.4.2.tar.gz) = 3a431e038db2961612bd22ba632a60618a72a62bb724a1e603adf670711ea389d9e0b6233017b1394d8ebf8b372dc250fc6958f026df225911b901179ea24e6b Size (libatomic_ops-7.4.2.tar.gz) = 465710 bytes a7 2 SHA1 (patch-src_Makefile.am) = 0640a45507facfd28cfc56c87652268e65e96ada SHA1 (patch-src_Makefile.in) = 678fe902dbf44911a04e0df680a8919c20750363 @ 1.15 log @Update libatomic_ops to 7.4.2. == [7.4.2] 2014-05-02 == * Fix a typo in doc/README.txt (remove redundant "an" article). * Update emails/links due to project site transition. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.14 2014/05/12 22:46:49 pho Exp $ d5 1 @ 1.14 log @Fix build failure at least on Darwin: atomic_ops_stack.c refers to AO_pause defined in atomic_ops.c so either removing -no-undefined or declaring the dependency is needed. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.13 2014/04/16 11:21:32 wiz Exp $ d3 3 a5 3 SHA1 (libatomic_ops-7.4.0.tar.gz) = 3397c2b2a02be3c27af6ed603332e81464447653 RMD160 (libatomic_ops-7.4.0.tar.gz) = 30c4e30587cdd93260a53683a5ac3013375c7348 Size (libatomic_ops-7.4.0.tar.gz) = 455143 bytes d8 1 @ 1.13 log @Update to 7.4.0. == [7.4.0] 2013-11-17 == * Add and/or/xor entries to list_atomic (tests). * Add char/short/int/AO_double_t and dd_acquire cases to list_atomic (tests). * Add compile-time assertion for size of 'standard' AO_double_t. * Add double_store pthread-based implementation and tests. * Add generalized CAS primitives of char/short/int size. * Add generalized atomic and/or/xor operations for char/short/int types. * Add generalized fetch_and_add_acquire/release (for ARMv6+). * Add generic implementation of double_load primitives. * Add information about AO_ASSUME_VISTA to README_win32. * Add internal header containing only char/short/int/AO_t atomic loads. * Add load/store primitives generalization based on CAS. * Add lock-based implementation of char/short/int_fetch_compare_and_swap. * Add makefile rule to test list_atomic.template syntax (tests). * Add missing 'const' in aligned-atomic XSIZE_load implementation. * Add missing double_compare_and_swap to generalization. * Add missing generalization of no-barrier CAS in template. * Add negative double-CAS test cases to test_atomic_include (tests). * Add test_stack to Makefile.msft (tests). * Adjust fprintf arguments type matching specifier in test_stack (tests). * Adjust included filenames in atomic_ops_malloc and test_stack. * Adjust quotes in echo command of Makefile.msft (Win32). * Always use 'mfence' for nop_full if target CPU supports SSE2 (gcc/x86). * Better document configure THREADDLLIBS variable. * Cast away volatile on dereference in CAS-based generalization primitives. * Change policy regarding version numbers ("micro" part instead of "alpha"). * Convert README to Markdown format. * Define AO_NO_PTHREADS in configure if no pthreads (Win32 and VxWorks). * Define AO_int_X operations for ARM and avr32. * Define double-wide ordered loads/stores for x86. * Define int_and/or/xor primitives in ao_t_is_int header. * Define nop_full as compiler barrier for pre-ARMv6 single-core case. * Do not duplicate BUILT_SOURCES entries in nobase_private_HEADERS (Makefile). * Do not include standard_ao_double_t.h where double-CAS is unimplemented. * Do not report absence of meaningless nop, load and store in test_atomic. * Do not use deprecated AO_T and AO_TS_T (tests). * Eliminate 'missing initializer' warning for AO_stack_t value initializer. * Eliminate 64-bit compiler warnings in atomic_ops_malloc. * Eliminate arithmetic shifts in double-CAS (gcc/arm, msftc/x86). * Eliminate warning for fetch_and_add argument in test_atomic_include (tests). * Enable Makefile.msft for Win64. * Enable build using toolchain without pthreads. * Enable double_compare_and_swap for non-cpp code (msftc/x86.h). * Enable generalization of all variants of CAS via fetch_compare_and_swap. * Enable test_stack for pthreads-w32 and Win32 with native threads. * Fix generalized AO_char/short_compare_and_swap args (missing 'unsigned'). * Fix makefile sed rule for list_atomic (tests). * Fix missing abort() usage in atomic_ops_malloc and tests on WinCE. * Generalize compare_double_and_swap_double using double_compare_and_swap. * Generalize double_load/store for x86_64 (GCC). * Generate ao_t_is_int, 'loadstore' headers from templates. * Generate generalized AO_t load/store/fetch_and_add primitives from template. * Generate ordered_loads/stores_only headers from templates. * Group all X_acquire_release_volatile.h and X_[aligned_]atomic_load_store.h. * Implement and/or/xor, AO_double_load for ARM. * Implement atomic store using direct write by default on ARMv6+. * Implement char/short/int-wide primitives using GCC built-in atomic/sync. * Implement char/short/int_fetch_and_add for msftc/x86[_64] (Win32). * Implement char/short_fetch_and_add, char/short_load for ARMv6+ (GCC). * Implement char/short_store primitives at aligned addresses for ARM. * Implement compare_double_and_swap_double for SunCC/x86. * Implement double_load/store based on guaranteed x86 access atomicity. * Implement double_store for ARMv7 using LDREXD/STREXD. * Implement load/store via simple LDR/STR for ARMv6+ (msftc). * Implement nop_full/write using 'dmb' instruction if available (gcc/arm). * Improve debug printing in test_stack (tests). * Log messages to stdout instead of stderr (tests). * Make AO_ASSUME_VISTA also enables Win98 code in msftc/x86.h (Win32). * Minimize gcc/generic-arithm template by factoring out barriers. * Move 'unsigned' keyword to XCTYPE in generalize-small template. * Move default compiler options to CFLAGS in Makefile.msft (Win32). * Move definitions of ordered loads/stores to inner separate headers. * Move gcc-generic AO_t-wide primitives to generic-small/arithm headers. * Move generalized arithmetical primitives to 'generalize-arithm' template. * Optimize AO_spin manually to minimize compiler influence on its duration. * Parameterize list_atomic template with XSIZE (tests). * Perform only few list reversals in test_malloc if AO based on pthreads. * Put autogen.sh to 'dist' package (Automake). * Remote duplicate definition of test_and_set_acquire in generalize.h. * Remove X_aligned_atomic_load_store headers and template. * Remove duplicate AO_spin and AO_pause definition in atomic_ops_stack. * Remove gcc/x86_64.h eliminating code duplication of gcc/x86.h. * Remove nested AO_USE_PTHREAD_DEFS macro check in atomic_ops.h (gcc/arm). * Remove redundant 'cc' clobber for LDREXD instruction (gcc/arm). * Remove store_full from msftc/arm.h in favor of generalized primitive. * Remove sunc/x86_64.h eliminating code duplication of sunc/x86.h. * Remove unsafe emulation-based implementation of double CAS (SunCC/x86_64). * Remove useless 'perror' call in run_parallel.h (tests). * Reorder AO_double_t union elements for AO_DOUBLE_T_INITIALIZER portability. * Replace atomic_load_store.template with atomic_load and atomic_store ones. * Replace some FIXME items with TODO in atomic_ops.c and sysdeps headers. * Specify fetch_and_add/sub1 result as unused in test_atomic (tests). * Support AArch64 (64-bit ARM) target (GCC). * Support ARMv8 target (gcc/arm). * Test double_compare_and_swap in test_atomic (tests). * Use AO_ prefix for internal functions in arm_v6.h, hppa.h. * Use __atomic GCC built-in to implement generic double-wide CAS. * Use built-in __sync CAS for double-CAS if AO_USE_SYNC_CAS_BUILTIN for x86. * Workaround GCC 4.4.3 warning reported for 'val' of list_atomic.c (tests). == [7.3alpha2] 2012-05-11 == * Add '-no-undefined' to LDFLAGS in src/Makefile.am. * Add AO_and, AO_xor atomic operations. * Add AO_fetch_compare_and_swap primitives. * Add and fill in AUTHORS, TODO files. * Add autogen.sh file. * Adjust AO_..._H macros in public headers. * Code refactoring of gcc/arm.h by introducing AO_ARM_HAVE_x macros. * Define AO macros for libatomic_ops version identification. * Do not define NDEBUG if '--enable-assertions' passed to configure. * Eliminate compiler warnings in various functions and macros. * Generalize AO_compare_and_swap primitives via AO_fetch_compare_and_swap. * Generalize acquire/release/full CAS primitives for MIPS * Implement fetch_and_add, test_and_set primitives for MIPS. * Improve Makefile for MS VC++; pass '-W3' option to MS compiler. * Include ao_t_is_int.h from atomic_ops.h after first generalization pass * Merge all Makefile.am files in src tree. * Minor code refactoring of atomic_ops.c, generic_pthread.h. * Minor configure build improvements (e.g., ensure proper autoconf version). * Place only major per-release changes description to ChangeLog (this file). * Recognize AO_PREFER_GENERALIZED macro to favor generalization over assembly. * Remove all auto-generated files except for generalize-small.h from the repo. * Remove duplicate doc/COPYING and empty NEWS files. * Replace atomic_ops_malloc static mmap-related empty functions with macros. * Replace pointer relational comparisons with non-pointer ones. * Require autoconf 2.61 instead of v2.64. * Show extra compiler warnings (GCC only). * Turn off AO primitives inlining if AO_NO_INLINE defined. * Use __builtin_expect in CAS failure loop condition checks (GCC only). == [7.2e] 2013-11-10 == * Fix (remove) invalid include of read_ordered.h for ARM. * Fix AM_CONFIG_HEADER in configure for autoconf-2.69-1. * Fix AO_pause sleep delay for particular argument values (Win32). * Fix ARMv7 LDREXD/STREXD double-wide operand specification (GCC/Clang). * Fix LDREXD/STREXD use for pre-Clang3.3/arm. * Fix README regarding _acquire_read barrier. * Fix XSIZE_load/store definition order in generalize-small template. * Fix asm constraint of CAS memory operand for gcc/alpha, clang-3.1/mips. * Fix asm constraints of primitives in sunc/x86.h. * Fix cmpxchg16b-based compare_double_and_swap_double for SunCC/x86_64. * Fix compare_double_and_swap_double and double_ptr_storage for gcc/x32. * Fix compare_double_and_swap_double for clang3.0/x86 in PIC mode. * Fix compare_double_and_swap_double_full definition condition in emul_cas. * Fix generalize-small template adding missed CAS-based fetch_and_add. * Fix generalized fetch_and_add function. * Fix missing compiler barrier in nop_full for uniprocessor ARM. * Fix ordered_except_wr header inclusion for s390. * Fix return type of AO_int_X primitives defined in ao_t_is_int header. * Fix return type of char/short/int_load_read() in read_ordered.h. * Fix template-based headers regeneration order in src/Makefile. * Fix typos in ao_t_is_int, atomic_ops.h, generalize.h, msftc/arm.h comments. * Fix variable type to match printf format specifier in test_stack. * Fix visibility and initial value of 'dummy' variable in atomic_ops_stack. * Terminate tests with abort after error reported. == [7.2d] 2012-08-09 == * Fix AO_compare_double_and_swap_double_full for gcc-4.2.1/x86 in PIC mode. * Fix AO_compiler_barrier missing parentheses. * Fix missing 'unsigned' for generalized AO_char/short_fetch_and_add result. == [7.2] 2012-05-11 == * Add atomic_ops.pc.in and atomic_ops-uninstalled.pc.in to pkgconfig folder. * Define and use AO_PTRDIFF_T in tests for casts between pointer and integer. * Fix AO_compare_and_swap return type for s390 and PowerPC. * Fix AO_compare_double_and_swap_double_full for gcc/x86 (PIC mode). * Fix AO_stack_push_release to workaround bug in clang-1.1/x86 compiler. * Fix AO_test_and_setXX in tests/list_atomic.template. * Fix AO_test_and_set_full (gcc/x86[_64].h) to work-around a bug in LLVM v2.7. * Fix AO_test_and_set_full on m68k. * Fix __ARM_ARCH_5__ macro handling for Android NDK (ARMv7). * Fix configure for Cygwin, mingw-w64/32. * Fix configure to define __PIC__ macro explicitly if needed (GCC). * Fix double_ptr_storage definition for GCC pre-v4 (x86_64). * Fix for x32 by removing 'q' suffix in x86-64 instructions. * Fix generalization for IA-64 (regarding AO_or, AO_..._read/write primitives) * Fix generalized AO__fetch_and_add() return type. * Fix test_atomic_include for the case of missing CAS primitive. * Fix test_malloc - allocate less memory in case of missing mmap. * Implement the basic atomic primitives for the hexagon CPU. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.12 2013/01/25 11:25:50 jperkin Exp $ d7 1 @ 1.12 log @automake-1.13 compatability. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.11 2012/12/28 14:38:59 bsiegert Exp $ d3 4 a6 6 SHA1 (libatomic_ops-20110807.tar.gz) = 9cd093513991856b90a2e82e205525dccb3ad52a RMD160 (libatomic_ops-20110807.tar.gz) = ffc834193d51806a890b55de8525c00913878c14 Size (libatomic_ops-20110807.tar.gz) = 239002 bytes SHA1 (patch-ab) = 82366e5ee296ea94e3f495f4962dedc42ea7e7b8 SHA1 (patch-ac) = 50159e7a17ee9df8f9f290c49e959a8d8cc4290f SHA1 (patch-ad) = 3c48f40099f7e23e7575c284679537740c0e2f6a @ 1.11 log @Always define __PIC__ on MirBSD, fixes compilation. No-op on other platforms. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.10 2011/10/04 18:15:29 bsiegert Exp $ d7 1 a7 1 SHA1 (patch-ac) = c084f3b7f2310b4aa3ebfa71a5f44eef27157410 @ 1.10 log @Import libatomic_ops from wip, copy distfile to ftp.netbsd.org. Fixes build on Mac OS X, thus fixing PR pkg/45377. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.9 2009/08/01 21:25:03 tnn Exp $ d7 1 a7 1 SHA1 (patch-ac) = 29564426dcf009571d75efde31f1b499e1585a6c @ 1.9 log @fix another sloppy Makefile that attempted to install the same file twice @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.8 2009/07/22 10:33:21 tnn Exp $ d3 6 a8 9 SHA1 (libatomic_ops-20081024.tar.gz) = 70dcc68c89ea8ce8b8e6c936ea337eca31f13662 RMD160 (libatomic_ops-20081024.tar.gz) = a9194631fafc2d4ce68cea93dbc212d7212cab13 Size (libatomic_ops-20081024.tar.gz) = 193399 bytes SHA1 (patch-aa) = bf53ad892ba270b1d7a9bd1fa14012ca83ab5323 SHA1 (patch-ab) = 74674124fff34faf2aae0d694566c66ffaf9df25 SHA1 (patch-ac) = 40eeac276e322ea6f28743c183c11e92b1ab8de5 SHA1 (patch-ad) = 1499b105450beba70efdd3cc6bf8dd0270734c22 SHA1 (patch-ae) = 6a35e29c32b8e16da9ed9e5526851d5a0ff47fd4 SHA1 (patch-af) = f960ab05b17d9819d3bc383b66d3d7e990bd7e8f @ 1.8 log @uses autoreconf, so need to patch Makefile.am instead of Makefile.in @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.7 2009/07/21 09:45:12 tnn Exp $ d11 1 @ 1.7 log @don't attempt to install the same headers twice. Should fix Linux build. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.6 2009/01/31 20:05:57 sketch Exp $ d10 1 a10 1 SHA1 (patch-ae) = 3107fe75794f4c12ad8b9cee0c4a8dd00dcd123e @ 1.6 log @Sun Studio x86 implementation isn't quite good enough yet for e.g. pulseaudio, so instead use the generic pthread implementation for now. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.5 2009/01/27 20:26:01 sketch Exp $ d10 1 @ 1.5 log @Forgot to install the sunc/x86.h header in previous. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.4 2009/01/26 15:01:56 sketch Exp $ d9 1 a9 3 SHA1 (patch-ad) = 5952b7a292a381b00b8e101bdf48452555a5a660 SHA1 (patch-ae) = 5fe403a33d8b49e0ac3f21aaa65ea42d5e656251 SHA1 (patch-af) = ffd2b0ea6f0b36efaa8872d08e3d004eb8b944aa @ 1.4 log @Rudimentary support for Sun Studio on x86. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.3 2008/12/22 02:46:52 jmcneill Exp $ d11 1 @ 1.3 log @libtoolize libatomic_ops so it builds shared libraries, bump PKGREVISION @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.2 2008/10/25 05:46:01 bjs Exp $ d9 2 @ 1.2 log @Fix distinfo. @ text @d1 1 a1 1 $NetBSD$ d7 2 @ 1.1 log @Initial revision @ text @d3 3 a5 3 SHA1 (libatomic_ops-20081024.tar.gz) = 5180706e5f337738550b9782e175fd61937a81d6 RMD160 (libatomic_ops-20081024.tar.gz) = 7c313b975d61632aa72594a9d060c66f7ed5afc5 Size (libatomic_ops-20081024.tar.gz) = 193424 bytes @ 1.1.1.1 log @Import libatomic_ops-20081024 (version 1.2) The latest code is only found in the boehm-gc CVS repository (see Makefile.version for information). I had to take this from there, as there were bug fixes. This library was imported primarily for the [hopefully] upcoming audio/pulseaudio package. TODO: Add support for NetBSD atomic ops? This package provides semi-portable access to hardware provided atomic memory operations. These might allow you to write code: - That does more interesting things in signal handlers. - Makes more effective use of multiprocessors by allowing you to write clever lock-free code. Note that such code is very difficult to get right, and will unavoidably be less portable than lock-based code. It ia also not always faster than lock-based code. But it may occasionally be a large performance win. - To experiment with new and much better thread programming paradigms, etc. As the latest code for this library is only available via CVS, this package provides a snapshot. @ text @@