-Retired in favor of Git commit log. No longer updated.
-
-2011-07-21 Ivan Maidanski <ivmai@mail.ru>
-
- * .cvsignore: Don't ignore *.orig and *.rej files (having them
- ignored turned out to be inconvenient when processing the
- patches).
-
-2011-07-14 Ivan Maidanski <ivmai@mail.ru>
-
- * .cvsignore: Add more auto-generated files.
- * src/.cvsignore: Ditto.
- * tests/.cvsignore: Ditto.
-
-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.
-
-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.
-
-2011-06-15 Ivan Maidanski <ivmai@mail.ru>
-
- * configure.ac, README: Change to version 7.2alpha7.
- * configure: Regenerate.
-
-[7.2alpha6]
-
-2011-06-14 Ivan Maidanski <ivmai@mail.ru>
-
- * configure.ac, README: Change to version 7.2alpha6.
- * configure: Regenerate.
-
-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).
-
-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).
-
-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).
-
-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.
-
-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.
-
-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.
-
-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.
-
-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.
-
-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.
-
-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.
-
-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.
-
-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.
-
-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".
-
-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.
-
-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).
-
-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.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2011-04-22 Ivan Maidanski <ivmai@mail.ru>
-
- * src/atomic_ops/sysdeps/gcc/ia64.h (AO_MASK): Add "volatile" for
- asm; remove redundant trailing ';'.
-
-2011-04-11 Ivan Maidanski <ivmai@mail.ru> (really Jim Meyering)
-
- * doc/README.txt: Remove doubled words in comments.
-
-2011-03-18 Ivan Maidanski <ivmai@mail.ru>
-
- * src/atomic_ops/sysdeps/gcc/arm.h: Test for all the known pre-v6
- ARM chips instead of all the currently existing v6+ ones.
-
-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.
-
-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.
-
-2011-02-19 Ivan Maidanski <ivmai@mail.ru>
-
- * src/atomic_ops.c: Explicitly define AO_USE_NO_SIGNALS and
- AO_USE_NANOSLEEP for NaCl.
-
-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.
-
-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.
-
-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.
-
-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.
-
-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.
-
-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.
-
-2010-08-14 Ivan Maidanski <ivmai@mail.ru>
-
- * src/atomic_ops/sysdeps/gcc/arm.h: Replace C++ style comment
- with ANSI C one.
-
-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.
-
-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.
-
-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.
-
-2010-04-29 Ivan Maidanski <ivmai@mail.ru>
-
- * doc/README_malloc.txt: Fix a typo.
- * doc/README_stack.txt: Ditto.
-
-2010-02-25 Ivan Maidanski <ivmai@mail.ru> (really Bruce Mitchener)
-
- * .cvsignore: New file.
- * doc/.cvsignore: Ditto.
- * src/.cvsignore: Ditto.
- * src/atomic_ops/.cvsignore: Ditto.
- * src/atomic_ops/sysdeps/.cvsignore: Ditto.
- * tests/.cvsignore: Ditto.
-
-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).
-
-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+.
-
-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.
-
-2010-02-04 Ivan Maidanski <ivmai@mail.ru>
-
- * doc/Makefile.in: Regenerate.
-
-2010-02-04 Ivan Maidanski <ivmai@mail.ru> (really Ian Wienand)
-
- * doc/Makefile.am: Remove duplicate file in the list.
-
-2010-02-03 Ivan Maidanski <ivmai@mail.ru>
-
- * ChangeLog: Fix some typos.
-
-2010-02-03 Ivan Maidanski <ivmai@mail.ru>
-
- * src/atomic_ops_stack.c (AO_stack_push_explicit_aux_release):
- Define "i" variable only if used (to suppress a compiler warning).
-
-2010-02-02 Ivan Maidanski <ivmai@mail.ru>
-
- * src/atomic_ops/sysdeps/sunc/x86.h (AO_test_and_set_full): Fix
- "xchg" data size (remove "l" suffix).
- * src/atomic_ops/sysdeps/sunc/x86_64.h (AO_test_and_set_full):
- Ditto.
- * src/atomic_ops/sysdeps/sunc/x86_64.h (AO_test_and_set_full): Use
- AO_TS_t for oldval.
- * src/atomic_ops/sysdeps/sunc/x86.h
- (AO_compare_double_and_swap_double_full,
- AO_HAVE_compare_double_and_swap_double_full): Comment out (since
- not tested, might be wrong, and tickles a bug in some Sun CC
- versions; besides, __PIC__ macro is never predefined by Sun CC).
-
-2010-01-29 Ivan Maidanski <ivmai@mail.ru>
-
- * INSTALL: Regenerate (by autoreconf -vif using libtool-2.2.6b,
- automake-1.11.1, autoconf-2.65).
- * Makefile.in: Ditto.
- * aclocal.m4: Ditto.
- * compile: Ditto.
- * config.guess: Ditto.
- * config.sub: Ditto.
- * configure: Ditto.
- * depcomp: Ditto.
- * install-sh: Ditto.
- * missing: Ditto.
- * mkinstalldirs: 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.
-
-2009-12-19 Ivan Maidanski <ivmai@mail.ru>
-
- * src/atomic_ops/sysdeps/ibmc/powerpc.h (AO_lwsync): Redirect to
- AO_sync() if __NO_LWSYNC__ (same as for gcc/powerpc.h).
-
-2009-12-17 Ivan Maidanski <ivmai@mail.ru> (really Emmanuel Stapf)
-
- * src/atomic_ops.h: Recognize _M_X64 (as an alias for _AMD64_).
-
-2009-12-04 Ivan Maidanski <ivmai@mail.ru>
-
- * configure.ac, README: Change to version 7.2alpha5.
- * configure: Regenerate.
-
-[7.2alpha4]
-
-2009-12-02 Ivan Maidanski <ivmai@mail.ru>
-
- * configure.ac, README: Change to version 7.2alpha4.
- * configure: Regenerate.
-
-2009-12-01 Ivan Maidanski <ivmai@mail.ru>
-
- * configure.ac, README: Change to version 1.3alpha1.
- * configure: Regenerate.
-
-2009-11-21 Ivan Maidanski <ivmai@mail.ru> (really Daniel R. Grayson)
-
- * configure.ac (AC_CONFIG_COMMANDS): Quote PICFLAG, CC, DEFS
- values.
- * configure: Regenerate.
-
-2009-10-06 Ivan Maidanski <ivmai@mail.ru>
-
- * src/atomic_ops/sysdeps/gcc/sh.h: Remove commented out AO_TS_SET
- redefinition.
-
-2009-10-05 Ivan Maidanski <ivmai@mail.ru>
-
- * src/atomic_ops/sysdeps/Makefile.in: Regenerate.
-
-2009-10-05 Ivan Maidanski <ivmai@mail.ru> (really Takashi YOSHII)
-
- * src/atomic_ops/sysdeps/gcc/sh.h: New file.
- * src/atomic_ops.h: Include gcc/sh.h if __arm__.
- * src/atomic_ops/sysdeps/Makefile.am: Add gcc/sh.h entry.
-
-2009-10-02 Ivan Maidanski <ivmai@mail.ru>
-
- * src/atomic_ops/sysdeps/Makefile.am: Add armcc/arm_v6.h,
- msftc/arm.h, msftc/common32_defs.h, sunc/x86.h sunc/x86_64.h
- entries; order all entries alphabetically.
- * src/atomic_ops/sysdeps/Makefile.in: Regenerate.
-
-2009-10-01 Ivan Maidanski <ivmai@mail.ru>
-
- * aclocal.m4: Regenerate (by autoreconf -vif using libtool-2.2,
- automake-1.10.2, autoconf-2.64).
- * INSTALL: Ditto.
- * Makefile.in: Ditto.
- * aclocal.m4: Ditto.
- * config.guess: Ditto.
- * config.sub: Ditto.
- * configure: Ditto.
- * depcomp: Ditto.
- * install-sh: Ditto.
- * missing: Ditto.
- * mkinstalldirs: Ditto.
- * doc/Makefile.in: Ditto.
- * src/config.h.in: Ditto.
- * src/Makefile.in: Ditto.
- * src/atomic_ops/Makefile.in: Ditto.
- * src/atomic_ops/sysdeps/Makefile.in: Ditto.
- * tests/Makefile.in: Ditto.
-
-2009-10-01 Ivan Maidanski <ivmai@mail.ru>
-
- * src/atomic_ops/sysdeps/gcc/x86.h: Remove spaces preceding '#'
- for the preprocessor directives.
- * src/atomic_ops/sysdeps/sunc/x86.h: Ditto.
-
-2009-09-30 Ivan Maidanski <ivmai@mail.ru> (really Petter Urkedal)
-
- * README: Move notes from the hand-edited part of INSTALL which
- was overwritten by Automake recently.
-
-2009-09-26 Ivan Maidanski <ivmai@mail.ru>
-
- * aclocal.m4: Regenerate (by autoreconf -vif).
- * config.guess: Ditto.
- * config.sub: Ditto.
- * configure: Ditto.
- * INSTALL: Ditto.
- * Makefile.in: Ditto.
- * doc/Makefile.in: Ditto.
- * src/config.h.in: Ditto.
- * src/Makefile.in: Ditto.
- * src/atomic_ops/Makefile.in: Ditto.
- * src/atomic_ops/sysdeps/Makefile.in: Ditto.
- * tests/Makefile.in: Ditto.
-
-2009-09-25 Ivan Maidanski <ivmai@mail.ru> (really Petter Urkedal)
-
- * configure.ac: Replace AC_PROG_CC with AM_PROG_CC_C_O.
-
-2009-09-16 Ivan Maidanski <ivmai@mail.ru>
-
- * ChangeLog: Remove trailing spaces at EOLn.
- * doc/README.txt: Expand all tabs to spaces; remove trailing
- spaces at EOLn; remove multiple trailing blank lines.
- * src/atomic_ops.c: Ditto.
- * src/atomic_ops.h: Ditto.
- * src/atomic_ops/generalize-small.h: Ditto.
- * src/atomic_ops/generalize.h: Ditto.
- * src/atomic_ops/sysdeps/acquire_release_volatile.h: Ditto.
- * src/atomic_ops/sysdeps/aligned_atomic_load_store.h: Ditto.
- * src/atomic_ops/sysdeps/all_aligned_atomic_load_store.h: Ditto.
- * src/atomic_ops/sysdeps/all_atomic_load_store.h: Ditto.
- * src/atomic_ops/sysdeps/ao_t_is_int.h: Ditto.
- * src/atomic_ops/sysdeps/armcc/arm_v6.h: Ditto.
- * src/atomic_ops/sysdeps/atomic_load_store.h: Ditto.
- * src/atomic_ops/sysdeps/char_acquire_release_volatile.h: Ditto.
- * src/atomic_ops/sysdeps/char_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/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/generic_pthread.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/icc/ia64.h: Ditto.
- * src/atomic_ops/sysdeps/int_acquire_release_volatile.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/msftc/arm.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/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_acquire_release_volatile.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/standard_ao_double_t.h: Ditto.
- * src/atomic_ops/sysdeps/sunc/x86.h: Ditto.
- * src/atomic_ops/sysdeps/sunc/x86_64.h: Ditto.
- * src/atomic_ops/sysdeps/test_and_set_t_is_ao_t.h: Ditto.
- * src/atomic_ops_stack.c: Ditto.
- * src/atomic_ops_stack.h: Ditto.
- * src/atomic_ops/sysdeps/gcc/arm.h: Replace non-ASCII quotes in a
- comment.
- * src/atomic_ops/sysdeps/gcc/mips.h: Use Unix-style EOLn.
-
-2009-09-10 Ivan Maidanski <ivmai@mail.ru>
- (ivmai123.diff)
-
- * src/atomic_ops/sysdeps/msftc/arm.h: Add FIXME for InterlockedOps
- (regarding memory barrier).
- * src/atomic_ops/sysdeps/msftc/arm.h: Don't recognize
- AO_ASSUME_ARM_ARCH6 anymore; check for _M_ARM >= 6 instead.
- * src/atomic_ops/sysdeps/msftc/arm.h (AO_nop_full,
- AO_test_and_set): Replace FIXME with the comment saying it is
- emulated (in generalize.h); include test_and_set_t_is_ao_t.h.
- * src/atomic_ops/sysdeps/msftc/arm.h (AO_store_full): Implement
- using InterlockedCompareExchange() (assuming the latter has a full
- mbar) for ARMv6+.
- * src/atomic_ops/sysdeps/msftc/arm.h: Include
- all_atomic_load_store.h and test_and_set_t_is_ao_t.h for the case
- of pre-ARMv6; add the comment.
-
-2009-09-10 Ivan Maidanski <ivmai@mail.ru>
- (ivmai122.diff)
-
- * src/atomic_ops/sysdeps/armcc/arm_v6.h
- (AO_compare_double_and_swap_double): Replace false/true with 0/1.
- * src/atomic_ops/sysdeps/gcc/arm.h
- (AO_compare_double_and_swap_double): Ditto.
- * src/atomic_ops/sysdeps/gcc/arm.h: Recognize more ARMv6+
- predefined macros (6J, 6ZK, 7A, 7M, 7R).
- * src/atomic_ops/sysdeps/gcc/arm.h
- (AO_compare_double_and_swap_double): Add "cc" clobber to asm.
- * src/atomic_ops/sysdeps/gcc/powerpc.h (AO_HAVE_load_acquire):
- Correct the name (convert from the lower case).
- * src/atomic_ops/sysdeps/ibmc/powerpc.h (AO_HAVE_load_acquire):
- Ditto.
- * src/atomic_ops/sysdeps/ibmc/powerpc.h (AO_test_and_set,
- AO_compare_and_swap): Comment out unimplemented code (and the
- corresponding macros); add FIXME.
- * src/atomic_ops.c: Recognize AO_USE_WIN32_PTHREADS overriding
- _MSC_VER and __MINGW32__ predefined macros (useful for WinCE with
- pthreads-w32 library); don't include signal.h, sys/time.h,
- sys/select.h in this case; include windows.h instead.
- * src/atomic_ops.c (AO_pause): Use Sleep() in case of
- AO_USE_WIN32_PTHREADS (instead of select()).
- * src/atomic_ops.c (all_sigs, initialized): Don't define in case
- of AO_USE_WIN32_PTHREADS.
- * src/atomic_ops.c (AO_compare_and_swap_emulation,
- AO_compare_double_and_swap_double_emulation): Don't deal with
- signals in case of AO_USE_WIN32_PTHREADS.
-
-2009-09-10 Ivan Maidanski <ivmai@mail.ru>
- (diff110)
-
- * src/atomic_ops/sysdeps/msftc/arm.h: New file (initial support
- for ARM family).
- * src/atomic_ops/sysdeps/msftc/common32_defs.h: New file.
- * src/atomic_ops/sysdeps/msftc/arm.h (AO_ASSUME_ARM_ARCH6): New
- macro.
- * src/atomic_ops/sysdeps/msftc/common32_defs.h
- (AO_USE_INTERLOCKED_INTRINSICS): Ditto.
- * src/atomic_ops/sysdeps/msftc/x86.h: Move "Interlocked"
- declarations to common32_defs.h.
- * src/atomic_ops/sysdeps/msftc/common32_defs.h
- (AO_INTERLOCKED_VOLATILE): New macro defined (used by
- Interlocked-based primitives) for compatibility with older VC++.
- * src/atomic_ops/sysdeps/msftc/common32_defs.h: Don't include
- missing <intrin.h> if WinCE target.
- * src/atomic_ops/sysdeps/msftc/x86.h: Include common32_defs.h
- (define AO_USE_INTERLOCKED_INTRINSICS unconditionally).
- * src/atomic_ops/sysdeps/msftc/x86.h (AO_fetch_and_add_full,
- AO_fetch_and_add1_full, AO_fetch_and_sub1_full,
- AO_compare_and_swap_full): Move arch-independent primitives to
- common32_defs.h.
- * src/atomic_ops/sysdeps/msftc/x86.h: Remove comment about i486 or
- better CPU (since Interlocked Add and Xchg primitives are available
- on any 32-bit CPU).
- * src/atomic_ops.h: Include msftc/x86.h even if _M_IX86 is less than
- 400 (for i80386).
- * src/atomic_ops.h: Include msftc/x86.h if "x86" defined (for WinCE
- on x86).
- * src/atomic_ops.h: Include msftc/arm.h if ARM target (for WinCE).
-
-2009-09-10 Ivan Maidanski <ivmai@mail.ru>
- (diff109_cvs)
-
- * src/atomic_ops/sysdeps/msftc/x86.h: Fix comments (prefix
- ASSUME_WINDOWS98 with "AO_").
- * src/atomic_ops/sysdeps/msftc/x86.h: Prefix ASSUME_VISTA macro with
- "AO_".
- * src/atomic_ops/sysdeps/msftc/x86.h (AO_nop_full): Replace
- K&R-style function definition with ANSI C one.
- * src/atomic_ops/sysdeps/msftc/x86.h (AO_test_and_set_full):
- Replace AO_TS_SET with its value 0xff (some compilers does not like
- C enum consts inside inline assembler).
- * src/atomic_ops/sysdeps/msftc/x86.h (AO_test_and_set_full): Add
- comment about "missing return value" warning.
- * src/atomic_ops/sysdeps/msftc/x86.h
- (AO_OLD_STYLE_INTERLOCKED_COMPARE_EXCHANGE): New macro.
- * src/atomic_ops/sysdeps/msftc/x86.h (AO_compare_and_swap_full): Use
- _InterlockedCompareExchange() with args and result of PVOID type
- if AO_OLD_STYLE_INTERLOCKED_COMPARE_EXCHANGE is defined (mostly for
- DigitalMars compiler support).
- * src/atomic_ops/sysdeps/msftc/x86.h
- (AO_compare_double_and_swap_double_full): Swap all "val1" and "val2"
- variables ("val1" is the lowest part of AO_double_t).
- * src/atomic_ops/sysdeps/msftc/x86.h
- (AO_compare_double_and_swap_double_full): Rename to
- AO_double_compare_and_swap_full (as it has 3 args).
- * src/atomic_ops/sysdeps/msftc/x86.h: Replace C++ style comment
- with ANSI C one.
-
-2009-09-10 Ivan Maidanski <ivmai@mail.ru>
- (diff108_cvs)
-
- * src/atomic_ops/sysdeps/gcc/x86_64.h: Remove comments about i486
- and 32-bit WinChips.
- * src/atomic_ops/sysdeps/msftc/x86_64.h: Ditto.
- * src/atomic_ops/sysdeps/gcc/x86_64.h (AO_nop_full): Replace
- K&R-style function definition with ANSI C one.
- * src/atomic_ops/sysdeps/msftc/x86_64.h (AO_nop_full): Ditto.
- * src/atomic_ops/sysdeps/gcc/x86_64.h
- (AO_compare_double_and_swap_double_full): Fix comment.
- * src/atomic_ops/sysdeps/gcc/x86_64.h
- (AO_compare_double_and_swap_double_full): Swap all "val1" and "val2"
- variables ("val1" is the lowest part of AO_double_t).
- * src/atomic_ops/sysdeps/msftc/x86_64.h
- (AO_compare_double_and_swap_double_full): Ditto.
- * src/atomic_ops/sysdeps/msftc/x86_64.h: Remove comment about
- ASSUME_WINDOWS98.
- * src/atomic_ops/sysdeps/msftc/x86_64.h (AO_ASM_X64_AVAILABLE): New
- macro.
- * src/atomic_ops/sysdeps/msftc/x86_64.h: Include
- "test_and_set_t_is_char.h" if AO_ASM_X64_AVAILABLE (same as in
- x86_64.h for gcc); remove FIXME (for re-implement test-and-set).
- * src/atomic_ops/sysdeps/msftc/x86_64.h: Include
- "standard_ao_double_t.h" (same as in x86_64.h for gcc).
- * src/atomic_ops/sysdeps/msftc/x86_64.h: Add comment for include
- <intrin.h> assuming at least VC++ v8.
- * src/atomic_ops/sysdeps/msftc/x86_64.h: Remove _Interlocked
- prototypes (since they are always declared in intrin.h).
- * src/atomic_ops/sysdeps/msftc/x86_64.h (AO_nop_full): Move its
- definition below CAS primitive (to textually group all asm-based
- primitives together).
- * src/atomic_ops/sysdeps/msftc/x86_64.h (AO_test_and_set_full):
- Implement for AO_ASM_X64_AVAILABLE case.
- * src/atomic_ops/sysdeps/msftc/x86_64.h: Remove AO_CASDOUBLE_MISSING
- macro (replaced with AO_ASM_X64_AVAILABLE).
- * src/atomic_ops/sysdeps/msftc/x86_64.h
- (AO_compare_double_and_swap_double_full): Add intrinsic-based
- implementation for VC++ v9+.
- * src/atomic_ops/sysdeps/standard_ao_double_t.h: Include
- <xmmintrin.h> (and use "__m128" type) if _WIN64.
- * src/atomic_ops/sysdeps/standard_ao_double_t.h
- (AO_HAVE_DOUBLE_PTR_STORAGE): Define it always (as
- "double_ptr_storage" is defined for all cases).
-
-2009-09-09 Hans Boehm <Hans.Boehm@hp.com> (Really mostly Patrick Marlier)
-
- * src/atomic_ops/sysdeps/gcc/sparc.h (NO_SPARC_V9):
- Renamed to AO_NO_SPARC_V9.
-
-2009-09-01 Hans Boehm <Hans.Boehm@hp.com> (Really mostly Patrick Marlier)
-
- * src/atomic_ops/sysdeps/gcc/sparc.h (AO_test_and_set_full): Use
- AO_TS_VAL_t for "oldval" (for 64-bit support).
- * src/atomic_ops/sysdeps/gcc/sparc.h (AO_compare_and_swap_full):
- New function implemented.
-
-2009-08-12 Hans Boehm <Hans.Boehm@hp.com> (Really Ivan Maidanski)
- (diff107_cvs, resembling diff78 and diff88_cvs)
-
- * src/atomic_ops/sysdeps/sunc/x86.h: New file.
- * src/atomic_ops/sysdeps/sunc/x86_64.h: Ditto.
- * src/atomic_ops.h (AO_INLINE): Support inlining for DigitalMars,
- Watcom, Sun C.
- * src/atomic_ops.h (AO_compiler_barrier): Use intrinsic-based
- implementation for VC++ v8+ (include <intrin.h> before it unless
- WinCE target); use asm-based barrier implementation for Borland,
- DigitalMars and Watcom.
- * src/atomic_ops.h: Fix comment (for x86_64).
- * src/atomic_ops.h: Include specialized x86.h and x86_64.h arch
- headers for Sun C (if not AO_USE_PTHREAD_DEFS).
- * src/atomic_ops.h: Include VC-specific arch headers for Borland,
- DigitalMars and Watcom (Win32 target only).
-
-2009-05-27 Hans Boehm <Hans.Boehm@hp.com> (Really Ivan Maidanski)
- (diff87_cvs, resembling diff29, diff68, diff78 partly)
-
- * doc/README.txt: Remove outdated info about Windows support.
- * src/atomic_ops/generalize.h (AO_nop_full): Replace
- K&R-style function definition with ANSI C one.
- * src/atomic_ops/sysdeps/armcc/arm_v6.h (AO_nop_full): Ditto.
- * src/atomic_ops/sysdeps/gcc/alpha.h (AO_nop_full, AO_nop_write):
- Ditto.
- * src/atomic_ops/sysdeps/gcc/arm.h (AO_nop_full): Ditto.
- * src/atomic_ops/sysdeps/gcc/ia64.h (AO_nop_full): Ditto.
- * src/atomic_ops/sysdeps/gcc/mips.h (AO_nop_full): Ditto.
- * src/atomic_ops/sysdeps/gcc/powerpc.h (AO_nop_full, AO_lwsync): Ditto.
- * src/atomic_ops/sysdeps/gcc/x86.h (AO_nop_full): Ditto.
- * src/atomic_ops/sysdeps/generic_pthread.h (AO_nop_full): Ditto.
- * src/atomic_ops/sysdeps/hpc/ia64.h (AO_nop_full): Ditto.
- * src/atomic_ops/sysdeps/icc/ia64.h (AO_nop_full): Ditto.
- * src/atomic_ops/sysdeps/ordered.h (AO_nop_full): Ditto.
- * src/atomic_ops/sysdeps/ordered_except_wr.h (AO_nop_write): Ditto.
- * src/atomic_ops/sysdeps/read_ordered.h (AO_nop_read): Ditto.
- * src/atomic_ops/sysdeps/test_and_set_t_is_ao_t.h (AO_TS_val): Fix
- comment.
-
-2009-02-24 Hans Boehm <Hans.Boehm@hp.com> (Really primarily Earl Chew)
-
- * src/atomic_ops/sysdeps/gcc/powerpc.h: Add index,
- update modifiers to asms, refine clobbers to "cr0", use
- cr0 instead of cr7, add explicit AO_fetch_and_add,
- add UNTESTED 64 bit support.
-
-2008-11-10 Hans Boehm <Hans.Boehm@hp.com> (Really Joerg Wagner)
-
- * src/atomic_ops/sysdeps/armcc/arm_v6.h: Compute
- AO_compare_and_swap value differently, add
- AO_compare_double_and_swap_double, some indentation fixes.
- * src/atomic_ops/sysdeps/gcc/arm.h: Make gcc asm code more
- robust and minimize clobbers, Add AO_compare_double_and_swap_double.
-
-2008-11-06 Hans Boehm <Hans.Boehm@hp.com>
-
- * INSTALL: Add some platform-specific documentation.
- * src/Makefile.msft: Fix copyright notice.
-
-2008-10-21 Hans Boehm <Hans.Boehm@hp.com> (really Ivan Maidanski)
-
- * src/atomic_ops/sysdeps/aligned_atomic_load_store.h: Fix comments.
- * src/atomic_ops/sysdeps/all_aligned_atomic_load_store.h: Fix comments.
- * src/atomic_ops/sysdeps/all_atomic_load_store.h: Fix comments.
- * src/atomic_ops/sysdeps/atomic_load_store.h: Fix comments.
- * src/atomic_ops/sysdeps/char_atomic_load_store.h: Fix comments.
- * src/atomic_ops/sysdeps/gcc/arm.h: Fix comments.
- * src/atomic_ops/sysdeps/gcc/x86.h: Fix comments.
- * src/atomic_ops/sysdeps/gcc/x86_64.h: Fix comments.
- * src/atomic_ops/sysdeps/hpc/hppa.h: Fix comments.
- * src/atomic_ops/sysdeps/hpc/ia64.h: Fix comments.
- * src/atomic_ops/sysdeps/int_aligned_atomic_load_store.h: Fix comments.
- * src/atomic_ops/sysdeps/int_atomic_load_store.h: Fix comments.
- * src/atomic_ops/sysdeps/short_aligned_atomic_load_store.h: Fix comments.
- * src/atomic_ops/sysdeps/short_atomic_load_store.h: Fix comments.
- * src/atomic_ops.c: Fix comments.
- * src/atomic_ops.h: Fix comments.
- * src/atomic_ops_stack.c: Fix comments.
- * src/atomic_ops_stack.h: Fix comments.
-
-2008-10-20 Hans Boehm <Hans.Boehm@hp.com> (really Andrew Agno)
-
- * src/atomic_ops/sysdeps/gcc/x86_64.h (AO_int_fetch_and_add_full):
- fix return type.
-
-2008-08-21 Hans Boehm <Hans.Boehm@hp.com>
-
- * config.guess, config.sub, configure: Regenerate/replace.
- Use autoconf 2.61, automake 1.9.6.
-
-2008-08-19 Hans Boehm <Hans.Boehm@hp.com> (really Thiemo Seufer)
-
- * src/atomic_ops/sysdeps/gcc/powerpc.h: Add %U1 (update) to lwz
- instruction.
-
-2008-08-19 Hans Boehm <Hans.Boehm@hp.com> (really Sebastian Siewior)
-
- * src/atomic_ops/sysdeps/gcc/powerpc.h: Consider __NO_LWSYNC__.
-
-2008-07-24 Hans Boehm <Hans.Boehm@hp.com> (really Ivan Maidanski)
-
- * src/atomic_ops/sysdeps/ao_t_is_int.h, src/atomic_ops.h:
- Add parentheses around addr arg for various functions.
-
-2008-07-18 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/atomic_ops/sysdeps/gcc/powerpc.h:
- Add const to first parameter of load calls (forgot one).
-
-2008-07-18 Hans Boehm <Hans.Boehm@hp.com>
-
- * doc/README.txt, src/atomic_ops/generalize.h,
- src/atomic_ops/generalize-small.template,
- src/atomic_ops/generalize-small.h,
- src/atomic_ops/sysdeps/acquire_release_volatile.h,
- src/atomic_ops/sysdeps/char_acquire_release_volatile.h,
- src/atomic_ops/sysdeps/int_acquire_release_volatile.h,
- src/atomic_ops/sysdeps/short_acquire_release_volatile.h,
- src/atomic_ops/sysdeps/aligned_atomic_load_store.h,
- src/atomic_ops/sysdeps/int_aligned_atomic_load_store.h,
- src/atomic_ops/sysdeps/short_aligned_atomic_load_store.h,
- src/atomic_ops/sysdeps/ao_t_is_int.h,
- src/atomic_ops/sysdeps/atomic_load_store.h,
- src/atomic_ops/sysdeps/char_atomic_load_store.h,
- src/atomic_ops/sysdeps/int_atomic_load_store.h,
- src/atomic_ops/sysdeps/short_atomic_load_store.h,
- src/atomic_ops/sysdeps/generic_pthread.h,
- src/atomic_ops/sysdeps/read_ordered.h,
- src/atomic_ops/sysdeps/sysdeps/armcc/arm_v6.h,
- src/atomic_ops/sysdeps/gcc/arm.h,
- src/atomic_ops/sysdeps/icc/ia64.h,
- src/atomic_ops/sysdeps/ibmc/powerpc.h:
- Add const to first parameter of load calls.
-
-2008-07-10 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/atomic_ops/sysdeps/gcc/m68k.h: Remove SMP-unsafe
- AO_or_full, and let it be autogenerated instead.
-
-2008-07-03 Hans Boehm <Hans.Boehm@hp.com> (Really Thiemo Seufer)
-
- * src/atomic_ops/sysdeps/gcc/mips.h: Really add mips support,
- fixing a merge accident.
-
-2008-05-30 Hans Boehm <Hans.Boehm@hp.com> (Really from various Debian
- contributors)
-
- * doc/Makefile.in, src/Makefile.in, src/atomic_ops/Makefile.in:
- Regenerate.
-
-2008-05-30 Hans Boehm <Hans.Boehm@hp.com> (Really from various Debian
- contributors)
-
- * src/atomic_ops.h, src/atomic_ops/sysdeps/Makefile.am,
- src/atomic_ops/sysdeps/gcc/mips.h: Add mips support.
- * src/atomic_ops/sysdeps/gcc/m68k.h: Make test_and_set work
- on char, align AO_t. Add cas, or.
- * src/atomic_ops/sysdeps/gcc/s390.h: Fix include paths.
- * src/atomic_ops/generalize.h: Fix AO_compare_and_swap_double_acquire.
- * Makefile.in, aclocal.m4, src/atomic_ops/sysdeps/Makefile.in,
- tests/Makefile.in: Regenerate.
-
-2008-02-11 Hans Boehm <Hans.Boehm@hp.com>
- (Really Ian Wienand & Debian maintainers)
-
- * src/atomic_ops/sysdeps/gcc/x86.h
- (AO_compare_double_and_swap_double_full): Correctly account for
- ebx usage with PIC.
-
-2008-01-09 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/atomic_ops/sysdeps/standard_ao_double_t.h: Let
- double_ptr_storage default to long long; define everywhere.
-
-2008-01-08 Hans Boehm <Hans.Boehm@hp.com> (Really mostly Joerg Wagner)
-
- * src/atomic_ops/sysdeps/msftc/x86.h: Conditionally add
- compare_double_and_swap_double.
-
-2008-01-06 Hans Boehm <Hans.Boehm@hp.com> (Really mostly Joerg Wagner)
-
- * src/atomic_ops/generalize.h: Add test_and_set generalizations,
- Add AO_double_compare_and_swap generalizations.
- * src/atomic_ops/sysdeps/armcc/arm_v6.h: New file.
- * src/atomic_ops/sysdeps/gcc/arm.h: Handle V6 and V7.
- * src/atomic_ops/sysdeps/gcc/x86.h,
- src/atomic_ops/sysdeps/{gcc,msftc}/x86_64.h: Conditionally add
- compare_double_and_swap_double, commented out for msftc.
- * src/atomic_ops/sysdeps/standard_ao_double_t.h: Add
- double_ptr_storage field.
-
-2008-01-03 Hans Boehm <Hans.Boehm@hp.com>
- (Merge from separate atomic_ops tree)
-
- * src/atomic_ops/sysdeps/gcc/x86.h: Define correct macro for
- double-width cas, and fix its implementation.
- * doc/README.txt: Clarify use of _full. Add more warnings about
- data dependencies.
-
-2008-01-02 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/atomic_ops/sysdeps/gcc/powerpc.h (AO_load_acquire): Add
- %X1 modifier to support indexed addressing.
-
-2007-07-23 Hans Boehm <Hans.Boehm@hp.com> (really Jim Marshall)
-
- * src/atomic_ops/sysdeps/msftc/x86.h (_InterlockedExchangeAdd): Define
- for VC++6.
-
-2007-07-05 Andreas Tobler <a.tobler@schweiz.org>
-
- * src/atomic_ops.h: Check for __powerpc64__ and __ppc64__ to include
- powerpc.h.
-
-2007-06-26 Hans Boehm <Hans.Boehm@hp.com> (really Luca Barbato)
-
- * src/atomic_ops/sysdeps/gcc/powerpc.h (AO_load_acquire): Add
- 64-bit version.
-
-2007-06-13 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/atomic_ops.h: include stddef.h
-
-2007-06-06 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/atomic_ops/sysdeps/msftc/x86_64.h: New file.
- * src/atomic_ops.h: Add test for msftc/x86_64.h.
- * src/atomic_ops/sysdeps/msftc/x86.h: Complain for _WIN64.
- * src/atomic_ops/sysdeps/Makefile.am: Add x86_64.h.
- * src/atomic_ops/sysdeps/Makefile.in: Regenerate.
- * src/atomic_ops/sysdeps/aligned_atomic_load_store.h,
- src/atomic_ops/sysdeps/int_aligned_atomic_load_store.h,
- src/atomic_ops/sysdeps/short_aligned_atomic_load_store.h:
- Replace unsigned long cast with size_t.
-
-2007-05-17 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/atomic_ops/sysdeps/gcc/hppa.h (AO_test_and_set_full):
- Add cast for return.
-
-2007-05-14 Hans Boehm <Hans.Boehm@hp.com>
-
- * doc/README.txt: Update to reflect C++0x effort.
-
-2007-05-07 Hans Boehm <Hans.Boehm@hp.com> (with help from Philipp Zambelli)
-
- * src/atomic_ops/sysdeps/msftc/x86.h: Don't just assume that mfence
- is present.
- * src/atomic_ops/sysdeps/gcc/arm.h (AO_test_and_set_full): Correct
- oldval type.
-
-2006-11-09 Earl Chew (Agilent)
-
- * msftc/x86.h: Follow Microsoft documentation and include
- windows.h.
-
-[1.2 release]
-
-2006-07-11 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/atomic_ops/sysdeps/hpc/ia64.h: Fix typos.
-
-2006-03-28 Earl Chew (Agilent)
-
- * src/atomic_ops/sysdeps/gcc/powerpc.h: Remove unused variable cr.
- * src/atomic_ops/sysdeps/msftc/x86.h:
- Use new intrinsics available in MSVC 2003 and MSVC 2005.
- Use inline assembler to generate mfence and byte sized xchg
- Use correct prototype for InterlockedCompareExchange.
- * src/atomic_ops.h: Add test for __PPC__ .
- * tests/run_parallel.inc: Add simple VxWorks support.
- * tests/test_atomic.c, tests/test_atomic_include.h: Add prototypes
- to silence compiler warnings.
-
-2006-11-13 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/atomic_ops/sysdeps/gcc/powerpc.h: Beginnings of 64 bit support.
- * src/atomic_ops/sysdeps/gcc/x86.h: Use "=q" for AO_test_and_set_full.
-
-2005-11-04 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/atomic_ops/sysdeps/gcc/ia64.h: Include
- all_acquire_release_volatile.h, instead of just the pointer-sized
- version.
- * src/atomic_ops/sysdeps/gcc/ia64.h: Include
- all_acquire_release_volatile.h and all_atomic_load_store.h,
- instead of just the pointer-sized versions.
-
-[1.1 release]
-
-2005-09-27 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/atomic_ops.h: Define AO_CAN_EMUL_CAS for arm.
- * src/atomic_ops/sysdeps/read_ordered.h: New file, extracted from
- ordered_except_wr.h.
- * src/atomic_ops/sysdeps/ordered_except_wr.h: include read_ordered.h
- instead of duplicating it.
- * src/atomic_ops/sysdeps/gcc/arm.h: Include read_ordered.h.
-
-2005-09-16 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/atomic_ops/sysdeps/gcc/arm.h: Replace the AO_test_and_set
- definition with one that might actually work. (Thanks to Kazu
- Hirata and Paul Brook.)
-
-2005-08-01 Hans Boehm <Hans.Boehm@hp.com>
-
- * src/atomic_ops/Makefile.am: Change function naming from "byte" to
- "char" (again).
-
-[1.0 release]
-
-2005-03-21 Hans Boehm <Hans.Boehm@hp.com>
- Fix various acquire_release_volatile.h files to reflect the fact
- that both icc and gcc seem to reorder ordinary memory accesses around
- volatile accesses early in the compilation. Modify the acquire
- release test to catch this problem (with high probability, and only on
- a multiprocessor).
-
-2005-03 Hans Boehm <Hans.Boehm@hp.com>
- Fixes for recently introduced bugs. Update x86 and x86-64 assembly
- syntax to deal with complaints by some recent gcc versions.
-
-2005-02 Hans Boehm <Hans.Boehm@hp.com>
- Added libatomic_ops_gpl library with support for mostly
- lock-free stack and malloc().
-
-2005-01 Ian Wienand <ianw@gelato.unsw.edu.au>, Al Stone <ahs3@debian.org>,
- Hans Boehm <Hans.Boehm@hp.com>
- Use autoconf, automake, starting with code from Debian package.
- Don't use libtool.
-
-2005-01 Hans Boehm <Hans.Boehm@hp.com>
- * test_and_set_t_is_ao_t.h, test_and_set_t_is_char.h, others:
- Change most platforms to use byte-wide test-and-set locations.
-
-2005-01 Hans Boehm <Hans.Boehm@hp.com>
- * ao_t_is_int.h: Add to trivially support int-wide operations
- on platforms with int-sized pointers.
-
-2004-12 Hans Boehm <Hans.Boehm@hp.com>
- * gcc/powerpc.h: First serious attempt to support PowerPC (with
- help from Maged Michael and others).
-
-2004-12 Hans Boehm <Hans.Boehm@hp.com>
- * sunc/sparc.[hS]: Added minimal support for the Sun SPARC compiler.
- * atomic_ops_sysdeps.S: Add support for platforms that require
- out-of-line assembly code.
-
-2004-10 Hans Boehm <Hans.Boehm@hp.com>
- More work on char, short, int sized data. Add both
- compare_double_and_swap_double and compare_and_swap_double.
- Typically each platform will provide at most one of these.
-
-2004-07-02 Ranko Zivojnovic
- Replace both instances of AO_HAVE_NOP_FULL with AO_HAVE_nop_full.
-
-2004-06 Hans Boehm <Hans.Boehm@hp.com>
- Start to add atomic_ops primitives for different sized data.
-
-2003-12-18 Hans Boehm <Hans.Boehm@hp.com>
-
- * atomic_ops/sysdeps/acquire_release_volatile.h, atomic_ops.h:
- Fix support for ecc on IA64. Remove compiler_barrier workaround
- for gcc 3.4 and later.
-
-2003-12-17 Hans Boehm <Hans.Boehm@hp.com>
-
- * atomic_ops/sysdeps/hpc/{ia64.h,hppa.h},
- atomic_ops/sysdeps/msftc/x86.h, Makefile, Makefile.atomic_ops,
- Makefile.atomic_ops.msft, atomic_ops.h: Add initial support
- for atomic_ops for VC++/Windows/X86 and HP/UX with the HP
- compiler on PA_RISC and IA64.
-
-2003-12-09 Hans Boehm <Hans.Boehm@hp.com>
-
- * many: Install under "atomic_ops" instead of "ao".
- Change atomic_ops include file structure. Auxiliary include
- files are all under include/atomic_ops.
- Fix (hopefully) "make dist" in atomic_ops distribution.
- Renamed various types to end in _t, though the old versions
- are still defined for backward compatibility.
-
-2003-12-08 Carlos O'Donell <carlos@baldric.uwo.ca>
-
- * ao_sysdeps/gcc/hppa.h: Define AO_CLEAR macro. Change
- AO_pa_clearable_loc type. Add __ldcw, and __ldcw_align
- helper macros. AO_test_and_set_full uses helper macros.
-
-
-Started sometime after version 0.4 release. Currently the format is
-informal. Eventually should become more GNU-like.
+[7.2alpha6] 2011-06-14
+======================
+
+* Add missing AO_HAVE_ macros.
+* Add support of avr32 CPU.
+* Better support of various models of ARM.
+* Disable AO_compare_double_and_swap_double_full for SunCC x86 as not working.
+* Enable ARM Thumb-2 mode.
+* Fix AO_test_and_set_full for SunCC (x86).
+* Fix bugs in tests.
+* Fix clobbers in AO_compare_and_swap_full (x86.h).
+* Fix typos in identifiers and comments.
+* Improve AO_sync for PowerPC.
+* Improve make scripts (configure.ac).
+* Make get_mmaped() in atomic_ops_malloc.c more portable.
+* Support Intel compiler.
+* Support NaCl target.
+* Suppress compiler warnings in various places.
+* Test more predefined macros (ARM, PowerPC).
+* Use assembly code only for MS VC if available (x86_64).
+* Use built-in __sync_bool_compare_and_swap if available (x86_64).
+* Workaround bugs in LLVM GCC and SunCC regarding XCHG (x86, x86_64).
+
+
+[7.2alpha4] 2009-12-02
+======================
+
+* Fix typos in comments, identifiers and documentation.
+* Implement AO_compare_and_swap_full for SPARC.
+* Refine ARM-specific code.
+* Refine code and comments for MS VC.
+* Regenerate make scripts.
+* Share common code for all 32-bit CPUs (MS VC).
+* Support DigitalMars and Watcom compilers.
+* Support MS VC for ARM (WinCE).
+* Support SH CPU.
+* Support win32-pthreads.
+* Support x86 and x86_64 for SunCC compiler.
+
+
+[7.2alpha2] 2009-05-27
+======================
+
+* Add MIPS support.
+* Add better support for m68k.
+* Add "const" to first parameter of load calls.
+* Add parentheses around address argument for various macros.
+* Add some platform-specific documentation to INSTALL.
+* Add untested 64-bit support for PowerPC.
+* Fix AO_compare_and_swap_double_acquire.
+* Fix AO_int_fetch_and_add_full (x86_64).
+* Fix comments.
+* Fix s390 include paths.
+* Fix use of lwz instruction (PowerPC).
+* Refine clobbers (PowerPC).
+* Remove outdated info about Windows support in README.
+* Replace K&R-style function definition with ANSI C one.
+* add AO_compare_double_and_swap_double for ARMv6.
+* gcc/powerpc.h: Consider __NO_LWSYNC__.
+
+
+[7.1 release] 2008-02-11
+========================
+
+* Add test_and_set, AO_double_compare_and_swap generalizations.
+* Conditionally add compare_double_and_swap_double (x86).
+* Conditionally add compare_double_and_swap_double (x86).
+* Fix AO_compare_double_and_swap_double_full (x86) for PIC mode.
+* Fix AO_load_acquire for PowerPC.
+* Fix double-width CAS (x86).
+* Refine README (add more warnings about data dependencies).
+* Refine double_ptr_storage type definition.
+* Support ARMv6+ in GCC.
+* Support ArmCC compiler.
+* Use _InterlockedExchangeAdd for MS VC (x86).
+
+
+[7.0 release] 2007-06-28
+========================
+
+* Add 64-bit version of AO_load_acquire for PowerPC.
+* Add support of x86 and x86_64 for MS VC.
+* Do not assume that "mfence" is always present (x86.h).
+* Fix ARM AO_test_and_set_full.
+* Include windows.h (MS VC).
+* Update README to reflect C++0x effort.
+
+
+[1.2 release] 2006-07-11
+========================
+
+* Add prototypes to suppress compiler warnings.
+* Add simple VxWorks support.
+* Fix InterlockedCompareExchange proto usage.
+* Fix typos (ia64).
+* Include all_acquire_release_volatile.h and all_atomic_load_store.h (ia64).
+* Initial support for 64-bit targets.
+* Use "=q" for AO_test_and_set_full (x86).
+* Use inline assembler to generate "mfence" and byte sized XCHG.
+* Use new intrinsics available in MSVC 2003 and MSVC 2005.
+
+
+[1.1 release] 2005-09-27
+========================
+
+* Add and use read_ordered.h.
+* Change function naming from "byte" to "char".
+* Fix AO_test_and_set for ARM; define AO_CAN_EMUL_CAS.
+
+
+[1.0 release] 2005-03-21
+========================
+
+* Fix various bugs.
+* Add atomic_ops primitives for different sized data.
+* Add compare_double_and_swap_double and compare_and_swap_double.
+* Add initial support for atomic_ops for VC++/Windows/X86 and HP/UX.
+* Add minimal support for the Sun SPARC compiler.
+* Add support for platforms that require out-of-line assembly code.
+* Add support of int-wide operations on platforms with int-sized pointers.
+* Added libatomic_ops_gpl library with support for lock-free stack and malloc.
+* Attempt to support PowerPC.
+* Change atomic_ops include file structure.
+* Change most platforms to use byte-wide test-and-set locations.
+* Install under "atomic_ops" instead of "ao".
+* Remove compiler_barrier workaround for gcc 3.4+.
+* Renamed various types to end in _t.
+* Use autoconf, automake.