--- /dev/null
+[7.2d]
+
+2012-08-09 Ivan Maidanski <ivmai@mail.ru>
+
+ * README: Change version to 7.2d (rev. D).
+
+2012-08-01 Ivan Maidanski <ivmai@mail.ru>
+
+ * src/atomic_ops.h (AO_compiler_barrier): Add parentheses and cast to
+ void.
+
+2012-07-12 Ivan Maidanski <ivmai@mail.ru>
+
+ * config.guess: Regenerate (by autoreconf -vif using autoconf-2.68,
+ automake-1.11.1 and libtool-2.4).
+ * config.sub: Likewise.
+
+2012-07-04 Ivan Maidanski <ivmai@mail.ru>
+
+ * 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.
+
+2012-07-01 Ivan Maidanski <ivmai@mail.ru>
+
+ * 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 result by adding
+ 'unsigned' to XCTYPE.
+ * src/atomic_ops/generalize-small.h: Regenerate.
+
+[7.2]
+
+2012-05-11 Ivan Maidanski <ivmai@mail.ru>
+
+ * configure.ac, README: Bump version to 7.2 (final).
+ * configure: Regenerate.
+
+2012-05-01 H.J. Lu <hjl.tools@gmail.com>
+
+ * 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):
+ Remove 'q' suffix in asm instruction.
+
+2012-04-16 H.J. Lu <hjl.tools@gmail.com>
+
+ * src/atomic_ops/sysdeps/gcc/x86_64.h (AO_T_IS_INT): Defined
+ for x32.
+
+2012-03-28 Ivan Maidanski <ivmai@mail.ru>
+
+ * 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.
+
+2012-03-26 Ivan Maidanski <ivmai@mail.ru>
+
+ * 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).
+
+2012-03-26 Ivan Maidanski <ivmai@mail.ru>
+
+ * src/atomic_ops/sysdeps/standard_ao_double_t.h: Fix a typo in
+ comment.
+
+2012-03-19 Ivan Maidanski <ivmai@mail.ru>
+
+ * configure: Regenerate.
+ * Makefile.in: Likewise.
+
+2011-08-14 Petter Urkedal <paurkedal@gmail.com>
+
+ * 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.
+
+2011-08-04 Ivan Maidanski <ivmai@mail.ru> (really Petter Urkedal)
+
+ * 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.
+
+2012-03-07 Ivan Maidanski <ivmai@mail.ru>
+
+ * 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.
+
+2012-03-07 Ivan Maidanski <ivmai@mail.ru>
+
+ * 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.
+
+2012-03-07 Ivan Maidanski <ivmai@mail.ru>
+
+ * 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.
+
+2012-03-04 Ivan Maidanski <ivmai@mail.ru>
+
+ * src/atomic_ops_malloc.h (AO_malloc_enable_mmap): Fix a typo in the
+ comment.
+
+2012-01-19 Ivan Maidanski <ivmai@mail.ru>
+
+ * tests/test_atomic.c (main): Put "void" keyword into the arguments
+ specification of the function prototype.
+ * tests/test_stack.c (main): Likewise.
+
+2011-12-16 Ivan Maidanski <ivmai@mail.ru>
+
+ * 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.
+
+2011-11-29 Ivan Maidanski <ivmai@mail.ru>
+
+ * 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.
+
+2011-11-03 Ivan Maidanski <ivmai@mail.ru>
+
+ * 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.
+
+2011-10-24 Ivan Maidanski <ivmai@mail.ru>
+
+ * 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.
+
+2011-10-24 Ivan Maidanski <ivmai@mail.ru>
+
+ * tests/test_atomic_include.h: Regenerate.
+
+2011-10-24 Ivan Maidanski <ivmai@mail.ru>
+
+ * tests/test_atomic_include.template (test_atomicXX): Add action for
+ the missing AO_compare_and_swap primitive.
+
+2011-10-21 Ivan Maidanski <ivmai@mail.ru>
+
+ * src/atomic_ops.c (init_lock): Define only unless AO_USE_NO_SIGNALS.
+
+2011-10-21 Ivan Maidanski <ivmai@mail.ru>
+
+ * doc/README.txt: Fix a typo.
+
+2011-10-21 Ivan Maidanski <ivmai@mail.ru>
+
+ * src/atomic_ops/sysdeps/gcc/alpha.h (AO_compare_and_swap): Cast
+ returned value to int.
+
+2011-10-17 Ivan Maidanski <ivmai@mail.ru>
+
+ * src/atomic_ops/sysdeps/Makefile.in: Regenerate.
+
+2011-10-17 Ivan Maidanski <ivmai@mail.ru> (really Thorsten Glaser)
+
+ * src/atomic_ops/sysdeps/gcc/m68k.h (AO_test_and_set_full): Cast the
+ returned value.
+
+2011-10-15 Ivan Maidanski <ivmai@mail.ru>
+
+ * 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.
+
+2011-10-11 Ivan Maidanski <ivmai@mail.ru> (really Linas Vepstas)
+
+ * 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.
+
+2011-09-21 Ivan Maidanski <ivmai@mail.ru>
+
+ * src/atomic_ops.c
+ (AO_non_posix_implementation_is_entirely_in_headers): Make external.
+
+2011-09-21 Ivan Maidanski <ivmai@mail.ru>
+
+ * configure: Regenerate.
+ * tests/Makefile.in: Ditto.
+ * tests/test_atomic_include.h: Ditto.
+
+2011-09-21 Ivan Maidanski <ivmai@mail.ru>
+
+ * 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.
+
+2011-09-21 Ivan Maidanski <ivmai@mail.ru>
+
+ * configure.ac (PICFLAG): Set to -fPIC if GCC but not Gygwin.
+
+2011-09-21 Ivan Maidanski <ivmai@mail.ru>
+
+ * tests/test_malloc.c (LIST_LENGTH, LARGE_OBJ_SIZE): Define to
+ a smaller value unless HAVE_MMAP.
+
+2011-09-21 Ivan Maidanski <ivmai@mail.ru>
+
+ * 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.
+
+2011-09-15 Ivan Maidanski <ivmai@mail.ru>
+
+ * src/atomic_ops/sysdeps/emul_cas.h: Fix a typo (replace AO_FORCE_CAS
+ with AO_REQUIRE_CAS in a comment).
+
+2011-09-08 Ivan Maidanski <ivmai@mail.ru> (really Petter Urkedal)
+
+ * 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.
+
+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.