diff options
author | Ivan Maidanski <ivmai@mail.ru> | 2013-08-21 16:14:14 +0400 |
---|---|---|
committer | Ivan Maidanski <ivmai@mail.ru> | 2013-08-21 16:18:08 +0400 |
commit | f38b29045c0f9b765cb4f356d45262b39305d00f (patch) | |
tree | 949c6cdcdf4c23e4692d6bbcf1b15feda037f26e | |
parent | 2daf685b7dec61f9e9b3e9cc208cbd1c31fb8b92 (diff) |
Update ChangeLog file
-rw-r--r-- | ChangeLog | 87 |
1 files changed, 81 insertions, 6 deletions
@@ -1,41 +1,101 @@ == [7.3alpha4] (development) == +* Add and/or/xor entries to list_atomic (tests). +* Add char/short/int/AO_double_t and dd_acquire cases to list_atomic (tests). +* Add compile-time assertion for size of 'standard' AO_double_t. +* Add double_store pthread-based implementation and tests. +* Add generalized CAS primitives of char/short/int size. +* Add generalized atomic and/or/xor operations for char/short/int types. +* Add generalized fetch_and_add_acquire/release (for ARMv6+). +* Add generic implementation of double_load primitives. * Add information about AO_ASSUME_VISTA to README_win32. +* Add internal header containing only char/short/int/AO_t atomic loads. +* Add load/store primitives generalization based on CAS. +* Add lock-based implementation of char/short/int_fetch_compare_and_swap. +* Add makefile rule to test list_atomic.template syntax (tests). +* Add missing 'const' in aligned-atomic XSIZE_load implementation. * Add missing double_compare_and_swap to generalization. -* Add negative double-CAS test cases to test_atomic_include. -* Add test_stack to Makefile.msft (Win32). +* Add missing generalization of no-barrier CAS in template. +* Add negative double-CAS test cases to test_atomic_include (tests). +* Add test_stack to Makefile.msft (tests). +* Adjust fprintf arguments type matching specifier in test_stack (tests). * Adjust included filenames in atomic_ops_malloc and test_stack. * Adjust quotes in echo command of Makefile.msft (Win32). +* Always use 'mfence' for nop_full if target CPU supports SSE2 (gcc/x86). +* Better document configure THREADDLLIBS variable. +* Cast away volatile on dereference in CAS-based generalization primitives. +* Define AO_NO_PTHREADS in configure if no pthreads (Win32 and VxWorks). * Define AO_int_X operations for ARM and avr32. +* Define double-wide ordered loads/stores for x86. +* Define int_and/or/xor primitives in ao_t_is_int header. +* Define nop_full as compiler barrier for pre-ARMv6 single-core case. +* Do not duplicate BUILT_SOURCES entries in nobase_private_HEADERS (Makefile). * Do not include standard_ao_double_t.h where double-CAS is unimplemented. * Do not report absence of meaningless nop, load and store in test_atomic. +* Do not use deprecated AO_T and AO_TS_T (tests). * Eliminate 'missing initializer' warning for AO_stack_t value initializer. * Eliminate 64-bit compiler warnings in atomic_ops_malloc. * Eliminate arithmetic shifts in double-CAS (gcc/arm, msftc/x86). -* Eliminate warning for fetch_and_add argument in test_atomic_include. +* Eliminate warning for fetch_and_add argument in test_atomic_include (tests). * Enable Makefile.msft for Win64. +* Enable build using toolchain without pthreads. * Enable double_compare_and_swap for non-cpp code (msftc/x86.h). +* Enable generalization of all variants of CAS via fetch_compare_and_swap. * Enable test_stack for pthreads-w32 and Win32 with native threads. * Fix generalized AO_char/short_compare_and_swap args (missing 'unsigned'). +* Fix makefile sed rule for list_atomic (tests). +* Fix missing abort() usage in atomic_ops_malloc and tests on WinCE. * Generalize compare_double_and_swap_double using double_compare_and_swap. +* Generalize double_load/store for x86_64 (GCC). +* Generate ao_t_is_int, 'loadstore' headers from templates. +* Generate generalized AO_t load/store/fetch_and_add primitives from template. +* Generate ordered_loads/stores_only headers from templates. +* Group all X_acquire_release_volatile.h and X_[aligned_]atomic_load_store.h. +* Implement and/or/xor, AO_double_load for ARM. +* Implement atomic store using direct write by default on ARMv6+. +* Implement char/short/int-wide primitives using GCC built-in atomic/sync. * Implement char/short/int_fetch_and_add for msftc/x86[_64] (Win32). +* Implement char/short_fetch_and_add, char/short_load for ARMv6+ (GCC). +* Implement char/short_store primitives at aligned addresses for ARM. * Implement compare_double_and_swap_double for SunCC/x86. +* Implement double_load/store based on guaranteed x86 access atomicity. +* Implement double_store for ARMv7 using LDREXD/STREXD. +* Implement load/store via simple LDR/STR for ARMv6+ (msftc). +* Implement nop_full/write using 'dmb' instruction if available (gcc/arm). +* Improve debug printing in test_stack (tests). * Log messages to stdout instead of stderr (tests). * Make AO_ASSUME_VISTA also enables Win98 code in msftc/x86.h (Win32). +* Minimize gcc/generic-arithm template by factoring out barriers. +* Move 'unsigned' keyword to XCTYPE in generalize-small template. * Move default compiler options to CFLAGS in Makefile.msft (Win32). +* Move definitions of ordered loads/stores to inner separate headers. +* Move gcc-generic AO_t-wide primitives to generic-small/arithm headers. +* Move generalized arithmetical primitives to 'generalize-arithm' template. * Optimize AO_spin manually to minimize compiler influence on its duration. +* Parameterize list_atomic template with XSIZE (tests). * Perform only few list reversals in test_malloc if AO based on pthreads. +* Remote duplicate definition of test_and_set_acquire in generalize.h. +* Remove X_aligned_atomic_load_store headers and template. * Remove duplicate AO_spin and AO_pause definition in atomic_ops_stack. * Remove gcc/x86_64.h eliminating code duplication of gcc/x86.h. * Remove nested AO_USE_PTHREAD_DEFS macro check in atomic_ops.h (gcc/arm). +* Remove redundant 'cc' clobber for LDREXD instruction (gcc/arm). +* Remove store_full from msftc/arm.h in favor of generalized primitive. * Remove sunc/x86_64.h eliminating code duplication of sunc/x86.h. * Remove unsafe emulation-based implementation of double CAS (SunCC/x86_64). -* Remove useless 'perror' call in tests run_parallel.h. +* Remove useless 'perror' call in run_parallel.h (tests). * Reorder AO_double_t union elements for AO_DOUBLE_T_INITIALIZER portability. +* Replace atomic_load_store.template with atomic_load and atomic_store ones. * Replace some FIXME items with TODO in atomic_ops.c and sysdeps headers. -* Test double_compare_and_swap in test_atomic. +* Specify fetch_and_add/sub1 result as unused in test_atomic (tests). +* Support AArch64 (64-bit ARM) target (GCC). +* Support ARMv8 target (gcc/arm). +* Test double_compare_and_swap in test_atomic (tests). +* Use AO_ prefix for internal functions in arm_v6.h, hppa.h. +* Use __atomic GCC built-in to implement generic double-wide CAS. * Use built-in __sync CAS for double-CAS if AO_USE_SYNC_CAS_BUILTIN for x86. +* Workaround GCC 4.4.3 warning reported for 'val' of list_atomic.c (tests). == [7.3alpha2] 2012-05-11 == @@ -72,12 +132,27 @@ == [7.2e] (candidate) == +* Fix (remove) invalid include of read_ordered.h for ARM. +* Fix AM_CONFIG_HEADER in configure for autoconf-2.69-1. * Fix AO_pause sleep delay for particular argument values (Win32). +* Fix ARMv7 LDREXD/STREXD double-wide operand specification (GCC/Clang). +* Fix LDREXD/STREXD use for pre-Clang3.3/arm. +* Fix README regarding _acquire_read barrier. +* Fix XSIZE_load/store definition order in generalize-small template. +* Fix asm constraint of CAS memory operand for gcc/alpha, clang-3.1/mips. +* Fix asm constraints of primitives in sunc/x86.h. * Fix cmpxchg16b-based compare_double_and_swap_double for SunCC/x86_64. * Fix compare_double_and_swap_double and double_ptr_storage for gcc/x32. * Fix compare_double_and_swap_double for clang3.0/x86 in PIC mode. * Fix compare_double_and_swap_double_full definition condition in emul_cas. -* Fix typos in atomic_ops.h comments. +* Fix generalize-small template adding missed CAS-based fetch_and_add. +* Fix generalized fetch_and_add function. +* Fix missing compiler barrier in nop_full for uniprocessor ARM. +* Fix ordered_except_wr header inclusion for s390. +* Fix return type of AO_int_X primitives defined in ao_t_is_int header. +* Fix return type of char/short/int_load_read() in read_ordered.h. +* Fix template-based headers regeneration order in src/Makefile. +* Fix typos in ao_t_is_int, atomic_ops.h, generalize.h, msftc/arm.h comments. * Fix variable type to match printf format specifier in test_stack. * Fix visibility and initial value of 'dummy' variable in atomic_ops_stack. * Terminate tests with abort after error reported. |