Skip to content

Releases: ivmai/libatomic_ops

7.2j

13 Sep 08:06
Compare
Choose a tag to compare

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

01 Mar 17:01
Compare
Choose a tag to compare

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

01 Mar 15:26
Compare
Choose a tag to compare

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

11 Dec 08:53
Compare
Choose a tag to compare

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

10 Dec 22:51
Compare
Choose a tag to compare

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

07 Aug 07:35
Compare
Choose a tag to compare

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

27 Mar 09:08
Compare
Choose a tag to compare

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

24 Dec 08:32
Compare
Choose a tag to compare

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

22 Dec 16:57
Compare
Choose a tag to compare

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

21 Dec 18:18
Compare
Choose a tag to compare

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)