Releases: ivmai/libatomic_ops
7.2j
Changes
- Fix a typo in arm_v6.h
- Fix asm constraints of primitives in sunc/x86_64.h
- Fix gcc/sunc x86 AO_compare_double_and_swap_double missing side effect
- Fix library name in README details
- Fix size of local variable passed to cas[x] (gcc/sparc)
- Workaround assertion violation in AO_load/store on m68k
Build status
Travis CI build
AppVeyor CI build
Distribution Tarball
libatomic_ops-7.2j.tar.gz (see the Assets, md5: 2b27b696c4c5bd7e29bb62160edabbcc)
7.6.10
Changes
- 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
Build status
Travis CI build
AppVeyor CI build
Coveralls status (code coverage)
Distribution Tarball
libatomic_ops-7.6.10.tar.gz (see the Assets, md5: 90a78a84d9c28ce11f331c25289bfbd0)
7.4.14
Changes
- Fix 'AO_*_TS_T is not defined' compiler warnings (GCC-8)
Build status
Travis CI build
AppVeyor CI build
Distribution Tarball
libatomic_ops-7.4.14.tar.gz (see the Assets above, md5: 274e69f4a661b2139c5c5d1b76e35553)
7.6.8
Changes
- 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
Build status
Travis CI build
AppVeyor CI build
Coveralls status (code coverage)
Distribution Tarball
libatomic_ops-7.6.8.tar.gz (see the Assets above, md5: 99128f05e3e3f4e0cd39aa23f23bbe0c)
7.4.12
Changes
- COPYING: sync with FSF's gpl-2.0.txt
- Fix a typo in arm_v6.h
- Fix a typo in the overview section of README
- Support ILP32 in AArch64 assembly routines (GCC)
- Support UWP/arm64 target
Build status
Travis CI build
AppVeyor CI build
Distribution Tarball
libatomic_ops-7.4.12.tar.gz (see the Assets above, md5: de23547fde569e0b1a4e325acd753058)
7.6.6
Changes
- 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
Build status
Travis CI build
AppVeyor CI build
Coveralls status (code coverage)
Distribution Tarball
libatomic_ops-7.6.6.tar.gz (see the Assets above, md5: 4514d85d14e21af05d59877c9ded5abc)
7.6.4
Changes
- 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
Build status
Travis CI build
AppVeyor CI build
Coveralls status (code coverage)
Distribution Tarball
libatomic_ops-7.6.4.tar.gz (see the Assets above, md5: 493859ecc543ca52b96926df97b7907c)
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
Build status
Travis CI build
AppVeyor CI build
Coveralls status (code coverage)
Distribution Tarball
libatomic_ops-7.6.2.tar.gz (see the Assets above)
7.4.10
Changes
- Fix AO_malloc for sizes near CHUNK_SIZE
- Fix memory leak in test_malloc
- Fix typo in AO_REAL_NEXT_PTR comment
Build status
Travis CI build
AppVeyor CI build
Distribution Tarball
libatomic_ops-7.4.10.tar.gz (see the Assets above)
7.2i
Changes
- Fix 'missing select.h', 'undefined sigprocmask' compiler errors (Hexagon)
- Fix AO_malloc for sizes near CHUNK_SIZE
- Fix typo in AO_REAL_NEXT_PTR comment
Build status
Travis CI build
AppVeyor CI build
Distribution Tarball
libatomic_ops-7.2i.tar.gz (see the Assets above)