From 36a9c668e93dce00855733ac8dfd7d77bf370e85 Mon Sep 17 00:00:00 2001 From: Ivan Maidanski Date: Thu, 4 Aug 2011 20:50:24 +0400 Subject: [PATCH] * ChangeLog: drop the entire content in favor of the Git commit log; place only major per-release changes description here. --- ChangeLog | 1381 ++++++------------------------------------------------------- TODO | 4 - 2 files changed, 128 insertions(+), 1257 deletions(-) diff --git a/ChangeLog b/ChangeLog index f3effb9..40ff75b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,1254 +1,129 @@ -Retired in favor of Git commit log. No longer updated. - -2011-07-21 Ivan Maidanski - - * .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 - - * .cvsignore: Add more auto-generated files. - * src/.cvsignore: Ditto. - * tests/.cvsignore: Ditto. - -2011-07-14 Ivan Maidanski - - * 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 (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 - - * configure.ac, README: Change to version 7.2alpha7. - * configure: Regenerate. - -[7.2alpha6] - -2011-06-14 Ivan Maidanski - - * configure.ac, README: Change to version 7.2alpha6. - * configure: Regenerate. - -2011-06-07 Ivan Maidanski - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * src/atomic_ops/sysdeps/gcc/ia64.h (AO_MASK): Add "volatile" for - asm; remove redundant trailing ';'. - -2011-04-11 Ivan Maidanski (really Jim Meyering) - - * doc/README.txt: Remove doubled words in comments. - -2011-03-18 Ivan Maidanski - - * 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 - - * 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 - - * 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 - - * src/atomic_ops.c: Explicitly define AO_USE_NO_SIGNALS and - AO_USE_NANOSLEEP for NaCl. - -2011-02-19 Ivan Maidanski - - * 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 - - * 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 - - * 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 (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 (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 - - * 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 - - * src/atomic_ops/sysdeps/gcc/arm.h: Replace C++ style comment - with ANSI C one. - -2010-05-30 Ivan Maidanski (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 - - * 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 (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 - - * doc/README_malloc.txt: Fix a typo. - * doc/README_stack.txt: Ditto. - -2010-02-25 Ivan Maidanski (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 (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 - - * 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 (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 - - * doc/Makefile.in: Regenerate. - -2010-02-04 Ivan Maidanski (really Ian Wienand) - - * doc/Makefile.am: Remove duplicate file in the list. - -2010-02-03 Ivan Maidanski - - * ChangeLog: Fix some typos. - -2010-02-03 Ivan Maidanski - - * 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 - - * 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 - - * 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 - - * 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 (really Emmanuel Stapf) - - * src/atomic_ops.h: Recognize _M_X64 (as an alias for _AMD64_). - -2009-12-04 Ivan Maidanski - - * configure.ac, README: Change to version 7.2alpha5. - * configure: Regenerate. - -[7.2alpha4] - -2009-12-02 Ivan Maidanski - - * configure.ac, README: Change to version 7.2alpha4. - * configure: Regenerate. - -2009-12-01 Ivan Maidanski - - * configure.ac, README: Change to version 1.3alpha1. - * configure: Regenerate. - -2009-11-21 Ivan Maidanski (really Daniel R. Grayson) - - * configure.ac (AC_CONFIG_COMMANDS): Quote PICFLAG, CC, DEFS - values. - * configure: Regenerate. - -2009-10-06 Ivan Maidanski - - * src/atomic_ops/sysdeps/gcc/sh.h: Remove commented out AO_TS_SET - redefinition. - -2009-10-05 Ivan Maidanski - - * src/atomic_ops/sysdeps/Makefile.in: Regenerate. - -2009-10-05 Ivan Maidanski (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 - - * 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 - - * 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 - - * 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 (really Petter Urkedal) - - * README: Move notes from the hand-edited part of INSTALL which - was overwritten by Automake recently. - -2009-09-26 Ivan Maidanski - - * 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 (really Petter Urkedal) - - * configure.ac: Replace AC_PROG_CC with AM_PROG_CC_C_O. - -2009-09-16 Ivan Maidanski - - * 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 - (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 - (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 - (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 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 - (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 - (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 - 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 - (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 (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 (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 (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 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 (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 (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 (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 - - * INSTALL: Add some platform-specific documentation. - * src/Makefile.msft: Fix copyright notice. - -2008-10-21 Hans Boehm (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 (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 - - * config.guess, config.sub, configure: Regenerate/replace. - Use autoconf 2.61, automake 1.9.6. - -2008-08-19 Hans Boehm (really Thiemo Seufer) - - * src/atomic_ops/sysdeps/gcc/powerpc.h: Add %U1 (update) to lwz - instruction. - -2008-08-19 Hans Boehm (really Sebastian Siewior) - - * src/atomic_ops/sysdeps/gcc/powerpc.h: Consider __NO_LWSYNC__. - -2008-07-24 Hans Boehm (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 - - * src/atomic_ops/sysdeps/gcc/powerpc.h: - Add const to first parameter of load calls (forgot one). - -2008-07-18 Hans Boehm - - * 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 - - * src/atomic_ops/sysdeps/gcc/m68k.h: Remove SMP-unsafe - AO_or_full, and let it be autogenerated instead. - -2008-07-03 Hans Boehm (Really Thiemo Seufer) - - * src/atomic_ops/sysdeps/gcc/mips.h: Really add mips support, - fixing a merge accident. - -2008-05-30 Hans Boehm (Really from various Debian - contributors) - - * doc/Makefile.in, src/Makefile.in, src/atomic_ops/Makefile.in: - Regenerate. - -2008-05-30 Hans Boehm (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 - (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 - - * src/atomic_ops/sysdeps/standard_ao_double_t.h: Let - double_ptr_storage default to long long; define everywhere. - -2008-01-08 Hans Boehm (Really mostly Joerg Wagner) - - * src/atomic_ops/sysdeps/msftc/x86.h: Conditionally add - compare_double_and_swap_double. - -2008-01-06 Hans Boehm (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 - (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 - - * src/atomic_ops/sysdeps/gcc/powerpc.h (AO_load_acquire): Add - %X1 modifier to support indexed addressing. - -2007-07-23 Hans Boehm (really Jim Marshall) - - * src/atomic_ops/sysdeps/msftc/x86.h (_InterlockedExchangeAdd): Define - for VC++6. - -2007-07-05 Andreas Tobler - - * src/atomic_ops.h: Check for __powerpc64__ and __ppc64__ to include - powerpc.h. - -2007-06-26 Hans Boehm (really Luca Barbato) - - * src/atomic_ops/sysdeps/gcc/powerpc.h (AO_load_acquire): Add - 64-bit version. - -2007-06-13 Hans Boehm - - * src/atomic_ops.h: include stddef.h - -2007-06-06 Hans Boehm - - * 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 - - * src/atomic_ops/sysdeps/gcc/hppa.h (AO_test_and_set_full): - Add cast for return. - -2007-05-14 Hans Boehm - - * doc/README.txt: Update to reflect C++0x effort. - -2007-05-07 Hans Boehm (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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * src/atomic_ops/Makefile.am: Change function naming from "byte" to - "char" (again). - -[1.0 release] - -2005-03-21 Hans Boehm - 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 - 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 - Added libatomic_ops_gpl library with support for mostly - lock-free stack and malloc(). - -2005-01 Ian Wienand , Al Stone , - Hans Boehm - Use autoconf, automake, starting with code from Debian package. - Don't use libtool. - -2005-01 Hans Boehm - * 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 - * ao_t_is_int.h: Add to trivially support int-wide operations - on platforms with int-sized pointers. - -2004-12 Hans Boehm - * gcc/powerpc.h: First serious attempt to support PowerPC (with - help from Maged Michael and others). - -2004-12 Hans Boehm - * 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 - 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 - Start to add atomic_ops primitives for different sized data. - -2003-12-18 Hans Boehm - - * 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 - - * 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 - - * 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 - - * 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. diff --git a/TODO b/TODO index 3ae127a..4a280e4 100644 --- a/TODO +++ b/TODO @@ -1,10 +1,6 @@ TODO tasks ========== -Drop all contents of ChangeLog in favor of Git commit annotation model. -My opinion is that ChangeLog should be updated only on official releases and -contain only major changes. - FIXME: make check (test_stack) fails on Linux/x86 with GCC v4.6.1. This either a bug in our code or in GCC. In the latter case, it might worth to create a work-around if possible. -- 2.7.4