]> granicus.if.org Git - libatomic_ops/log
libatomic_ops
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.

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

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

13 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.

13 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)

13 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

13 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)

13 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

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

13 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.

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

13 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.

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

13 years agoFix AO_compare_and_swap_full (GCC MIPS, PowerPC) returned value type
Ivan Maidanski [Mon, 24 Oct 2011 15:05:31 +0000 (19:05 +0400)]
Fix AO_compare_and_swap_full (GCC MIPS, PowerPC) returned value type

* src/atomic_ops/sysdeps/gcc/mips.h (AO_compare_and_swap_full):
Change "result" local variable type from AO_t to int.
* src/atomic_ops/sysdeps/gcc/powerpc.h (AO_compare_and_swap_full):
Likewise.

13 years agoRegenerate test_atomic_include.h; update ChangeLog
Ivan Maidanski [Mon, 24 Oct 2011 11:53:38 +0000 (15:53 +0400)]
Regenerate test_atomic_include.h; update ChangeLog

13 years agoFix test_atomic_include for the case of missing CAS primitive
Ivan Maidanski [Mon, 24 Oct 2011 11:45:10 +0000 (15:45 +0400)]
Fix test_atomic_include for the case of missing CAS primitive

* tests/test_atomic_include.template (test_atomicXX): Add action for
the missing AO_compare_and_swap primitive.

13 years agoUpdate ChangeLog
Ivan Maidanski [Fri, 21 Oct 2011 12:21:22 +0000 (16:21 +0400)]
Update ChangeLog

13 years agoFix compiler warning in atomic_ops.c (define 'init_lock' only if used)
Ivan Maidanski [Fri, 21 Oct 2011 11:32:19 +0000 (15:32 +0400)]
Fix compiler warning in atomic_ops.c (define 'init_lock' only if used)

* src/atomic_ops.c (init_lock): Define only unless AO_USE_NO_SIGNALS.

13 years agoUpdate ChangeLog
Ivan Maidanski [Fri, 21 Oct 2011 10:31:24 +0000 (14:31 +0400)]
Update ChangeLog

13 years agoFix a typo in doc/README.txt
Ivan Maidanski [Fri, 21 Oct 2011 09:46:01 +0000 (13:46 +0400)]
Fix a typo in doc/README.txt

13 years agoFix AO_compare_and_swap (gcc/alpha.h) to suppress compiler warning
Ivan Maidanski [Fri, 21 Oct 2011 08:47:06 +0000 (12:47 +0400)]
Fix AO_compare_and_swap (gcc/alpha.h) to suppress compiler warning

* src/atomic_ops/sysdeps/gcc/alpha.h (AO_compare_and_swap): Cast
returned value to int.

13 years agoApply hotfix-7_2a6-3 to the current release
Ivan Maidanski [Mon, 17 Oct 2011 10:13:31 +0000 (14:13 +0400)]
Apply hotfix-7_2a6-3 to the current release

13 years agoRegenerate Makefile.in; update ChangeLog
Ivan Maidanski [Mon, 17 Oct 2011 10:11:43 +0000 (14:11 +0400)]
Regenerate Makefile.in; update ChangeLog

13 years agoImplement the basic atomic primitives for the hexagon CPU.
Linas Vepstas [Tue, 11 Oct 2011 04:43:41 +0000 (08:43 +0400)]
Implement the basic atomic primitives for the hexagon CPU.
(Apply commit 9136ee6)

* src/atomic_ops/sysdeps/Makefile.am (nobase_private_HEADERS): Add
hexagon.h.
* src/atomic_ops.h: Include hexagon.h file.
* src/atomic_ops/sysdeps/gcc/hexagon.h: New file.

13 years agoFix AO_test_and_set_full on m68k
Thorsten Glaser [Mon, 17 Oct 2011 09:29:32 +0000 (13:29 +0400)]
Fix AO_test_and_set_full on m68k

* src/atomic_ops/sysdeps/gcc/m68k.h (AO_test_and_set_full): Cast the
returned value.

13 years agoFix AO_compare_and_swap() return type for s390 and PowerPC
Ivan Maidanski [Sat, 15 Oct 2011 11:35:22 +0000 (15:35 +0400)]
Fix AO_compare_and_swap() return type for s390 and PowerPC

* src/atomic_ops/sysdeps/gcc/s390.h (AO_compare_and_swap_full):
Change return from AO_t to int.
* src/atomic_ops/sysdeps/ibmc/powerpc.h (AO_compare_and_swap_acquire,
AO_compare_and_swap_release, AO_compare_and_swap_full): Likewise.

13 years agoUpdate ChangeLog
Ivan Maidanski [Wed, 21 Sep 2011 13:00:14 +0000 (17:00 +0400)]
Update ChangeLog

13 years agoDo not put dummy AO_non_posix_impl... symbol to executables.
Ivan Maidanski [Wed, 21 Sep 2011 12:55:19 +0000 (16:55 +0400)]
Do not put dummy AO_non_posix_impl... symbol to executables.

* src/atomic_ops.c
(AO_non_posix_implementation_is_entirely_in_headers): Make external.

13 years agoApply hotfix-7_2a6-2 to the current release
Ivan Maidanski [Wed, 21 Sep 2011 11:28:07 +0000 (15:28 +0400)]
Apply hotfix-7_2a6-2 to the current release

13 years agoRegenerate configure, test_atomic_include.h; update ChangeLog
Ivan Maidanski [Wed, 21 Sep 2011 11:23:17 +0000 (15:23 +0400)]
Regenerate configure, test_atomic_include.h; update ChangeLog

13 years agoFix configure for mingw-w64/32.
Ivan Maidanski [Wed, 21 Sep 2011 09:14:29 +0000 (13:14 +0400)]
Fix configure for mingw-w64/32.
(Apply commit ad82960)

* configure.ac (PICFLAG, THREADDLLIBS): Define as empty for MinGW.
* configure.ac (have_pthreads): New definition (set to true unless
MinGW).
* configure.ac (HAVE_PTHREAD_H): New AM conditional (based on
have_pthreads value).
* tests/Makefile.am (test_atomic_pthreads_SOURCES,
test_atomic_pthreads_CPPFLAGS, test_atomic_pthreads_LDADD): Define
only if HAVE_PTHREAD_H.
* tests/Makefile.am (TESTS): Don't include test_atomic_pthreads unless
HAVE_PTHREAD_H.
* tests/Makefile.am (check_PROGRAMS): Define to TESTS value.

13 years agoDo not pass -fPIC to Cygwin gcc.
Ivan Maidanski [Wed, 17 Aug 2011 17:39:25 +0000 (21:39 +0400)]
Do not pass -fPIC to Cygwin gcc.
(Apply commit 85c025e)

* configure.ac (PICFLAG): Set to -fPIC if GCC but not Gygwin.

13 years agoFix test_malloc - allocate less memory in case of missing mmap()
Ivan Maidanski [Wed, 21 Sep 2011 08:50:06 +0000 (12:50 +0400)]
Fix test_malloc - allocate less memory in case of missing mmap()

* tests/test_malloc.c (LIST_LENGTH, LARGE_OBJ_SIZE): Define to
a smaller value unless HAVE_MMAP.

13 years agotests: Invoke exit() instead of abort() in case of out of memory
Ivan Maidanski [Wed, 21 Sep 2011 08:46:39 +0000 (12:46 +0400)]
tests: Invoke exit() instead of abort() in case of out of memory

* tests/test_malloc.c (cons, run_one_test): Call exit with a non-zero
code (instead of abort) if out of memory.
* tests/test_stack.c (add_elements): Likewise.
* tests/test_stack.c (main): Use a distinct exit code if a thread
creation failed.

13 years agoFix a typo in emul_cas.h comment.
Ivan Maidanski [Thu, 15 Sep 2011 06:27:57 +0000 (10:27 +0400)]
Fix a typo in emul_cas.h comment.

* src/atomic_ops/sysdeps/emul_cas.h: Fix a typo (replace AO_FORCE_CAS
with AO_REQUIRE_CAS in a comment).

13 years agoApply hotfix-7_2a6-1 to the current release.
Ivan Maidanski [Thu, 8 Sep 2011 19:15:02 +0000 (23:15 +0400)]
Apply hotfix-7_2a6-1 to the current release.

13 years agoIgnore auto-generated files of the next release.
Ivan Maidanski [Thu, 8 Sep 2011 18:56:03 +0000 (22:56 +0400)]
Ignore auto-generated files of the next release.

* .gitignore: Add more auto-generated files.

13 years agoRemove all .cvsignore files.
Ivan Maidanski [Thu, 8 Sep 2011 18:53:45 +0000 (22:53 +0400)]
Remove all .cvsignore files.
(Apply commit 6d636f4)

* .cvsignore, doc/.cvsignore, src/.cvsignore, src/atomic_ops/.cvsignore,
src/atomic_ops/sysdeps/.cvsignore, tests/.cvsignore: Remove.
* .gitignore: Update comment.

13 years agoAdd project-wide .gitignore file.
Ivan Maidanski [Thu, 8 Sep 2011 18:48:36 +0000 (22:48 +0400)]
Add project-wide .gitignore file.
(Apply commit b8cd1c0)

* .gitignore: New file.

13 years agoHOTFIX: Add and adjust include directories.
Petter Urkedal [Thu, 8 Sep 2011 18:39:58 +0000 (22:39 +0400)]
HOTFIX: Add and adjust include directories.
(Apply commit 13b518f)

* src/Makefile.am, tests/Makefile.am: Set compiler include paths
to $(top_builddir)/src and $(top_srcdir)/src.
* src/Makefile.in: Regenerate.
* tests/Makefile.in: Ditto.

13 years ago2011-06-14 Ivan Maidanski <ivmai@mail.ru> libatomic_ops-7_2alpha6
ivmai [Tue, 14 Jun 2011 12:34:55 +0000 (12:34 +0000)]
2011-06-14  Ivan Maidanski  <ivmai@mail.ru>

* include/gc_version.h, configure.ac, doc/README: Change to
version 7.2alpha6.
* configure: Regenerate.

13 years ago2011-07-14 Ivan Maidanski <ivmai@mail.ru>
ivmai [Thu, 14 Jul 2011 13:03:28 +0000 (13:03 +0000)]
2011-07-14  Ivan Maidanski <ivmai@mail.ru>

* tests/list_atomic.template (list_atomicXX): Remove "addr" local
variable (use "&val" instead); initialize "newval" and "oldval"
local variables; rename "tsaddr" local variable to "ts" one.
* tests/list_atomic.template (list_atomicXX): Fix
AO_test_and_setXX call (pass address instead of value).
* tests/list_atomic.template: Expand all tabs to spaces; remove
trailing spaces at EOLn.
* tests/run_parallel.inc: Ditto.
* tests/test_atomic.c: Ditto.
* tests/list_atomic.c: Regenerate.
* tests/run_parallel.inc (AO_PTRDIFF_T): New macro.
* tests/run_parallel.inc (tramp): Cast between pointer and integer
types via casting to AO_PTRDIFF_T.
* tests/test_atomic.c (add1sub1_thr, acqrel_thr): Ditto.
* tests/run_parallel.inc (run_parallel): Adjust printf format
specifiers for DWORD parameters.
* tests/test_stack.c: Skip test if no pthreads.

13 years ago2011-06-07 Ivan Maidanski <ivmai@mail.ru>
ivmai [Tue, 7 Jun 2011 16:57:06 +0000 (16:57 +0000)]
2011-06-07  Ivan Maidanski  <ivmai@mail.ru>

* src/atomic_ops/sysdeps/gcc/arm.h (AO_nop_full, AO_load): Do not
define for pre-ARMv6 directly (revert part of the previous
commit).
* src/atomic_ops/sysdeps/gcc/arm.h (AO_test_and_set,
AO_test_and_set_full): Refine the comment.
* src/atomic_ops/sysdeps/gcc/arm.h (AO_test_and_set_full): Define
SWP-based implementation at the end of file (if none of
AO_test_and_set functions are defined previously).
* src/atomic_ops/sysdeps/gcc/arm.h (AO_test_and_set): Remove
SWP-based implementation (revert part of the previous commit).
* src/atomic_ops/sysdeps/gcc/arm.h (AO_store): Remove redundant
definition at the file end (revert part of the previous commit).

13 years ago2011-06-27 Ivan Maidanski <ivmai@mail.ru> (really Jeremy Huddleston)
ivmai [Mon, 27 Jun 2011 06:48:12 +0000 (06:48 +0000)]
2011-06-27  Ivan Maidanski <ivmai@mail.ru> (really Jeremy Huddleston)

* src/atomic_ops/sysdeps/gcc/x86.h (AO_test_and_set_full):
Explicitly cast 0xff to unsigned char (otherwise LLVM v2.7 GAS
reports an error); don't recognize AO_XCHGB_RET_WORD.
* src/atomic_ops/sysdeps/gcc/x86_64.h (AO_test_and_set_full):
Ditto.

13 years ago2011-06-07 Ivan Maidanski <ivmai@mail.ru>
ivmai [Tue, 7 Jun 2011 14:13:16 +0000 (14:13 +0000)]
2011-06-07  Ivan Maidanski  <ivmai@mail.ru>

* src/atomic_ops/sysdeps/gcc/arm.h: Handle ARMv6M architecture.
* src/atomic_ops/sysdeps/gcc/arm.h (AO_test_and_set): Force "swp"
instruction usage (instead of ldrex/strex) if AO_FORCE_USE_SWP;
add a comment.
* src/atomic_ops/sysdeps/gcc/arm.h
(AO_compare_double_and_swap_double): Handle ARMv7EM architecture
(similar to ARMv7M).
* src/atomic_ops/sysdeps/gcc/arm.h (AO_test_and_set, AO_nop_full,
AO_load, AO_store): Define at the end of file (in case not defined
previously).

13 years ago2011-06-15 Ivan Maidanski <ivmai@mail.ru>
ivmai [Wed, 15 Jun 2011 11:41:30 +0000 (11:41 +0000)]
2011-06-15  Ivan Maidanski <ivmai@mail.ru>

* include/gc_version.h, configure.ac, doc/README: Change to
version 7.2alpha7.
* configure: Regenerate.

13 years ago2011-06-07 Ivan Maidanski <ivmai@mail.ru>
ivmai [Tue, 7 Jun 2011 09:48:44 +0000 (09:48 +0000)]
2011-06-07  Ivan Maidanski  <ivmai@mail.ru>

* src/atomic_ops/generalize.h: Reformat code.
* src/atomic_ops/generalize.h (AO_test_and_set_acquire): Fix
return type.
* src/atomic_ops/sysdeps/armcc/arm_v6.h (AO_test_and_set): Ditto.
* src/atomic_ops/sysdeps/gcc/arm.h (AO_test_and_set): Ditto.
* src/atomic_ops/sysdeps/gcc/arm.h (AO_test_and_set): Add
a comment (about SWP instruction).

13 years ago2011-06-06 Ivan Maidanski <ivmai@mail.ru>
ivmai [Mon, 6 Jun 2011 20:28:43 +0000 (20:28 +0000)]
2011-06-06  Ivan Maidanski  <ivmai@mail.ru>

* src/atomic_ops/sysdeps/gcc/arm.h (AO_THUMB_GO_ARM,
AO_THUMB_RESTORE_MODE): Use single-digit labels (to workaround
a bug in GCC v4.2.1 which reports "garbage following instruction"
otherwise).
* src/atomic_ops/sysdeps/gcc/arm.h (AO_compare_and_swap): Use "IT"
instruction only for Thumb-2 mode.

13 years ago2011-06-06 Ivan Maidanski <ivmai@mail.ru>
ivmai [Mon, 6 Jun 2011 13:34:11 +0000 (13:34 +0000)]
2011-06-06  Ivan Maidanski  <ivmai@mail.ru>

* src/atomic_ops/sysdeps/gcc/arm.h (AO_THUMB_GO_ARM,
AO_THUMB_RESTORE_MODE, AO_THUMB_SWITCH_CLOBBERS): Define as empty
for Thumb-2 mode.
* src/atomic_ops/sysdeps/gcc/arm.h (AO_store, AO_test_and_set,
AO_fetch_and_add, AO_fetch_and_add1, AO_fetch_and_sub1,
AO_compare_and_swap, AO_compare_double_and_swap_double): Remove
unnecessary "memory" keyword from the list of clobbered registers
(revert part of the previous commit).
* src/atomic_ops/sysdeps/gcc/arm.h (AO_compare_and_swap): Add
a comment for "IT" instruction.
* src/atomic_ops/sysdeps/gcc/arm.h
(AO_compare_double_and_swap_double): Don't define on the
architectures where unimplemented; add a comment; replace return
(in the loop) statement with break.

13 years ago2011-06-06 Ivan Maidanski <ivmai@mail.ru>
ivmai [Mon, 6 Jun 2011 09:04:58 +0000 (09:04 +0000)]
2011-06-06  Ivan Maidanski  <ivmai@mail.ru>

* src/atomic_ops/sysdeps/gcc/arm.h (AO_THUMB_GO_ARM,
AO_THUMB_RESTORE_MODE, AO_THUMB_SWITCH_CLOBBERS): Define new
macro (to switch temporarily CPU mode to ARM in inline assembler
if compiling in the Thumb mode and to restore it back on leave).
* src/atomic_ops/sysdeps/gcc/arm.h (AO_nop_full, AO_store,
AO_test_and_set, AO_fetch_and_add, AO_fetch_and_add1,
AO_fetch_and_sub1, AO_compare_and_swap, AO_test_and_set_full):
Enable compilation in the Thumb mode (use AO_THUMB_GO_ARM,
AO_THUMB_RESTORE_MODE and AO_THUMB_SWITCH_CLOBBERS macros).
* src/atomic_ops/sysdeps/gcc/arm.h (AO_store, AO_test_and_set,
AO_fetch_and_add, AO_fetch_and_add1, AO_fetch_and_sub1,
AO_compare_and_swap, AO_compare_double_and_swap_double): Add
"memory" to the list of clobbered registers.

13 years ago2011-06-06 Ivan Maidanski <ivmai@mail.ru>
ivmai [Mon, 6 Jun 2011 07:30:09 +0000 (07:30 +0000)]
2011-06-06  Ivan Maidanski  <ivmai@mail.ru>

* src/atomic_ops/sysdeps/gcc/arm.h: Reformat code.
* src/atomic_ops/sysdeps/gcc/arm.h (AO_nop_full,
AO_test_and_set_full): Add assembler comment containing the
function name.

13 years ago2011-06-03 Ivan Maidanski <ivmai@mail.ru>
ivmai [Fri, 3 Jun 2011 13:25:31 +0000 (13:25 +0000)]
2011-06-03  Ivan Maidanski  <ivmai@mail.ru>

* tests/test_malloc.c (run_one_test): Test AO_malloc() result
(if out of memory then print the message and abort).
* tests/test_stack.c (add_elements): Ditto.

13 years ago2011-06-03 Ivan Maidanski <ivmai@mail.ru>
ivmai [Fri, 3 Jun 2011 13:02:26 +0000 (13:02 +0000)]
2011-06-03  Ivan Maidanski  <ivmai@mail.ru>

* src/atomic_ops/generalize.h (AO_HAVE_or_full): Add missing
definition.
* src/atomic_ops/sysdeps/ordered_except_wr.h (AO_HAVE_nop_write):
Fix macro name.
* src/atomic_ops/sysdeps/read_ordered.h (AO_HAVE_nop_read): Ditto.
* src/atomic_ops/sysdeps/gcc/powerpc.h (AO_HAVE_store_release):
Ditto.

13 years ago2011-06-03 Ivan Maidanski <ivmai@mail.ru>
ivmai [Fri, 3 Jun 2011 10:39:38 +0000 (10:39 +0000)]
2011-06-03  Ivan Maidanski  <ivmai@mail.ru>

* src/atomic_ops/generalize-small.template
(AO_HAVE_XSIZE_fetch_and_add_full): Add missing definition.
* src/atomic_ops/generalize-small.template: Reformat code.
* src/atomic_ops/generalize-small.h: Regenerate.

13 years ago2011-06-03 Ivan Maidanski <ivmai@mail.ru>
ivmai [Fri, 3 Jun 2011 09:17:00 +0000 (09:17 +0000)]
2011-06-03  Ivan Maidanski  <ivmai@mail.ru>

* src/atomic_ops/sysdeps/aligned_atomic_load_store.h: Remove
blank line between AO_func and AO_HAVE_func definitions.
* src/atomic_ops/sysdeps/atomic_load_store.h: Ditto.
* src/atomic_ops/sysdeps/char_atomic_load_store.h: Ditto.
* src/atomic_ops/sysdeps/generic_pthread.h: Ditto.
* src/atomic_ops/sysdeps/int_aligned_atomic_load_store.h: Ditto.
* src/atomic_ops/sysdeps/int_atomic_load_store.h: Ditto.
* src/atomic_ops/sysdeps/ordered.h: Ditto.
* src/atomic_ops/sysdeps/ordered_except_wr.h: Ditto.
* src/atomic_ops/sysdeps/read_ordered.h: Ditto.
* src/atomic_ops/sysdeps/short_aligned_atomic_load_store.h: Ditto.
* src/atomic_ops/sysdeps/short_atomic_load_store.h: Ditto.
* src/atomic_ops/sysdeps/gcc/alpha.h: Ditto.
* src/atomic_ops/sysdeps/gcc/arm.h: Ditto.
* src/atomic_ops/sysdeps/gcc/cris.h: Ditto.
* src/atomic_ops/sysdeps/gcc/hppa.h: Ditto.
* src/atomic_ops/sysdeps/gcc/ia64.h: Ditto.
* src/atomic_ops/sysdeps/gcc/m68k.h: Ditto.
* src/atomic_ops/sysdeps/gcc/mips.h: Ditto.
* src/atomic_ops/sysdeps/gcc/powerpc.h: Ditto.
* src/atomic_ops/sysdeps/gcc/s390.h: Ditto.
* src/atomic_ops/sysdeps/gcc/sparc.h: Ditto.
* src/atomic_ops/sysdeps/gcc/x86.h: Ditto.
* src/atomic_ops/sysdeps/gcc/x86_64.h: Ditto.
* src/atomic_ops/sysdeps/hpc/hppa.h: Ditto.
* src/atomic_ops/sysdeps/hpc/ia64.h: Ditto.
* src/atomic_ops/sysdeps/ibmc/powerpc.h: Ditto.
* src/atomic_ops/sysdeps/msftc/common32_defs.h: Ditto.
* src/atomic_ops/sysdeps/msftc/x86.h: Ditto.
* src/atomic_ops/sysdeps/msftc/x86_64.h: Ditto.
* src/atomic_ops/sysdeps/sunc/sparc.h: Ditto.
* src/atomic_ops/sysdeps/sunc/x86.h: Ditto.
* src/atomic_ops/sysdeps/sunc/x86_64.h: Ditto.
* src/atomic_ops/sysdeps/aligned_atomic_load_store.h: Reformat
comment.
* src/atomic_ops/sysdeps/atomic_load_store.h: Ditto.
* src/atomic_ops/sysdeps/char_atomic_load_store.h: Ditto.
* src/atomic_ops/sysdeps/int_aligned_atomic_load_store.h: Ditto.
* src/atomic_ops/sysdeps/int_atomic_load_store.h: Ditto.
* src/atomic_ops/sysdeps/ordered.h: Ditto.
* src/atomic_ops/sysdeps/gcc/arm.h: Ditto.
* src/atomic_ops/sysdeps/test_and_set_t_is_char.h: Remove file
tail blank lines.
* src/atomic_ops/sysdeps/gcc/arm.h (AO_test_and_set_full): Don't
define for ARMv2.
* src/atomic_ops/sysdeps/gcc/powerpc.h (AO_load_acquire,
AO_test_and_set, AO_compare_and_swap): Merge adjacent definitions.
* src/atomic_ops/sysdeps/ibmc/powerpc.h (AO_HAVE_store_release):
Define.
* src/atomic_ops/sysdeps/sunc/sparc.h: Expand all tabs to spaces;
remove trailing spaces at EOLn.

13 years ago2011-06-02 Ivan Maidanski <ivmai@mail.ru>
ivmai [Thu, 2 Jun 2011 14:42:01 +0000 (14:42 +0000)]
2011-06-02  Ivan Maidanski  <ivmai@mail.ru>

* tests/test_malloc.c (main): Remove unused "exper_n" local
variable.
* tests/test_stack.c (run_one_test): Remove unused "aux" local
variable.

13 years ago2011-06-01 Ivan Maidanski <ivmai@mail.ru>
ivmai [Wed, 1 Jun 2011 22:43:19 +0000 (22:43 +0000)]
2011-06-01  Ivan Maidanski  <ivmai@mail.ru>

* src/atomic_ops/sysdeps/gcc/arm.h
(AO_compare_double_and_swap_double,
AO_HAVE_compare_double_and_swap_double): Define only starting from
ARMv6K.
* src/atomic_ops/sysdeps/gcc/arm.h
(AO_compare_double_and_swap_double): Fix function name in
assembler code; replace while (1) loop with "do-while".

13 years ago2011-06-01 Ivan Maidanski <ivmai@mail.ru>
ivmai [Wed, 1 Jun 2011 13:57:18 +0000 (13:57 +0000)]
2011-06-01  Ivan Maidanski  <ivmai@mail.ru>

* src/atomic_ops/sysdeps/sunc/x86.h (AO_test_and_set_full):
Specify "%b0" (instead of "%0") in "xchg" instruction (to
workaround a bug in Sun C 5.11).
* src/atomic_ops/sysdeps/sunc/x86_64.h (AO_test_and_set_full):
Ditto.

13 years ago2011-06-01 Ivan Maidanski <ivmai@mail.ru>
ivmai [Wed, 1 Jun 2011 12:34:42 +0000 (12:34 +0000)]
2011-06-01  Ivan Maidanski  <ivmai@mail.ru>

* src/atomic_ops_malloc.c (AO_malloc_enable_mmap): Workaround for
Sun C compiler (call "release" variant of AO_store).

13 years ago2011-06-01 Ivan Maidanski <ivmai@mail.ru>
ivmai [Wed, 1 Jun 2011 07:51:37 +0000 (07:51 +0000)]
2011-06-01  Ivan Maidanski  <ivmai@mail.ru>

* configure.ac (_PTHREADS): New template (used for NetBSD).
* configure.ac (THREADDLLIBS): New macro.
* tests/Makefile.am (test_atomic_LDADD, test_stack_LDADD,
test_atomic_pthreads_LDADD, test_malloc_LDADD): Use THREADDLLIBS
instead of "-lpthread".
* configure: Regenerate.
* Makefile.in: Ditto.
* doc/Makefile.in: Ditto.
* src/Makefile.in: Ditto.
* src/atomic_ops/Makefile.in: Ditto.
* src/atomic_ops/sysdeps/Makefile.in: Ditto.
* src/config.h.in: Ditto.
* tests/Makefile.in: Ditto.

13 years ago2011-05-30 Ivan Maidanski <ivmai@mail.ru>
ivmai [Mon, 30 May 2011 16:52:54 +0000 (16:52 +0000)]
2011-05-30  Ivan Maidanski  <ivmai@mail.ru>

* configure.ac (PIC): Add workaround for GCC v3.4.6 which does not
define the corresponding macro.
* configure.ac: Don't check for GCC twice.
* configure: Regenerate.
* tests/test_malloc.c (DEFAULT_NTHREADS): New macro.
* tests/test_malloc.c (run_one_test): Refine printed message (in
case of HAVE_MMAP).
* tests/test_malloc.c (main): Use DEFAULT_NTHREADS.
* tests/test_stack.c (main): Cast AO_stack_pop() returned pointer.
* src/atomic_ops_malloc.c (USE_MMAP_ANON, GC_MMAP_FLAGS,
OPT_MAP_ANON): New macro.
* src/atomic_ops_malloc.c (get_mmaped): Pass -1 (instead of 0) as
file descriptor to mmap() if MAP_ANONYMOUS (same as for MAP_ANON).
* src/atomic_ops_malloc.c (get_mmaped): Use USE_MMAP_ANON,
GC_MMAP_FLAGS and OPT_MAP_ANON macros; reformat code; check open()
returned value.

13 years ago2011-05-11 Ivan Maidanski <ivmai@mail.ru>
ivmai [Wed, 11 May 2011 12:22:45 +0000 (12:22 +0000)]
2011-05-11  Ivan Maidanski  <ivmai@mail.ru>

* tests/test_malloc.c: Expand all tabs to spaces; remove trailing
spaces at EOLn.
* tests/test_malloc.c (LENGTH, LARGE): Rename to LIST_LENGTH and
LARGE_OBJ_SIZE, respectively.
* tests/test_malloc.c (MAX_NTHREADS, N_REVERSALS, LIST_LENGTH,
LARGE_OBJ_SIZE): Do not define unless undefined.
* tests/test_malloc.c (run_one_test): Recognize DEBUG_RUN_ONE_TEST
macro.

13 years ago2011-05-10 Ivan Maidanski <ivmai@mail.ru>
ivmai [Tue, 10 May 2011 07:40:52 +0000 (07:40 +0000)]
2011-05-10  Ivan Maidanski  <ivmai@mail.ru>

* tests/Makefile.am (EXTRA_DIST): Add list_atomic.c; update
comment.
* tests/Makefile.am (CLEANFILES): Remove test_atomic_include.h,
list_atomic.c.
* tests/Makefile.am: Remove trailing spaces at EOLn.
* tests/Makefile.in: Regenerate.

13 years ago2011-05-10 Ivan Maidanski <ivmai@mail.ru>
ivmai [Tue, 10 May 2011 07:05:30 +0000 (07:05 +0000)]
2011-05-10  Ivan Maidanski  <ivmai@mail.ru>

* tests/test_stack.c (MAX_NTHREADS, N_EXPERIMENTS): Do not define
unless undefined.
* tests/test_stack.c: Expand all tabs to spaces.
* tests/test_atomic_include.h: Ditto.
* tests/test_stack.c (main): Free pop'ed elements.
* tests/test_atomic_include.h (test_atomic, test_atomic_release,
test_atomic_acquire, test_atomic_read, test_atomic_write,
test_atomic_full, test_atomic_release_write,
test_atomic_acquire_read): Remove prototype.

13 years ago2011-04-22 Ivan Maidanski <ivmai@mail.ru>
ivmai [Fri, 22 Apr 2011 21:47:57 +0000 (21:47 +0000)]
2011-04-22  Ivan Maidanski  <ivmai@mail.ru>

* src/atomic_ops/sysdeps/gcc/ia64.h (AO_MASK): Add "volatile" for
asm; remove redundant trailing ';'.

13 years ago2011-04-11 Ivan Maidanski <ivmai@mail.ru> (really Jim Meyering)
ivmai [Mon, 11 Apr 2011 19:55:41 +0000 (19:55 +0000)]
2011-04-11  Ivan Maidanski  <ivmai@mail.ru> (really Jim Meyering)

* doc/README.txt: Remove doubled words in comments.

13 years ago2011-03-18 Ivan Maidanski <ivmai@mail.ru>
ivmai [Fri, 18 Mar 2011 22:39:38 +0000 (22:39 +0000)]
2011-03-18  Ivan Maidanski  <ivmai@mail.ru>

* src/atomic_ops/sysdeps/gcc/arm.h: Test for all known pre-v6 ARM
chips instead of all the currently existing v6+ ones.

13 years ago2011-03-13 Ivan Maidanski <ivmai@mail.ru>
ivmai [Sun, 13 Mar 2011 10:50:36 +0000 (10:50 +0000)]
2011-03-13  Ivan Maidanski  <ivmai@mail.ru>

* src/atomic_ops/sysdeps/emul_cas.h: Fix a typo in a comment;
expand all tabs to spaces.
* src/atomic_ops/sysdeps/gcc/x86.h (AO_test_and_set_full):
Recognize AO_XCHGB_RET_WORD new macro (to workaround a bug).
* src/atomic_ops/sysdeps/gcc/x86_64.h (AO_test_and_set_full):
Ditto.

13 years ago2011-02-19 Ivan Maidanski <ivmai@mail.ru>
ivmai [Sat, 19 Feb 2011 20:10:41 +0000 (20:10 +0000)]
2011-02-19  Ivan Maidanski  <ivmai@mail.ru>

* src/atomic_ops.c: Include sys/time.h (to get timespec) for NaCl.
* src/atomic_ops_malloc.c (msb): Do the shift by 32 only once (in
a conditional expression) to prevent a compiler warning.
* src/atomic_ops_malloc.c: Expand all tabs to spaces; remove
trailing spaces at EOLn.

13 years ago2011-02-19 Ivan Maidanski <ivmai@mail.ru>
ivmai [Sat, 19 Feb 2011 11:07:15 +0000 (11:07 +0000)]
2011-02-19  Ivan Maidanski  <ivmai@mail.ru>

* src/atomic_ops.c: Explicitly define AO_USE_NO_SIGNALS and
AO_USE_NANOSLEEP for NaCl.

13 years ago2011-02-19 Ivan Maidanski <ivmai@mail.ru>
ivmai [Sat, 19 Feb 2011 10:46:03 +0000 (10:46 +0000)]
2011-02-19  Ivan Maidanski  <ivmai@mail.ru>

* aclocal.m4: Regenerate (by autoreconf -vif using autoconf-2.68,
automake-1.11.1 and libtool-2.4).
* configure: Ditto.
* ltmain.sh: Ditto.
* makefile.in: Ditto.
* m4/libtool.m4: Ditto.
* m4/ltversion.m4: Ditto.
* mach_dep.c (GC_with_callee_saves_pushed): Fix FE_ALL_EXCEPT
macro.

13 years ago2011-02-09 Ivan Maidanski <ivmai@mail.ru>
ivmai [Sat, 12 Feb 2011 14:14:00 +0000 (14:14 +0000)]
2011-02-09  Ivan Maidanski  <ivmai@mail.ru>

* src/atomic_ops.c (AO_USE_NO_SIGNALS, AO_USE_NANOSLEEP): New
macros.
* src/atomic_ops.c (AO_USE_WIN32_PTHREADS): Imply
AO_USE_NO_SIGNALS.
* src/atomic_ops.c: Don't include signal.h if AO_USE_NO_SIGNALS.
* src/atomic_ops.c: Include time.h if AO_USE_NANOSLEEP.
* src/atomic_ops.c (AO_locks, AO_pause): Reformat the code.
* src/atomic_ops.c (AO_pause): Use nanosleep() if
AO_USE_NANOSLEEP.
* src/atomic_ops.c (all_sigs, initialized,
AO_compare_and_swap_emulation,
AO_compare_double_and_swap_double_emulation): Use
AO_USE_NO_SIGNALS instead of AO_USE_WIN32_PTHREADS.

13 years ago2011-01-07 Ivan Maidanski <ivmai@mail.ru> libatomic_ops-7_2alpha5-20110107
ivmai [Fri, 7 Jan 2011 09:08:14 +0000 (09:08 +0000)]
2011-01-07  Ivan Maidanski  <ivmai@mail.ru>

* src/.cvsignore: Add more auto-generated files.
* tests/.cvsignore: Ditto.
* src/atomic_ops/sysdeps/armcc/arm_v6.h (AO_nop_full, AO_store,
AO_compare_double_and_swap_double): Reformat code.
* src/atomic_ops/sysdeps/gcc/arm.h (AO_nop_full,
AO_compare_double_and_swap_double): Ditto.
* src/atomic_ops/sysdeps/armcc/arm_v6.h (AO_compare_and_swap):
Produce "it eq" instruction only for Thumb mode.
* src/atomic_ops/sysdeps/gcc/arm.h (AO_compare_and_swap): Ditto.

13 years ago2010-11-23 Ivan Maidanski <ivmai@mail.ru> (really Michael Hope)
ivmai [Tue, 23 Nov 2010 20:10:26 +0000 (20:10 +0000)]
2010-11-23  Ivan Maidanski <ivmai@mail.ru> (really Michael Hope)

* src/atomic_ops/sysdeps/armcc/arm_v6.h (AO_compare_and_swap):
Insert "it eq" just before "strexeq" (required for Thumb-2 mode,
ignored in ARM mode).
* src/atomic_ops/sysdeps/gcc/arm.h (AO_compare_and_swap): Ditto.

13 years ago2010-09-15 Ivan Maidanski <ivmai@mail.ru> (with input from Gregory Farnum)
ivmai [Wed, 15 Sep 2010 19:18:33 +0000 (19:18 +0000)]
2010-09-15  Ivan Maidanski <ivmai@mail.ru> (with input from Gregory Farnum)

* src/atomic_ops.h: Include armcc/arm_v6.h if __ARMCC__.
* src/atomic_ops.h: Include ibmc/powerpc.h if __IBMC__.
* src/atomic_ops.h: Define AO_GENERALIZE_TWICE if msftc/arm.h is
included.
* src/atomic_ops.h: Define AO_GENERALIZE_TWICE if AO_CAN_EMUL_CAS
is defined but emul_cas.h has not been included.
* src/atomic_ops/sysdeps/gcc/arm.h: Fix a typo.

13 years ago2010-08-14 Ivan Maidanski <ivmai@mail.ru>
ivmai [Sat, 14 Aug 2010 14:35:55 +0000 (14:35 +0000)]
2010-08-14  Ivan Maidanski <ivmai@mail.ru>

* aclocal.m4: Regenerate (by autoreconf -vif using autoconf-2.67,
automake-1.11.1 and libtool-2.2.8).
* configure: Ditto.
* ltmain.sh: Ditto.
* Makefile.in: Ditto.
* include/private/config.h.in: Ditto.
* m4/libtool.m4: Ditto.
* m4/ltoptions.m4: Ditto.
* m4/ltversion.m4: Ditto.
* m4/lt~obsolete.m4: Ditto.

13 years ago2010-08-14 Ivan Maidanski <ivmai@mail.ru>
ivmai [Sat, 14 Aug 2010 11:36:50 +0000 (11:36 +0000)]
2010-08-14  Ivan Maidanski <ivmai@mail.ru>

* src/atomic_ops/sysdeps/gcc/arm.h: Replace C++ style comment
with ANSI C one.

13 years ago2010-05-30 Ivan Maidanski <ivmai@mail.ru> (really Bradley Smith) libatomic_ops-7_2alpha5-20100601
ivmai [Sun, 30 May 2010 15:00:01 +0000 (15:00 +0000)]
2010-05-30  Ivan Maidanski <ivmai@mail.ru> (really Bradley Smith)

* src/atomic_ops/sysdeps/gcc/avr32.h (AO_test_and_set): Use
"register long" (instead of "int") for "ret" variable.
* src/atomic_ops/sysdeps/gcc/avr32.h (AO_test_and_set): Replace
with AO_test_and_set_full (same for AO_HAVE_test_and_set).
* src/atomic_ops/sysdeps/gcc/avr32.h (AO_compare_and_swap_full):
New function implemented.

13 years ago2010-05-22 Ivan Maidanski <ivmai@mail.ru>
ivmai [Sat, 22 May 2010 14:11:38 +0000 (14:11 +0000)]
2010-05-22  Ivan Maidanski <ivmai@mail.ru>

* src/atomic_ops/sysdeps/Makefile.am (nobase_sysdep_HEADERS):
Add "gcc/avr32.h".
* src/atomic_ops/sysdeps/Makefile.in: Regenerate.

13 years ago2010-05-21 Ivan Maidanski <ivmai@mail.ru> (really Bradley Smith)
ivmai [Fri, 21 May 2010 16:01:35 +0000 (16:01 +0000)]
2010-05-21  Ivan Maidanski <ivmai@mail.ru> (really Bradley Smith)

* src/atomic_ops.h: Recognize __avr32__ (include gcc/avr32.h).
* src/atomic_ops/sysdeps/gcc/avr32.h: New file.

13 years ago2010-04-29 Ivan Maidanski <ivmai@mail.ru>
ivmai [Thu, 29 Apr 2010 10:31:52 +0000 (10:31 +0000)]
2010-04-29  Ivan Maidanski <ivmai@mail.ru>

* doc/README_malloc.txt: Fix a typo.
* doc/README_stack.txt: Ditto.

13 years ago2010-02-25 Ivan Maidanski <ivmai@mail.ru> (really Bruce Mitchener)
ivmai [Thu, 25 Feb 2010 07:58:52 +0000 (07:58 +0000)]
2010-02-25  Ivan Maidanski <ivmai@mail.ru> (really Bruce Mitchener)

* .cvsignore: New file.
* include/private/.cvsignore: Ditto.

13 years ago2010-02-19 Ivan Maidanski <ivmai@mail.ru> (mostly really Patrick Marlier)
ivmai [Fri, 19 Feb 2010 17:12:05 +0000 (17:12 +0000)]
2010-02-19  Ivan Maidanski <ivmai@mail.ru> (mostly really Patrick Marlier)

* src/atomic_ops/sysdeps/gcc/x86.h (AO_compare_and_swap_full):
Use __sync_bool_compare_and_swap() if AO_USE_SYNC_CAS_BUILTIN.
* src/atomic_ops/sysdeps/gcc/x86_64.h (AO_compare_and_swap_full):
Ditto.
* src/atomic_ops.h (AO_USE_SYNC_CAS_BUILTIN): New macro defined
if GCC v4.2+ or Intel compiler v11.1+ (only for amd64).
* src/atomic_ops.h: Include GCC-specific sysdeps files for Intel
compiler in GCC compatible mode (only for x86 and amd64).

13 years ago2010-02-18 Ivan Maidanski <ivmai@mail.ru>
ivmai [Thu, 18 Feb 2010 10:11:47 +0000 (10:11 +0000)]
2010-02-18  Ivan Maidanski <ivmai@mail.ru>

* src/atomic_ops/sysdeps/gcc/x86_64.h (AO_nop_full): Don't check
for AO_USE_PENTIUM4_INSTRS (since "mfence" (SSE2) is supported on
all x86_64/amd64 chips); remove the comment.
* src/atomic_ops/sysdeps/msftc/x86_64.h (AO_nop_full): Ditto.
* src/atomic_ops/sysdeps/msftc/x86_64.h (AO_nop_full): Define only
if AO_ASM_X64_AVAILABLE.
* src/atomic_ops/sysdeps/gcc/x86_64.h (AO_compare_and_swap_full):
Use built-in __sync_bool_compare_and_swap() if GCC v4.2+.

13 years ago2010-02-17 Ivan Maidanski <ivmai@mail.ru> (really Patrick Marlier)
ivmai [Wed, 17 Feb 2010 19:28:28 +0000 (19:28 +0000)]
2010-02-17  Ivan Maidanski <ivmai@mail.ru> (really Patrick Marlier)

* src/atomic_ops/sysdeps/gcc/x86.h (AO_compare_and_swap_full,
AO_compare_double_and_swap_double_full): Use EAX for the result
since cmpxchg clobbers it.
* src/atomic_ops/sysdeps/sunc/x86.h (AO_compare_and_swap_full,
AO_compare_double_and_swap_double_full): Ditto.
* src/atomic_ops/sysdeps/gcc/x86_64.h (AO_compare_and_swap_full,
AO_compare_double_and_swap_double_full): Ditto.
* src/atomic_ops/sysdeps/sunc/x86_64.h (AO_compare_and_swap_full,
AO_compare_double_and_swap_double_full): Ditto.

13 years ago2010-02-04 Ivan Maidanski <ivmai@mail.ru>
ivmai [Thu, 4 Feb 2010 18:55:55 +0000 (18:55 +0000)]
2010-02-04  Ivan Maidanski <ivmai@mail.ru>

* doc/Makefile.in: Regenerate.

13 years ago2010-02-04 Ivan Maidanski <ivmai@mail.ru> (really Ian Wienand)
ivmai [Thu, 4 Feb 2010 07:18:58 +0000 (07:18 +0000)]
2010-02-04  Ivan Maidanski <ivmai@mail.ru> (really Ian Wienand)

* doc/Makefile.am: Remove duplicate file in the list.

13 years ago2010-02-03 Ivan Maidanski <ivmai@mail.ru>
ivmai [Wed, 3 Feb 2010 20:23:16 +0000 (20:23 +0000)]
2010-02-03  Ivan Maidanski <ivmai@mail.ru>

* ChangeLog: Fix some typos.