WiP on stdatomic.h.
[platform/upstream/libatomic_ops.git] / ChangeLog
1
2 [7.2alpha6] 2011-06-14
3 ======================
4
5 * Add missing AO_HAVE_ macros.
6 * Add support of avr32 CPU.
7 * Better support of various models of ARM.
8 * Disable AO_compare_double_and_swap_double_full for SunCC x86 as not working.
9 * Enable ARM Thumb-2 mode.
10 * Fix AO_test_and_set_full for SunCC (x86).
11 * Fix bugs in tests.
12 * Fix clobbers in AO_compare_and_swap_full (x86.h).
13 * Fix typos in identifiers and comments.
14 * Improve AO_sync for PowerPC.
15 * Improve make scripts (configure.ac).
16 * Make get_mmaped() in atomic_ops_malloc.c more portable.
17 * Support Intel compiler.
18 * Support NaCl target.
19 * Suppress compiler warnings in various places.
20 * Test more predefined macros (ARM, PowerPC).
21 * Use assembly code only for MS VC if available (x86_64).
22 * Use built-in __sync_bool_compare_and_swap if available (x86_64).
23 * Workaround bugs in LLVM GCC and SunCC regarding XCHG (x86, x86_64).
24
25
26 [7.2alpha4] 2009-12-02
27 ======================
28
29 * Fix typos in comments, identifiers and documentation.
30 * Implement AO_compare_and_swap_full for SPARC.
31 * Refine ARM-specific code.
32 * Refine code and comments for MS VC.
33 * Regenerate make scripts.
34 * Share common code for all 32-bit CPUs (MS VC).
35 * Support DigitalMars and Watcom compilers.
36 * Support MS VC for ARM (WinCE).
37 * Support SH CPU.
38 * Support win32-pthreads.
39 * Support x86 and x86_64 for SunCC compiler.
40
41
42 [7.2alpha2] 2009-05-27
43 ======================
44
45 * Add MIPS support.
46 * Add better support for m68k.
47 * Add "const" to first parameter of load calls.
48 * Add parentheses around address argument for various macros.
49 * Add some platform-specific documentation to INSTALL.
50 * Add untested 64-bit support for PowerPC.
51 * Fix AO_compare_and_swap_double_acquire.
52 * Fix AO_int_fetch_and_add_full (x86_64).
53 * Fix comments.
54 * Fix s390 include paths.
55 * Fix use of lwz instruction (PowerPC).
56 * Refine clobbers (PowerPC).
57 * Remove outdated info about Windows support in README.
58 * Replace K&R-style function definition with ANSI C one.
59 * add AO_compare_double_and_swap_double for ARMv6.
60 * gcc/powerpc.h: Consider __NO_LWSYNC__.
61
62
63 [7.1 release] 2008-02-11
64 ========================
65
66 * Add test_and_set, AO_double_compare_and_swap generalizations.
67 * Conditionally add compare_double_and_swap_double (x86).
68 * Conditionally add compare_double_and_swap_double (x86).
69 * Fix AO_compare_double_and_swap_double_full (x86) for PIC mode.
70 * Fix AO_load_acquire for PowerPC.
71 * Fix double-width CAS (x86).
72 * Refine README (add more warnings about data dependencies).
73 * Refine double_ptr_storage type definition.
74 * Support ARMv6+ in GCC.
75 * Support ArmCC compiler.
76 * Use _InterlockedExchangeAdd for MS VC (x86).
77
78
79 [7.0 release] 2007-06-28
80 ========================
81
82 * Add 64-bit version of AO_load_acquire for PowerPC.
83 * Add support of x86 and x86_64 for MS VC.
84 * Do not assume that "mfence" is always present (x86.h).
85 * Fix ARM AO_test_and_set_full.
86 * Include windows.h (MS VC).
87 * Update README to reflect C++0x effort.
88
89
90 [1.2 release] 2006-07-11
91 ========================
92
93 * Add prototypes to suppress compiler warnings.
94 * Add simple VxWorks support.
95 * Fix InterlockedCompareExchange proto usage.
96 * Fix typos (ia64).
97 * Include all_acquire_release_volatile.h and all_atomic_load_store.h (ia64).
98 * Initial support for 64-bit targets.
99 * Use "=q" for AO_test_and_set_full (x86).
100 * Use inline assembler to generate "mfence" and byte sized XCHG.
101 * Use new intrinsics available in MSVC 2003 and MSVC 2005.
102
103
104 [1.1 release] 2005-09-27
105 ========================
106
107 * Add and use read_ordered.h.
108 * Change function naming from "byte" to "char".
109 * Fix AO_test_and_set for ARM; define AO_CAN_EMUL_CAS.
110
111
112 [1.0 release] 2005-03-21
113 ========================
114
115 * Fix various bugs.
116 * Add atomic_ops primitives for different sized data.
117 * Add compare_double_and_swap_double and compare_and_swap_double.
118 * Add initial support for atomic_ops for VC++/Windows/X86 and HP/UX.
119 * Add minimal support for the Sun SPARC compiler.
120 * Add support for platforms that require out-of-line assembly code.
121 * Add support of int-wide operations on platforms with int-sized pointers.
122 * Added libatomic_ops_gpl library with support for lock-free stack and malloc.
123 * Attempt to support PowerPC.
124 * Change atomic_ops include file structure.
125 * Change most platforms to use byte-wide test-and-set locations.
126 * Install under "atomic_ops" instead of "ao".
127 * Remove compiler_barrier workaround for gcc 3.4+.
128 * Renamed various types to end in _t.
129 * Use autoconf, automake.