]> granicus.if.org Git - libatomic_ops/log
libatomic_ops
10 years ago[7.2f] libatomic_ops-7_2f
Ivan Maidanski [Fri, 2 May 2014 15:12:50 +0000 (19:12 +0400)]
[7.2f]

Bump version to 7.2f in README; update ChangeLog

10 years agoRegenerate configure files by new automake (v1.14.1), libtool (v2.4.2.418)
Ivan Maidanski [Fri, 2 May 2014 14:47:26 +0000 (18:47 +0400)]
Regenerate configure files by new automake (v1.14.1), libtool (v2.4.2.418)

* configure: Regenerate (by autoreconf -vif using autoconf-2.69,
automake-1.14.1 and libtool-2.4.2.418).
* INSTALL: Likewise.
* Makefile.in: Likewise.
* aclocal.m4: Likewise.
* config.guess: Likewise.
* config.sub: Likewise.
* doc/Makefile.in: Likewise.
* missing: Likewise.
* src/Makefile.in: Likewise.
* src/atomic_ops/Makefile.in: Likewise.
* src/atomic_ops/sysdeps/Makefile.in: Likewise.
* src/config.h.in: Likewise.
* test-driver: Likewise.
* tests/Makefile.in: Likewise.

10 years agoUpdate ChangeLog
Ivan Maidanski [Fri, 2 May 2014 06:24:35 +0000 (10:24 +0400)]
Update ChangeLog

10 years agoRemoved unnecessary "an"
Jan-Erik Rediger [Fri, 28 Mar 2014 13:12:31 +0000 (14:12 +0100)]
Removed unnecessary "an"

10 years ago[7.2e] libatomic_ops-7_2e
Ivan Maidanski [Sun, 10 Nov 2013 08:23:38 +0000 (12:23 +0400)]
[7.2e]

Bump version to 7.2e in README; update ChangeLog

10 years ago.gitignore: Ignore test*.log, test*.trs
Ivan Maidanski [Sat, 31 Aug 2013 07:16:19 +0000 (11:16 +0400)]
.gitignore: Ignore test*.log, test*.trs

10 years agoRegenerate configure files by autoconf-2.69, automake-1.13.4
Ivan Maidanski [Sat, 31 Aug 2013 07:00:25 +0000 (11:00 +0400)]
Regenerate configure files by autoconf-2.69, automake-1.13.4

* configure: Regenerate (by autoreconf -vif using autoconf-2.69,
automake-1.13.4 and libtool-2.4.2).
* INSTALL: Likewise.
* Makefile.in: Likewise.
* aclocal.m4: Likewise.
* compile: Likewise.
* config.guess: Likewise.
* config.sub: Likewise.
* depcomp: Likewise.
* doc/Makefile.in: Likewise.
* install-sh: Likewise.
* missing: Likewise.
* mkinstalldirs: Likewise.
* src/Makefile.in: Likewise.
* src/atomic_ops/Makefile.in: Likewise.
* src/atomic_ops/sysdeps/Makefile.in: Likewise.
* tests/Makefile.in: Likewise.
* test-driver: New generated file.

10 years agoRegenerate aclocal.m4; update ChangeLog
Ivan Maidanski [Sun, 18 Aug 2013 09:04:57 +0000 (13:04 +0400)]
Regenerate aclocal.m4; update ChangeLog

10 years agoFix: Do not use LDREXD/STREXD for Clang3.2/arm (and earlier)
Ivan Maidanski [Sat, 17 Aug 2013 11:05:36 +0000 (15:05 +0400)]
Fix: Do not use LDREXD/STREXD for Clang3.2/arm (and earlier)
(Apply commit 2daf685 from 'master' branch.)

* src/atomic_ops/sysdeps/gcc/arm.h
(AO_compare_double_and_swap_double): Do not define for
pre-Clang3.3 (since the latter does not allocate register pairs for
LDREXD/STREXD instructions properly); add comment.

Conflicts:

    src/atomic_ops/sysdeps/gcc/arm.h

10 years agoFix ARM double-CAS operands width (GCC/Clang)
Ivan Maidanski [Sat, 17 Aug 2013 09:58:59 +0000 (13:58 +0400)]
Fix ARM double-CAS operands width (GCC/Clang)
(Apply commit a81940c from 'master' branch.)

* src/atomic_ops/sysdeps/gcc/arm.h (AO_double_compare_and_swap): Swap
assembly code operands ("new_val" and "addr") to prevent
Clang3.3 warning about operand truncation.

Conflicts:

    src/atomic_ops/sysdeps/gcc/arm.h

10 years agoFix ARMv7 LDREXD/STREXD double-wide operand specification (GCC/Clang)
Ivan Maidanski [Sat, 17 Aug 2013 07:48:59 +0000 (11:48 +0400)]
Fix ARMv7 LDREXD/STREXD double-wide operand specification (GCC/Clang)
(Apply commit db2eef2 from 'master' branch.)

* src/atomic_ops/sysdeps/gcc/arm.h
(AO_double_compare_and_swap): Specify that LDREXD and STREXD use 2
adjacent registers (thus preventing Clang3.3 from register allocation
failures leading to "registers may not be the same" or
"even register required" GAS errors).

Conflicts:

    src/atomic_ops/sysdeps/gcc/arm.h

10 years agoFix typo in comment of generalize-small.template
Ivan Maidanski [Mon, 29 Jul 2013 21:18:38 +0000 (01:18 +0400)]
Fix typo in comment of generalize-small.template
(Apply commit 22d7c97 from 'master' branch.)

* src/atomic_ops/generalize.h: Fix a typo in comment
("acquire").

Conflicts:

    src/atomic_ops/generalize-arithm.h
    src/atomic_ops/generalize-arithm.template

10 years agoFix AM_CONFIG_HEADER in configure for autoconf-2.69-1
Manuel Serrano [Wed, 3 Apr 2013 03:58:27 +0000 (07:58 +0400)]
Fix AM_CONFIG_HEADER in configure for autoconf-2.69-1

* configure.ac (AM_CONFIG_HEADER): Replace obsolete macro with with
AC_CONFIG_HEADERS one.

11 years agoUpdate ChangeLog
Ivan Maidanski [Fri, 29 Mar 2013 04:53:22 +0000 (08:53 +0400)]
Update ChangeLog

11 years agoFix generalized fetch_and_add function
Ivan Maidanski [Fri, 29 Mar 2013 04:50:51 +0000 (08:50 +0400)]
Fix generalized fetch_and_add function

* src/atomic_ops/generalize-small.template (AO_XSIZE_fetch_and_add):
Do not use AO_EXPECT_FALSE (since defined only in v7.3+).
* src/atomic_ops/generalize-small.h: Regenerate.

11 years agoFix asm constraints of primitives in sunc/x86.h
Ivan Maidanski [Fri, 29 Mar 2013 03:31:06 +0000 (07:31 +0400)]
Fix asm constraints of primitives in sunc/x86.h
(Apply commit 31df7fa from 'master' branch.)

* src/atomic_ops/sysdeps/sunc/x86.h (AO_fetch_and_add_full,
AO_char_fetch_and_add_full, AO_short_fetch_and_add_full, AO_or_full,
AO_test_and_set_full,
AO_compare_and_swap_full): Use "+m" asm constraint for *addr instead
of "=m" (because the value pointed by addr is read and written by the
code).

Conflicts:

    src/atomic_ops/sysdeps/sunc/x86.h

11 years agoFix asm constraint of CAS memory operand for gcc/alpha
Ivan Maidanski [Wed, 13 Mar 2013 18:46:24 +0000 (22:46 +0400)]
Fix asm constraint of CAS memory operand for gcc/alpha

* src/atomic_ops/sysdeps/gcc/alpha.h (AO_compare_and_swap): Use "+m"
asm constraint for *addr instead of "=m" (because the value pointed by
addr is read and written by the code).

11 years agoFix asm constraint of compare_and_swap for clang-3.1/mips
Ivan Maidanski [Tue, 12 Mar 2013 18:29:33 +0000 (22:29 +0400)]
Fix asm constraint of compare_and_swap for clang-3.1/mips
(Apply commit 3e4c369 from 'master' branch.)

* src/atomic_ops/sysdeps/gcc/mips.h (AO_compare_and_swap): Use "+m"
asm constraint for *addr instead of "+R" (the letter is unsupported
by clang3.1 resulting in "invalid output constraint in asm" error).

Conflicts:

    src/atomic_ops/sysdeps/gcc/mips.h

11 years agoUpdate ChangeLog
Ivan Maidanski [Mon, 25 Feb 2013 15:06:22 +0000 (19:06 +0400)]
Update ChangeLog

11 years agoFix (remove) invalid include of read_ordered.h for ARM
Ivan Maidanski [Thu, 14 Feb 2013 10:08:47 +0000 (14:08 +0400)]
Fix (remove) invalid include of read_ordered.h for ARM
(fix commit 2df9c1e partially)

* src/atomic_ops/sysdeps/gcc/arm.h: Do not include read_ordered.h
(because load_acquire should contain a DMB instruction in a multi-core
case, new load_acquire/read primitives implementation is generalized
using nop_full/read which either contain a DMB instruction, or is just
a compiler barrier for uniprocessor).
* src/atomic_ops/sysdeps/armcc/arm_v6.h: Likewise.
* src/atomic_ops/sysdeps/msftc/arm.h: Likewise.

11 years agoRevert "Fix read_ordered.h inclusion for ARM"
Ivan Maidanski [Mon, 25 Feb 2013 15:00:03 +0000 (19:00 +0400)]
Revert "Fix read_ordered.h inclusion for ARM"
(because it makes load_acquire/read incorrect for multi-core ARM)

This reverts commit 53f2152e00d4bf7d395f9de408c71ee2aa9a9bc4.

11 years agoUpdate ChangeLog
Ivan Maidanski [Sat, 2 Feb 2013 11:20:12 +0000 (15:20 +0400)]
Update ChangeLog

11 years agoFix README regarding _acquire_read barrier
Ivan Maidanski [Mon, 14 Jan 2013 20:56:35 +0000 (00:56 +0400)]
Fix README regarding _acquire_read barrier

* doc/README.txt (_acquire_read): Add information about memory
barrier (similar as in atomic_ops.h).
* doc/README.txt (_release_read): Remove information about
non-existing barrier.

11 years agoFix a typo in ao_t_is_int.h comment
Ivan Maidanski [Sun, 13 Jan 2013 20:10:48 +0000 (00:10 +0400)]
Fix a typo in ao_t_is_int.h comment

* src/atomic_ops/sysdeps/ao_t_is_int.h: Fix a typo in comment.

11 years agoFix return type of AO_int_X primitives defined in ao_t_is_int header
Ivan Maidanski [Sun, 13 Jan 2013 18:42:52 +0000 (22:42 +0400)]
Fix return type of AO_int_X primitives defined in ao_t_is_int header
(Apply commit 3e9fc4f from 'add-dbl-load-store' branch.)

* src/atomic_ops/sysdeps/ao_t_is_int.h
(AO_int_load_acquire, AO_int_fetch_and_add_full,
AO_int_fetch_and_add1_acquire, AO_int_fetch_and_add1_release,
AO_int_fetch_and_sub1_acquire, AO_int_fetch_and_sub1_release): Cast
result to unsigned int instead of signed int.

Conflicts:

    src/atomic_ops/sysdeps/ao_t_is_int.h

11 years agoFix ordered_except_wr header inclusion for s390
Ivan Maidanski [Sun, 13 Jan 2013 16:19:51 +0000 (20:19 +0400)]
Fix ordered_except_wr header inclusion for s390

* src/atomic_ops/sysdeps/gcc/s390.h: Move include of
ordered_except_wr.h down to be after all_aligned_atomic_load_store.h
inclusion (since the latter defines AO_X_load/store primitives used by
the former header).

11 years agoFix read_ordered.h inclusion for ARM
Ivan Maidanski [Sun, 13 Jan 2013 16:04:36 +0000 (20:04 +0400)]
Fix read_ordered.h inclusion for ARM

* src/atomic_ops/sysdeps/armcc/arm_v6.h: Move include of read_ordered.h
down to the end of the file to be after AO_load/store definition
(since read_ordered.h depends on these primitives).
* src/atomic_ops/sysdeps/gcc/arm.h: Likewise.
* src/atomic_ops/sysdeps/msftc/arm.h: Likewise.

Conflicts:

src/atomic_ops/sysdeps/armcc/arm_v6.h
src/atomic_ops/sysdeps/gcc/arm.h
src/atomic_ops/sysdeps/msftc/arm.h

11 years agoFix a typo in comment in msftc/arm.h
Ivan Maidanski [Sun, 13 Jan 2013 12:08:12 +0000 (16:08 +0400)]
Fix a typo in comment in msftc/arm.h

* src/atomic_ops/sysdeps/msftc/arm.h: Fix a typo in comment (about
SWP).

11 years ago.gitignore: Ignore .gch files
Ivan Maidanski [Sun, 27 Jan 2013 10:33:01 +0000 (14:33 +0400)]
.gitignore: Ignore .gch files

11 years agoUpdate ChangeLog
Ivan Maidanski [Fri, 11 Jan 2013 18:52:59 +0000 (22:52 +0400)]
Update ChangeLog

11 years agoFix return type of AO_char/short/int_load_read() in read_ordered.h
Ivan Maidanski [Mon, 7 Jan 2013 15:24:02 +0000 (19:24 +0400)]
Fix return type of AO_char/short/int_load_read() in read_ordered.h

* src/atomic_ops/sysdeps/read_ordered.h (AO_char_load_read,
AO_short_load_read, AO_int_load_read): Change return type (and the
type of "result" local variable) from AO_t to the type matching the
name of the function (i.e., unsigned char/short/int, respectively).

11 years agoFix missing compiler barrier in AO_nop_full for uniprocessor ARM
Ivan Maidanski [Sun, 6 Jan 2013 18:04:48 +0000 (22:04 +0400)]
Fix missing compiler barrier in AO_nop_full for uniprocessor ARM
(Apply commit b78058a from 'add-dbl-load-store' branch.)

* src/atomic_ops/sysdeps/armcc/arm_v6.h (AO_nop_full): Insert
AO_compiler_barrier for AO_UNIPROCESSOR case.
* src/atomic_ops/sysdeps/gcc/arm.h (AO_nop_full): Likewise.
* src/atomic_ops/sysdeps/msftc/arm.h (AO_nop_full): Likewise.
* src/atomic_ops/sysdeps/msftc/arm.h (AO_nop_full): Refine comment.

Conflicts:

src/atomic_ops/sysdeps/msftc/arm.h

11 years agoRegenerate Makefile.in; update ChangeLog
Ivan Maidanski [Sat, 5 Jan 2013 06:23:27 +0000 (10:23 +0400)]
Regenerate Makefile.in; update ChangeLog

11 years agoFix template-based headers regeneration order in src/Makefile
Ivan Maidanski [Fri, 4 Jan 2013 19:28:42 +0000 (23:28 +0400)]
Fix template-based headers regeneration order in src/Makefile

* src/atomic_ops/Makefile.am (BUILT_SOURCES): Define to force
regeneration of generalize-small.h (if the corresponding
source template is changed) before compilation of .c files (that use
atomic_ops.h).

Conflicts:

    src/Makefile.am

11 years agoUpdate ChangeLog
Ivan Maidanski [Thu, 3 Jan 2013 08:30:14 +0000 (12:30 +0400)]
Update ChangeLog

11 years agoFix generalize-small template adding missed CAS-based fetch_and_add
Ivan Maidanski [Wed, 2 Jan 2013 09:10:34 +0000 (13:10 +0400)]
Fix generalize-small template adding missed CAS-based fetch_and_add

* src/atomic_ops/generalize-small.template (AO_XSIZE_fetch_and_add):
Add missed definition based on CAS.
* src/atomic_ops/generalize-small.h: Regenerate.

11 years agoFix AO_XSIZE_load/store definition order in generalize-small template
Ivan Maidanski [Wed, 2 Jan 2013 08:31:08 +0000 (12:31 +0400)]
Fix AO_XSIZE_load/store definition order in generalize-small template

* src/atomic_ops/generalize-small.template (AO_XSIZE_load): Move
definition (which is based on AO_XSIZE_load_acquire) down to be after
AO_XSIZE_load_acquire definition.
* src/atomic_ops/generalize-small.template (AO_XSIZE_store): Move
definition (which is based on AO_XSIZE_store_release) down to be after
AO_XSIZE_store_release definition.
* src/atomic_ops/generalize-small.h : Regenerate.

11 years agoUpdate ChangeLog
Ivan Maidanski [Mon, 8 Oct 2012 20:23:21 +0000 (00:23 +0400)]
Update ChangeLog

11 years agoFix variable type to match printf format specifier in test_stack
Ivan Maidanski [Mon, 8 Oct 2012 20:06:19 +0000 (00:06 +0400)]
Fix variable type to match printf format specifier in test_stack

* tests/test_stack.c (run_one_test): Change type of "index" local
variable from long to int to match printf format specifier (when
VERBOSE defined); cast from "arg" pointer to integer via size_t (to
avoid 64-bit compiler warning).

11 years agoUpdate ChangeLog
Ivan Maidanski [Mon, 8 Oct 2012 18:37:30 +0000 (22:37 +0400)]
Update ChangeLog

11 years agoProperly fix compare_double_and_swap_double for gcc/x32 (use built-in CAS)
Ivan Maidanski [Mon, 8 Oct 2012 10:51:30 +0000 (14:51 +0400)]
Properly fix compare_double_and_swap_double for gcc/x32 (use built-in CAS)
(Apply commit cbe517e from 'master' branch.)

* src/atomic_ops/sysdeps/gcc/x86.h (AO_double_compare_and_swap_full):
New function (only if __x86_64__) implemented using GCC built-in
__sync CAS primitive available for x32.
* src/atomic_ops/sysdeps/gcc/x86.h
(AO_HAVE_double_compare_and_swap_full): New macro (for x32 only).
* src/atomic_ops/sysdeps/gcc/x86.h
(AO_compare_double_and_swap_double_full): Implement using
double_compare_and_swap_full instead of cmpxchg8b for x32 (since
x86_64 has cmpxchg and cmpxchg16b but not cmpxchg8b).

Conflicts:

    src/atomic_ops/sysdeps/gcc/x86.h

11 years agoFix double_ptr_storage definition for gcc/x32
Ivan Maidanski [Mon, 1 Oct 2012 10:48:43 +0000 (14:48 +0400)]
Fix double_ptr_storage definition for gcc/x32
(Apply commit 9957645 from 'master' branch.)

* src/atomic_ops/sysdeps/standard_ao_double_t.h (double_ptr_storage):
Define as "unsigned long long" instead of __m128 for gcc/x32 (i.e.,
ILP32 on x86_64); update and reformat comment.

Conflicts:

    src/atomic_ops/sysdeps/standard_ao_double_t.h

11 years agoFix compare_double_and_swap_double_full for gcc/x32
Ivan Maidanski [Tue, 18 Sep 2012 16:48:08 +0000 (20:48 +0400)]
Fix compare_double_and_swap_double_full for gcc/x32

* src/atomic_ops.h: Include gcc/x86.h instead of gcc/x86_64.h if
gcc/x32 (i.e., GCC (or Intel compiler), __x86_64__ is defined, and
__ILP32__ is defined) to have AO_compare_double_and_swap_double_full
defined properly (based on cmpxchg8b); explicitly define
AO_USE_PENTIUM4_INSTRS for gcc/x32.
* src/atomic_ops/sysdeps/gcc/x86_64.h: Remove ILP32-specific code
(AO_T_IS_INT definition).

11 years agoFix typos in atomic_ops.h comments
Ivan Maidanski [Fri, 5 Oct 2012 17:12:47 +0000 (21:12 +0400)]
Fix typos in atomic_ops.h comments

* src/atomic_ops.h: Fix typos in comments (update generalize.h
filename).

11 years ago.gitignore: Ignore .dll, .so files and pthreads-w32* library folder
Ivan Maidanski [Thu, 4 Oct 2012 11:08:57 +0000 (15:08 +0400)]
.gitignore: Ignore .dll, .so files and pthreads-w32* library folder
(Apply commit 4692f84 from 'master' branch.)

Conflicts:

    .gitignore

11 years agoFix AO_pause sleep delay for particular argument values (Win32)
Ivan Maidanski [Wed, 3 Oct 2012 14:02:03 +0000 (18:02 +0400)]
Fix AO_pause sleep delay for particular argument values (Win32)

* src/atomic_ops.c (AO_pause): Fix millis value (passed to Win32
Sleep) for the case of 'n' argument in range between 12 and 21,
inclusive if AO_USE_WIN32_PTHREADS (sleep for 1 ms in this case).
* src/atomic_ops_stack.c (AO_pause): Evaluate 'msecs' value using the
same algorithm as in atomic_ops.c (Win32 only).

11 years agoFix visibility and initial value of 'dummy' variable in atomic_ops_stack
Ivan Maidanski [Wed, 3 Oct 2012 07:59:33 +0000 (11:59 +0400)]
Fix visibility and initial value of 'dummy' variable in atomic_ops_stack

* src/atomic_ops_stack.c (dummy): Define as static (to make symbol
without AO_ prefix visible only within this file); initialize to 1
(same as in atomic_ops.c, so that AO_spin would never really alter
its value).

11 years agoFix AO_load primitive name in comment
Ivan Maidanski [Tue, 2 Oct 2012 12:59:58 +0000 (16:59 +0400)]
Fix AO_load primitive name in comment

* src/atomic_ops.h: Fix 'load' primitive name in comment (replace
AO_load_release_read with AO_load_acquire_read).

11 years agoFix compare_double_and_swap_double_full definition condition in emul_cas
Ivan Maidanski [Tue, 2 Oct 2012 07:12:24 +0000 (11:12 +0400)]
Fix compare_double_and_swap_double_full definition condition in emul_cas

* src/atomic_ops/sysdeps/emul_cas.h
(AO_compare_double_and_swap_double_full): Test (define if)
AO_HAVE_compare_double_and_swap_double_full macro instead of
AO_HAVE_compare_double_and_swap_double.

11 years agoFix cmpxchg16b-based compare_double_and_swap_double for SunCC/x86_64
Ivan Maidanski [Tue, 18 Sep 2012 15:03:19 +0000 (19:03 +0400)]
Fix cmpxchg16b-based compare_double_and_swap_double for SunCC/x86_64

* src/atomic_ops/sysdeps/sunc/x86_64.h
(AO_compare_double_and_swap_double_full): Fix inline assembly
arguments commenting out "m"(*addr) one (similar to that in
sunc/x86.h) if AO_CMPXCHG16B_AVAILABLE defined.

11 years agoMerge branch 'libatomic_ops-7_2-hotfix-2' into release-7_2
Ivan Maidanski [Sat, 22 Sep 2012 07:47:37 +0000 (11:47 +0400)]
Merge branch 'libatomic_ops-7_2-hotfix-2' into release-7_2

11 years agoUpdate (regenerate) configure files; update ChangeLog
Ivan Maidanski [Wed, 19 Sep 2012 04:49:18 +0000 (08:49 +0400)]
Update (regenerate) configure files; update ChangeLog

* configure: Regenerate (by autoreconf -vif using autoconf-2.68,
automake-1.11.3 and libtool-2.4.2).
* INSTALL: Likewise.
* Makefile.in: Likewise.
* aclocal.m4: Likewise.
* compile: Likewise.
* config.guess: Likewise.
* config.sub: Likewise.
* depcomp: Likewise.
* doc/Makefile.in: Likewise.
* install-sh: Likewise.
* missing: Likewise.
* src/Makefile.in: Likewise.
* src/atomic_ops/Makefile.in: Likewise.
* src/atomic_ops/sysdeps/Makefile.in: Likewise.
* tests/Makefile.in: Likewise.

11 years agoUpdate ChangeLog
Ivan Maidanski [Tue, 18 Sep 2012 17:24:11 +0000 (21:24 +0400)]
Update ChangeLog

11 years agoFix a typo in comment of compare_double_and_swap_double (x86_64)
Ivan Maidanski [Tue, 18 Sep 2012 17:21:47 +0000 (21:21 +0400)]
Fix a typo in comment of compare_double_and_swap_double (x86_64)

* src/atomic_ops/sysdeps/gcc/x86_64.h
(AO_compare_double_and_swap_double_full): Fix a typo in comment.
* src/atomic_ops/sysdeps/sunc/x86_64.h
(AO_compare_double_and_swap_double_full): Likewise.

11 years agoUpdate ChangeLog
Ivan Maidanski [Tue, 18 Sep 2012 12:01:46 +0000 (16:01 +0400)]
Update ChangeLog

11 years agoTerminate tests with abort after error reported
Ivan Maidanski [Tue, 18 Sep 2012 10:54:48 +0000 (14:54 +0400)]
Terminate tests with abort after error reported
(Apply commit ebaf32f from 'master' branch)

* tests/test_atomic.c (acqrel_thr): Call abort() after fprintf(stderr).
* tests/test_malloc.c (run_one_test): Likewise.
* tests/test_stack.c (check_list, main): Likewise.

Conflicts:

    tests/test_atomic.c
    tests/test_stack.c

11 years agoUpdate ChangeLog
Ivan Maidanski [Wed, 5 Sep 2012 04:51:21 +0000 (08:51 +0400)]
Update ChangeLog

11 years agoFix compare_double_and_swap_double for clang/x86 in PIC mode
Ivan Maidanski [Wed, 5 Sep 2012 04:25:24 +0000 (08:25 +0400)]
Fix compare_double_and_swap_double for clang/x86 in PIC mode

* src/atomic_ops/sysdeps/gcc/x86.h
(AO_compare_double_and_swap_double_full): Re-implement for PIC mode
saving EBX to a local variable (instead of pushing it to stack) and
saving memory operand address to a register (edi which is manually
preserved), so that the whole code could also work even if EBX points
to memory operand (e.g., in Clang); test __PIC__ using ifdef (instead
of "if"); update comments; reformat code.

11 years ago[7.2d] libatomic_ops-7_2d
Ivan Maidanski [Thu, 9 Aug 2012 19:48:31 +0000 (23:48 +0400)]
[7.2d]

Change version in README to 7.2d; update ChangeLog

11 years agoMerge branch 'libatomic_ops-7_2-hotfix-1' into release-7_2
Ivan Maidanski [Thu, 9 Aug 2012 19:40:56 +0000 (23:40 +0400)]
Merge branch 'libatomic_ops-7_2-hotfix-1' into release-7_2

11 years agoUpdate ChangeLog
Ivan Maidanski [Wed, 1 Aug 2012 18:37:31 +0000 (22:37 +0400)]
Update ChangeLog

11 years agoFix AO_compiler_barrier missing parentheses
Ivan Maidanski [Wed, 1 Aug 2012 18:35:17 +0000 (22:35 +0400)]
Fix AO_compiler_barrier missing parentheses

* src/atomic_ops.h (AO_compiler_barrier): Add parentheses and cast to
void.

11 years agoUpdate (regenerate) config.guess and config.sub; update ChangeLog
Ivan Maidanski [Sun, 22 Jul 2012 08:18:41 +0000 (12:18 +0400)]
Update (regenerate) config.guess and config.sub; update ChangeLog

* config.guess: Regenerate (by autoreconf -vif using autoconf-2.68,
automake-1.11.1 and libtool-2.4).
* config.sub: Likewise.

11 years agoUpdate ChangeLog
Ivan Maidanski [Sun, 22 Jul 2012 07:40:06 +0000 (11:40 +0400)]
Update ChangeLog

11 years agoFix AO_compare_double_and_swap_double_full for gcc-4.2.1/x86 in PIC mode
Ivan Maidanski [Wed, 4 Jul 2012 04:32:03 +0000 (08:32 +0400)]
Fix AO_compare_double_and_swap_double_full for gcc-4.2.1/x86 in PIC mode

* src/atomic_ops/sysdeps/gcc/x86.h
(AO_compare_double_and_swap_double_full): Use EDI register for
"new_val1" argument in PIC mode only for GCC 4.3+ to workaround
a problem with older compiler versions (e.g., GCC 4.2.1 [FreeBSD])
that do not recognize 'D' as a valid register specification; update
comment.

11 years agoUpdate ChangeLog
Ivan Maidanski [Mon, 2 Jul 2012 04:57:51 +0000 (08:57 +0400)]
Update ChangeLog

11 years agoFix generalized AO_char/short_fetch_and_add CTYPE args
Ivan Maidanski [Sun, 1 Jul 2012 08:45:23 +0000 (12:45 +0400)]
Fix generalized AO_char/short_fetch_and_add CTYPE args
(fix missing 'unsigned' for generalized fetch_and_add primitives)

* src/atomic_ops/generalize-small.template
(AO_XSIZE_fetch_and_add_full,
AO_XSIZE_fetch_and_add_acquire, AO_XSIZE_fetch_and_add_release):
Fix type of function arguments (or local variables) by adding
'unsigned' to XCTYPE.
* src/atomic_ops/generalize-small.h: Regenerate.

12 years ago[7.2] libatomic_ops-7_2
Ivan Maidanski [Fri, 11 May 2012 15:55:17 +0000 (19:55 +0400)]
[7.2]

Bump libatomic_ops version to 7.2 (final)

* configure.ac, README: Bump version to 7.2 (final).
* configure: Regenerate.
* ChangeLog: Update.

12 years agoUpdate ChangeLog
Ivan Maidanski [Tue, 1 May 2012 16:05:07 +0000 (20:05 +0400)]
Update ChangeLog

12 years agoDefine AO_T_IS_INT for x32
H.J. Lu [Mon, 16 Apr 2012 16:23:51 +0000 (09:23 -0700)]
Define AO_T_IS_INT for x32

* src/atomic_ops/sysdeps/gcc/x86_64.h (AO_T_IS_INT): Defined
for x32.

12 years agoUpdate ChangeLog
Ivan Maidanski [Tue, 1 May 2012 14:34:04 +0000 (18:34 +0400)]
Update ChangeLog

12 years agoFix for x32 by removing 'q' suffix in x86-64 instructions
H.J. Lu [Tue, 1 May 2012 10:31:30 +0000 (14:31 +0400)]
Fix for x32 by removing 'q' suffix in x86-64 instructions
(Apply commit 711f7fe from 'master' branch)

We do not need the 'q' suffix on x86_64 atomic instructions for AO_t
which is defined as "unsigned long"; the later is 32-bit for x32
and 64-bit for x86-64; the register operand in x86-64 atomic
instructions is sufficient to properly determine the register size.

* src/atomic_ops/sysdeps/gcc/x86_64.h (AO_fetch_and_add_full,
AO_and_full, AO_or_full, AO_xor_full, AO_compare_and_swap_full,
AO_fetch_compare_and_swap_full): Remove 'q' suffix in asm instruction.

12 years agoRegenerate configure; update ChangeLog
Ivan Maidanski [Wed, 28 Mar 2012 04:12:48 +0000 (08:12 +0400)]
Regenerate configure; update ChangeLog

12 years agoFix configure to define __PIC__ macro explicitly only if not done by GCC
Ivan Maidanski [Wed, 28 Mar 2012 04:07:31 +0000 (08:07 +0400)]
Fix configure to define __PIC__ macro explicitly only if not done by GCC
(Apply commit 058dd11 from 'master' branch)

* configure.ac (PICFLAG): Adjust AC_MSG_CHECKING message; report
"none" result if no -fPIC is needed (for Cygwin/MinGW); determine
whether GCC -fPIC option causes __PIC__ macro definition; pass
-D __PIC__ to PICFLAG (instead of CFLAGS) only if not defined
automatically in case -fPIC specified; update comment.

12 years agoUpdate ChangeLog
Ivan Maidanski [Mon, 26 Mar 2012 04:51:03 +0000 (08:51 +0400)]
Update ChangeLog

12 years agoFix double_ptr_storage definition for GCC pre-v4 (x86_64)
Ivan Maidanski [Mon, 26 Mar 2012 04:34:27 +0000 (08:34 +0400)]
Fix double_ptr_storage definition for GCC pre-v4 (x86_64)

* src/atomic_ops/sysdeps/standard_ao_double_t.h: Do not use __m128
if GCC pre-v4 (at least, xmmintrin.h is missing in gcc-3.4.3-x86_64
included in Solaris 10 distribution).

12 years agoFix a typo in comment in standard_ao_double_t.h
Ivan Maidanski [Mon, 26 Mar 2012 04:29:38 +0000 (08:29 +0400)]
Fix a typo in comment in standard_ao_double_t.h

12 years agoRegenerate configure, Makefile.in; update ChangeLog
Ivan Maidanski [Mon, 19 Mar 2012 15:59:29 +0000 (19:59 +0400)]
Regenerate configure, Makefile.in; update ChangeLog

12 years agoAdd -uninstalled pkg-config file, move them to pkgconfig/.
Petter Urkedal [Sun, 14 Aug 2011 10:37:31 +0000 (12:37 +0200)]
Add -uninstalled pkg-config file, move them to pkgconfig/.
(Apply commit 8e6f271 from 'master' branch)

* atomic_ops.pc.in -> pkgconfig/atomic_ops.pc.in: Moved.
* pkgconfig/atomic_ops-uninstalled.pc.in: Added developer version.
* configure.ac, Makefile.am: Update accordingly.

12 years agoAdd atomic_ops.pc.
Ivan Maidanski [Thu, 4 Aug 2011 17:37:42 +0000 (21:37 +0400)]
Add atomic_ops.pc.
(Apply commit 5757ba9 from 'master' branch)

* atomic_ops.pc.in: new file.
* Makefile.am (pkgconfigdir, pkgconfig_DATA): new items.
* configure.ac (AC_CONFIG_FILES): add atomic_ops.pc.
* configure, Makefile.in: Regenerate.

12 years agoUpdate ChangeLog
Ivan Maidanski [Wed, 7 Mar 2012 15:39:29 +0000 (19:39 +0400)]
Update ChangeLog

12 years agoFix AO_compare_double_and_swap_double_full for gcc/x86 (PIC mode)
Ivan Maidanski [Wed, 7 Mar 2012 15:12:49 +0000 (19:12 +0400)]
Fix AO_compare_double_and_swap_double_full for gcc/x86 (PIC mode)

* src/atomic_ops/sysdeps/gcc/x86.h
(AO_compare_double_and_swap_double_full): Use EDI register for
"new_val1" argument instead of a memory operand and use XCHG assembler
instruction instead of push/pop in case of PIC mode (to workaround
a bug in GCC 4.6.1); update the comment.

12 years agoFix AO_stack_push_release to workaround bug in clang-1.1/x86
Ivan Maidanski [Wed, 7 Mar 2012 03:41:23 +0000 (07:41 +0400)]
Fix AO_stack_push_release to workaround bug in clang-1.1/x86

* src/atomic_ops_stack.c (AO_stack_push_release): Make "cptr" local
variable volatile to workaround a bug in clang-1.1/x86 compiler; add
comment.

12 years agoFix a typo in comment
Ivan Maidanski [Wed, 7 Mar 2012 03:31:55 +0000 (07:31 +0400)]
Fix a typo in comment

* src/atomic_ops/sysdeps/gcc/x86.h
(AO_compare_double_and_swap_double_full): Fix argument name in the
comment.
* src/atomic_ops/sysdeps/sunc/x86.h
(AO_compare_double_and_swap_double_full): Likewise.

12 years agoUpdate ChangeLog
Ivan Maidanski [Sun, 4 Mar 2012 18:35:05 +0000 (22:35 +0400)]
Update ChangeLog

12 years agoFix a typo in comment
Ivan Maidanski [Sun, 4 Mar 2012 16:20:22 +0000 (20:20 +0400)]
Fix a typo in comment
(Apply commit 529f91a from 'master' branch)

* src/atomic_ops_malloc.h (AO_malloc_enable_mmap): Fix a typo in the
comment.

12 years agoUpdate ChangeLog
Ivan Maidanski [Thu, 19 Jan 2012 04:37:21 +0000 (08:37 +0400)]
Update ChangeLog

12 years agoChange function prototype specifications to follow strict ANSI C style
Ivan Maidanski [Thu, 19 Jan 2012 04:33:50 +0000 (08:33 +0400)]
Change function prototype specifications to follow strict ANSI C style

* tests/test_atomic.c (main): Put "void" keyword into the arguments
specification of the function prototype.
* tests/test_stack.c (main): Likewise.

12 years ago.gitignore: Ignore config.cache
Ivan Maidanski [Thu, 22 Dec 2011 07:19:00 +0000 (11:19 +0400)]
.gitignore: Ignore config.cache

12 years agoUpdate ChangeLog
Ivan Maidanski [Fri, 16 Dec 2011 14:13:43 +0000 (18:13 +0400)]
Update ChangeLog

12 years agoFix __ARM_ARCH_5__ macro handling for Android NDK (ARMv7)
Ivan Maidanski [Fri, 16 Dec 2011 14:07:30 +0000 (18:07 +0400)]
Fix __ARM_ARCH_5__ macro handling for Android NDK (ARMv7)

* src/atomic_ops/sysdeps/gcc/arm.h (__ARM_ARCH_7__, __ARM_ARCH_7A__):
Recognize to override __ARM_ARCH_5xx__ macros (since Android NDK GCC
defines both for armv7); update comment.

12 years ago.gitignore: Ignore Gcov files (.gcda, .gcno)
Ivan Maidanski [Tue, 13 Dec 2011 14:52:37 +0000 (18:52 +0400)]
.gitignore: Ignore Gcov files (.gcda, .gcno)

12 years ago.gitignore: Ignore binary files (.a, .exe, .o, etc.) in all folders
Ivan Maidanski [Tue, 13 Dec 2011 14:50:32 +0000 (18:50 +0400)]
.gitignore: Ignore binary files (.a, .exe, .o, etc.) in all folders

12 years agoInstruct Git to ignore 'tests/core' file
Ivan Maidanski [Thu, 4 Aug 2011 08:13:11 +0000 (12:13 +0400)]
Instruct Git to ignore 'tests/core' file
(Apply commit f2eef23)

12 years agoMerge branch 'hotfix-7_2a6-4' into release
Ivan Maidanski [Tue, 29 Nov 2011 16:47:22 +0000 (20:47 +0400)]
Merge branch 'hotfix-7_2a6-4' into release

12 years agoUpdate ChangeLog
Ivan Maidanski [Tue, 29 Nov 2011 16:45:12 +0000 (20:45 +0400)]
Update ChangeLog

12 years agoFix generalization for IA-64, Hexagon (include generalize.h before
Ivan Maidanski [Tue, 29 Nov 2011 16:36:56 +0000 (20:36 +0400)]
Fix generalization for IA-64, Hexagon (include generalize.h before
ao_t_is_int.h to have AO_or, AO_..._read/write and some other
int-derived primitives got defined)

* src/atomic_ops/sysdeps/gcc/hexagon.h: Include generalize.h file
before ao_t_is_int.h one.
* src/atomic_ops/sysdeps/gcc/ia64.h: Likewise.
* src/atomic_ops/sysdeps/hpc/ia64.h: Likewise.

12 years agoUpdate ChangeLog
Ivan Maidanski [Thu, 3 Nov 2011 14:58:38 +0000 (18:58 +0400)]
Update ChangeLog

12 years agoFix generalized AO_<type>_fetch_and_add() return type
Ivan Maidanski [Thu, 3 Nov 2011 14:43:52 +0000 (18:43 +0400)]
Fix generalized AO_<type>_fetch_and_add() return type

* src/atomic_ops/generalize-small.template
(AO_XSIZE_fetch_and_add_full, AO_XSIZE_fetch_and_add_acquire,
AO_XSIZE_fetch_and_add_release): Change return type from AO_t to
XCTYPE.
* src/atomic_ops/generalize-small.h: Regenerate.

12 years agoUpdate ChangeLog
Ivan Maidanski [Mon, 24 Oct 2011 15:09:15 +0000 (19:09 +0400)]
Update ChangeLog