1 2008-02-11 Hans Boehm <Hans.Boehm@hp.com>
2 (Really Ian Wienand & Debian maintainers)
3 * src/atomic_ops/sysdeps/gcc/x86.h
4 (AO_compare_double_and_swap_double_full): Correctly account for
7 2008-01-09 Hans Boehm <Hans.Boehm@hp.com>
8 * src/atomic_ops/sysdeps/standard_ao_double_t.h: Let
9 double_ptr_storage default to long long; define everywhere.
11 2008-01-08 Hans Boehm <Hans.Boehm@hp.com> (Really mostly Joerg Wagner)
12 * src/atomic_ops/sysdeps/msftc/x86.h: Conditionally add
13 compare_double_and_swap_double.
15 2008-01-06 Hans Boehm <Hans.Boehm@hp.com> (Really mostly Joerg Wagner)
16 * src/atomic_ops/generalize.h: Add test_and_set generalizations,
17 Add AO_double_compare_and_swap generalizations.
18 * src/atomic_ops/sysdeps/armcc/arm_v6.h: New file.
19 * src/atomic_ops/sysdeps/gcc/arm.h: Handle V6 and V7.
20 * src/atomic_ops/sysdeps/gcc/x86.h,
21 src/atomic_ops/sysdeps/{gcc,msftc}/x86_64.h: Conditionally add
22 compare_double_and_swap_double, commented out for msftc.
23 * src/atomic_ops/sysdeps/standard_ao_double_t.h: Add
24 double_ptr_storage field.
26 2008-01-03 Hans Boehm <Hans.Boehm@hp.com>
27 (Merge from separate atomic_ops tree)
28 * src/atomic_ops/sysdeps/gcc/x86.h: Define correct macro for
29 double-width cas, and fix its implementation.
30 * doc/README.txt: Clarify use of _full. Add more warnings about
33 2008-01-02 Hans Boehm <Hans.Boehm@hp.com>
34 * src/atomic_ops/sysdeps/gcc/powerpc.h (AO_load_acquire): Add
35 %X1 modifier to support indexed addressing.
37 2007-07-23 Hans Boehm <Hans.Boehm@hp.com> (really Jim Marshall)
38 * src/atomic_ops/sysdeps/msftc/x86.h (_InterlockedExchangeAdd): Define
41 2007-07-05 Andreas Tobler <a.tobler@schweiz.org>
42 * src/atomic_ops.h: Check for __powerpc64__ and __ppc64__ to include
45 2007-06-26 Hans Boehm <Hans.Boehm@hp.com> (really Luca Barbato)
46 * src/atomic_ops/sysdeps/gcc/powerpc.h (AO_load_acquire): Add
49 2007-06-13 Hans Boehm <Hans.Boehm@hp.com>
50 * src/atomic_ops.h: include stddef.h
52 2007-06-06 Hans Boehm <Hans.Boehm@hp.com>
53 * src/atomic_ops/sysdeps/msftc/x86_64.h: New file.
54 * src/atomic_ops.h: Add test for msftc/x86_64.h.
55 * src/atomic_ops/sysdeps/msftc/x86.h: Complain for _WIN64.
56 * src/atomic_ops/sysdeps/Makefile.am: Add x86_64.h.
57 * src/atomic_ops/sysdeps/Makefile.in: Regenerate.
58 * src/atomic_ops/sysdeps/aligned_atomic_load_store.h,
59 src/atomic_ops/sysdeps/int_aligned_atomic_load_store.h,
60 src/atomic_ops/sysdeps/short_aligned_atomic_load_store.h:
61 Replace unsigned long cast with size_t.
63 2007-05-17 Hans Boehm <Hans.Boehm@hp.com>
64 * src/atomic_ops/sysdeps/gcc/hppa.h (AO_test_and_set_full):
67 2007-05-14 Hans Boehm <Hans.Boehm@hp.com>
68 doc/README.txt: Update to reflect C++0x effort.
70 2007-05-07 Hans Boehm <Hans.Boehm@hp.com> (with help from Philipp Zambelli)
71 * src/atomic_ops/sysdeps/msftc/x86.h: Don't just assume that mfence
73 * src/atomic_ops/sysdeps/gcc/arm.h (AO_test_and_set_full): Correct
76 2006-11-09 Earl Chew (Agilent)
77 * msftc/x86.h: Follow Microsoft documentation and include
82 2006-07-11 Hans Boehm <Hans.Boehm@hp.com>
83 * src/atomic_ops/sysdeps/hpc/ia64.h: Fix typos.
85 2006-03-28 Earl Chew (Agilent)
86 * src/atomic_ops/sysdeps/gcc/powerpc.h: Remove unused variable cr.
87 * src/atomic_ops/sysdeps/msftc/x86.h:
88 Use new intrinsics available in MSVC 2003 and MSVC 2005.
89 Use inline assembler to generate mfence and byte sized xchg
90 Use correct prototype for InterlockedCompareExchange.
91 * src/atomic_ops.h: Add test for __PPC__ .
92 * tests/run_parallel.inc: Add simple VxWorks support.
93 * tests/test_atomic.c, tests/test_atomic_include.h: Add prototypes
94 to silence compiler warnings.
96 2006-1-13 Hans Boehm <Hans.Boehm@hp.com>
97 *src/atomic_ops/sysdeps/gcc/powerpc.h: Beginnings of 64 bit support.
98 *src/atomic_ops/sysdeps/gcc/x86.h: Use "=q" for AO_test_and_set_full.
100 2005-11-4 Hans Boehm <Hans.Boehm@hp.com>
101 *src/atomic_ops/sysdeps/gcc/ia64.h: Include
102 all_acquire_release_volatile.h, instead of just the pointer-sized
104 *src/atomic_ops/sysdeps/gcc/ia64.h: Include
105 all_acquire_release_volatile.h and all_atomic_load_store.h,
106 instead of just the pointer-sized versions.
110 2005-09-27 Hans Boehm <Hans.Boehm@hp.com>
111 *src/atomic_ops.h: Define AO_CAN_EMUL_CAS for arm.
112 *src/atomic_ops/sysdeps/read_ordered.h: New file, extracted from
114 *src/atomic_ops/sysdeps/ordered_except_wr.h: include read_ordered.h
115 instead of duplicating it.
116 *src/atomic_ops/sysdeps/gcc/arm.h: Include read_ordered.h.
118 2005-09-16 Hans Boehm <Hans.Boehm@hp.com>
119 *src/atomic_ops/sysdeps/gcc/arm.h: Replace the AO_test_and_set
120 definition with one that might actually work. (Thanks to Kazu
121 Hirata and Paul Brook.)
123 2005-08-01 Hans Boehm <Hans.Boehm@hp.com>
124 *src/atomic_ops/Makefile.am: Change function naming from "byte" to
129 2005-03-21 Hans Boehm <Hans.Boehm@hp.com>
130 Fix various acquire_release_volatile.h files to reflect the fact
131 that both icc and gcc seem to reorder ordinary memory accesses around
132 volatile accesses early in the compilation. Modify the acquire
133 release test to catch this problem (with high probablity, and only on
136 2005-03 Hans Boehm <Hans.Boehm@hp.com>
137 Fixes for recently introduced bugs. Update x86 and x86-64 assembly
138 syntax to deal with complaints by some recent gcc versions.
140 2005-02 Hans Boehm <Hans.Boehm@hp.com>
141 Added libatomic_ops_gpl library with support for mostly
142 lock-free stack and malloc().
144 2005-01 Ian Wienand <ianw@gelato.unsw.edu.au>, Al Stone <ahs3@debian.org>,
145 Hans Boehm <Hans.Boehm@hp.com>
146 Use autoconf, automake, starting with code from Debian package.
149 2005-01 Hans Boehm <Hans.Boehm@hp.com>
150 * test_and_set_t_is_ao_t.h, test_and_set_t_is_char.h, others:
151 Change most platforms to use byte-wide test-and-set locations.
153 2005-01 Hans Boehm <Hans.Boehm@hp.com>
154 * ao_t_is_int.h: Add to trivially support int-wide operations
155 on platforms with int-sized pointers.
157 2004-12 Hans Boehm <Hans.Boehm@hp.com>
158 * gcc/powerpc.h: First serious attempt to support PowerPC (with
159 help from Maged Michael and others).
161 2004-12 Hans Boehm <Hans.Boehm@hp.com>
162 * sunc/sparc.[hS]: Added minimal supprt for the Sun SPARC compiler.
163 * atomic_ops_sysdeps.S: Add support for platforms that require
164 out-of-line assmebly code.
166 2004-10 Hans Boehm <Hans.Boehm@hp.com>
167 More work on char, short, int sized data. Add both
168 compare_double_and_swap_double and compare_and_swap_double.
169 Typically each platform will provide at most one of these.
171 2004-07-02 Ranko Zivojnovic
172 Replace both instances of AO_HAVE_NOP_FULL with AO_HAVE_nop_full.
174 2004-06 Hans Boehm <Hans.Boehm@hp.com>
175 Start to add atomic_ops primitives for different sized data.
177 2003-12-18 Hans Boehm <Hans.Boehm@hp.com>
178 * atomic_ops/sysdeps/acquire_release_volatile.h, atomic_ops.h:
179 Fix support for ecc on IA64. Remove compiler_barrier workaround
180 for gcc 3.4 and later.
182 2003-12-17 Hans Boehm <Hans.Boehm@hp.com>
183 * atomic_ops/sysdeps/hpc/{ia64.h,hppa.h},
184 atomic_ops/sysdeps/msftc/x86.h, Makefile, Makefile.atomic_ops,
185 Makefile.atomic_ops.msft, atomic_ops.h: Add initial support
186 for atomic_ops for VC++/Windows/X86 and HP/UX with the HP
187 compiler on PA_RISC and IA64.
189 2003-12-09 Hans Boehm <Hans.Boehm@hp.com>
191 * many: Install under "atomic_ops" instead of "ao".
192 Change atomic_ops include file structure. Auxiliary include
193 files are all under include/atomic_ops.
194 Fix (hopefully) "make dist" in atomic_ops distribution.
195 Renamed various types to end in _t, though the old versions
196 are still defined for backward compatibility.
198 2003-12-08 Carlos O'Donell <carlos@baldric.uwo.ca>
200 * ao_sysdeps/gcc/hppa.h: Define AO_CLEAR macro. Change
201 AO_pa_clearable_loc type. Add __ldcw, and __ldcw_align
202 helper macros. AO_test_and_set_full uses helper macros.
205 Started sometime after version 0.4 release. Currently the format is
206 informal. Eventually should become more GNU-like.