Upgrade Boehm GC to 7.2alpha4.
[cacao.git] / src / mm / boehm-gc / libatomic_ops / ChangeLog
1 [1.3alpha1 release]
2
3 2009-12-01  Ivan Maidanski <ivmai@mail.ru>
4
5         * configure.ac, README: Change to version 1.3alpha1.
6         * configure: Regenerate.
7
8 2009-11-21  Ivan Maidanski <ivmai@mail.ru> (really Daniel R. Grayson)
9
10         * configure.ac (AC_CONFIG_COMMANDS): Quote PICFLAG, CC, DEFS
11         values.
12         * configure: Regenerate.
13
14 2009-10-06  Ivan Maidanski <ivmai@mail.ru>
15
16         * src/atomic_ops/sysdeps/gcc/sh.h: Remove commented out AO_TS_SET
17         redefinition.
18
19 2009-10-05  Ivan Maidanski <ivmai@mail.ru>
20
21         * src/atomic_ops/sysdeps/Makefile.in: Regenerate.
22
23 2009-10-05  Ivan Maidanski <ivmai@mail.ru> (really Takashi YOSHII)
24
25         * src/atomic_ops/sysdeps/gcc/sh.h: New file.
26         * src/atomic_ops.h: Include gcc/sh.h if __arm__.
27         * src/atomic_ops/sysdeps/Makefile.am: Add gcc/sh.h entry.
28
29 2009-10-02  Ivan Maidanski <ivmai@mail.ru>
30
31         * src/atomic_ops/sysdeps/Makefile.am: Add armcc/arm_v6.h,
32         msftc/arm.h, msftc/common32_defs.h, sunc/x86.h sunc/x86_64.h
33         entries; order all entries alphabetically.
34         * src/atomic_ops/sysdeps/Makefile.in: Regenerate.
35
36 2009-10-01  Ivan Maidanski <ivmai@mail.ru>
37
38         * aclocal.m4: Regenerate (by autoreconf -vif using libtool-2.2,
39         automake-1.10.2, autoconf-2.64).
40         * INSTALL: Ditto.
41         * Makefile.in: Ditto.
42         * aclocal.m4: Ditto.
43         * config.guess: Ditto.
44         * config.sub: Ditto.
45         * configure: Ditto.
46         * depcomp: Ditto.
47         * install-sh: Ditto.
48         * missing: Ditto.
49         * mkinstalldirs: Ditto.
50         * doc/Makefile.in: Ditto.
51         * src/config.h.in: Ditto.
52         * src/Makefile.in: Ditto.
53         * src/atomic_ops/Makefile.in: Ditto.
54         * src/atomic_ops/sysdeps/Makefile.in: Ditto.
55         * tests/Makefile.in: Ditto.
56
57 2009-10-01  Ivan Maidanski <ivmai@mail.ru>
58
59         * src/atomic_ops/sysdeps/gcc/x86.h: Remove spaces preceding '#'
60         for the preprocessor directives.
61         * src/atomic_ops/sysdeps/sunc/x86.h: Ditto.
62
63 2009-09-30  Ivan Maidanski <ivmai@mail.ru> (really Petter Urkedal)
64
65         * README: Move notes from the hand-edited part of INSTALL which
66         was overwritten by Automake recently.
67
68 2009-09-26  Ivan Maidanski <ivmai@mail.ru>
69
70         * aclocal.m4: Regenerate (by autoreconf -vif).
71         * config.guess: Ditto.
72         * config.sub: Ditto.
73         * configure: Ditto.
74         * INSTALL: Ditto.
75         * Makefile.in: Ditto.
76         * doc/Makefile.in: Ditto.
77         * src/config.h.in: Ditto.
78         * src/Makefile.in: Ditto.
79         * src/atomic_ops/Makefile.in: Ditto.
80         * src/atomic_ops/sysdeps/Makefile.in: Ditto.
81         * tests/Makefile.in: Ditto.
82
83 2009-09-25  Ivan Maidanski <ivmai@mail.ru> (really Petter Urkedal)
84
85         * configure.ac: Replace AC_PROG_CC with AM_PROG_CC_C_O.
86
87 2009-09-16  Ivan Maidanski <ivmai@mail.ru>
88
89         * ChangeLog: Remove trailing spaces at EOLn.
90         * doc/README.txt: Expand all tabs to spaces; remove trailing
91         spaces at EOLn; remove multiple trailing blank lines.
92         * src/atomic_ops.c: Ditto.
93         * src/atomic_ops.h: Ditto.
94         * src/atomic_ops/generalize-small.h: Ditto.
95         * src/atomic_ops/generalize.h: Ditto.
96         * src/atomic_ops/sysdeps/acquire_release_volatile.h: Ditto.
97         * src/atomic_ops/sysdeps/aligned_atomic_load_store.h: Ditto.
98         * src/atomic_ops/sysdeps/all_aligned_atomic_load_store.h: Ditto.
99         * src/atomic_ops/sysdeps/all_atomic_load_store.h: Ditto.
100         * src/atomic_ops/sysdeps/ao_t_is_int.h: Ditto.
101         * src/atomic_ops/sysdeps/armcc/arm_v6.h: Ditto.
102         * src/atomic_ops/sysdeps/atomic_load_store.h: Ditto.
103         * src/atomic_ops/sysdeps/char_acquire_release_volatile.h: Ditto.
104         * src/atomic_ops/sysdeps/char_atomic_load_store.h: Ditto.
105         * src/atomic_ops/sysdeps/gcc/alpha.h: Ditto.
106         * src/atomic_ops/sysdeps/gcc/arm.h: Ditto.
107         * src/atomic_ops/sysdeps/gcc/hppa.h: Ditto.
108         * src/atomic_ops/sysdeps/gcc/ia64.h: Ditto.
109         * src/atomic_ops/sysdeps/gcc/m68k.h: Ditto.
110         * src/atomic_ops/sysdeps/gcc/mips.h: Ditto.
111         * src/atomic_ops/sysdeps/gcc/powerpc.h: Ditto.
112         * src/atomic_ops/sysdeps/gcc/s390.h: Ditto.
113         * src/atomic_ops/sysdeps/gcc/sparc.h: Ditto.
114         * src/atomic_ops/sysdeps/gcc/x86.h: Ditto.
115         * src/atomic_ops/sysdeps/gcc/x86_64.h: Ditto.
116         * src/atomic_ops/sysdeps/generic_pthread.h: Ditto.
117         * src/atomic_ops/sysdeps/hpc/hppa.h: Ditto.
118         * src/atomic_ops/sysdeps/hpc/ia64.h: Ditto.
119         * src/atomic_ops/sysdeps/ibmc/powerpc.h: Ditto.
120         * src/atomic_ops/sysdeps/icc/ia64.h: Ditto.
121         * src/atomic_ops/sysdeps/int_acquire_release_volatile.h: Ditto.
122         * src/atomic_ops/sysdeps/int_aligned_atomic_load_store.h: Ditto.
123         * src/atomic_ops/sysdeps/int_atomic_load_store.h: Ditto.
124         * src/atomic_ops/sysdeps/msftc/arm.h: Ditto.
125         * src/atomic_ops/sysdeps/msftc/common32_defs.h: Ditto.
126         * src/atomic_ops/sysdeps/msftc/x86.h: Ditto.
127         * src/atomic_ops/sysdeps/msftc/x86_64.h: Ditto.
128         * src/atomic_ops/sysdeps/ordered.h: Ditto.
129         * src/atomic_ops/sysdeps/ordered_except_wr.h: Ditto.
130         * src/atomic_ops/sysdeps/read_ordered.h: Ditto.
131         * src/atomic_ops/sysdeps/short_acquire_release_volatile.h: Ditto.
132         * src/atomic_ops/sysdeps/short_aligned_atomic_load_store.h: Ditto.
133         * src/atomic_ops/sysdeps/short_atomic_load_store.h: Ditto.
134         * src/atomic_ops/sysdeps/standard_ao_double_t.h: Ditto.
135         * src/atomic_ops/sysdeps/sunc/x86.h: Ditto.
136         * src/atomic_ops/sysdeps/sunc/x86_64.h: Ditto.
137         * src/atomic_ops/sysdeps/test_and_set_t_is_ao_t.h: Ditto.
138         * src/atomic_ops_stack.c: Ditto.
139         * src/atomic_ops_stack.h: Ditto.
140         * src/atomic_ops/sysdeps/gcc/arm.h: Replace non-ASCII quotes in a
141         comment.
142         * src/atomic_ops/sysdeps/gcc/mips.h: Use Unix-style EOLn.
143
144 2009-09-10  Ivan Maidanski <ivmai@mail.ru>
145         (ivmai123.diff)
146
147         * src/atomic_ops/sysdeps/msftc/arm.h: Add FIXME for InterlockedOps
148         (regarding memory barrier).
149         * src/atomic_ops/sysdeps/msftc/arm.h: Don't recognize
150         AO_ASSUME_ARM_ARCH6 anymore; check for _M_ARM >= 6 instead.
151         * src/atomic_ops/sysdeps/msftc/arm.h (AO_nop_full,
152         AO_test_and_set): Replace FIXME with the comment saying it is
153         emulated (in generalize.h); include test_and_set_t_is_ao_t.h.
154         * src/atomic_ops/sysdeps/msftc/arm.h (AO_store_full): Implement
155         using InterlockedCompareExchange() (assuming the latter has a full
156         mbar) for ARMv6+.
157         * src/atomic_ops/sysdeps/msftc/arm.h: Include
158         all_atomic_load_store.h and test_and_set_t_is_ao_t.h for the case
159         of pre-ARMv6; add the comment.
160
161 2009-09-10  Ivan Maidanski <ivmai@mail.ru>
162         (ivmai122.diff)
163
164         * src/atomic_ops/sysdeps/armcc/arm_v6.h
165         (AO_compare_double_and_swap_double): Replace false/true with 0/1.
166         * src/atomic_ops/sysdeps/gcc/arm.h
167         (AO_compare_double_and_swap_double): Ditto.
168         * src/atomic_ops/sysdeps/gcc/arm.h: Recognize more ARMv6+
169         predefined macros (6J, 6ZK, 7A, 7M, 7R).
170         * src/atomic_ops/sysdeps/gcc/arm.h
171         (AO_compare_double_and_swap_double): Add "cc" clobber to asm.
172         * src/atomic_ops/sysdeps/gcc/powerpc.h (AO_HAVE_load_acquire):
173         Correct the name (convert from the lower case).
174         * src/atomic_ops/sysdeps/ibmc/powerpc.h (AO_HAVE_load_acquire):
175         Ditto.
176         * src/atomic_ops/sysdeps/ibmc/powerpc.h (AO_test_and_set,
177         AO_compare_and_swap): Comment out unimplemented code (and the
178         corresponding macros); add FIXME.
179         * src/atomic_ops.c: Recognize AO_USE_WIN32_PTHREADS overriding
180         _MSC_VER and __MINGW32__ predefined macros (useful for WinCE with
181         pthreads-w32 library); don't include signal.h, sys/time.h,
182         sys/select.h in this case; include windows.h instead.
183         * src/atomic_ops.c (AO_pause): Use Sleep() in case of
184         AO_USE_WIN32_PTHREADS (instead of select()).
185         * src/atomic_ops.c (all_sigs, initialized): Don't define in case
186         of AO_USE_WIN32_PTHREADS.
187         * src/atomic_ops.c (AO_compare_and_swap_emulation,
188         AO_compare_double_and_swap_double_emulation): Don't deal with
189         signals in case of AO_USE_WIN32_PTHREADS.
190
191 2009-09-10  Ivan Maidanski <ivmai@mail.ru>
192         (diff110)
193
194         * src/atomic_ops/sysdeps/msftc/arm.h: New file (initial support
195         for ARM family).
196         * src/atomic_ops/sysdeps/msftc/common32_defs.h: New file.
197         * src/atomic_ops/sysdeps/msftc/arm.h (AO_ASSUME_ARM_ARCH6): New
198         macro.
199         * src/atomic_ops/sysdeps/msftc/common32_defs.h
200         (AO_USE_INTERLOCKED_INTRINSICS): Ditto.
201         * src/atomic_ops/sysdeps/msftc/x86.h: Move "Interlocked"
202         declarations to common32_defs.h.
203         * src/atomic_ops/sysdeps/msftc/common32_defs.h
204         (AO_INTERLOCKED_VOLATILE): New macro defined (used by
205         Interlocked-based primitives) for compatibility with older VC++.
206         * src/atomic_ops/sysdeps/msftc/common32_defs.h: Don't include
207         missing <intrin.h> if WinCE target.
208         * src/atomic_ops/sysdeps/msftc/x86.h: Include common32_defs.h
209         (define AO_USE_INTERLOCKED_INTRINSICS unconditionally).
210         * src/atomic_ops/sysdeps/msftc/x86.h (AO_fetch_and_add_full,
211         AO_fetch_and_add1_full, AO_fetch_and_sub1_full,
212         AO_compare_and_swap_full): Move arch-independent primitives to
213         common32_defs.h.
214         * src/atomic_ops/sysdeps/msftc/x86.h: Remove comment about i486 or
215         better CPU (since Interlocked Add and Xchg primitives are available
216         on any 32-bit CPU).
217         * src/atomic_ops.h: Include msftc/x86.h even if _M_IX86 is less than
218         400 (for i80386).
219         * src/atomic_ops.h: Include msftc/x86.h if "x86" defined (for WinCE
220         on x86).
221         * src/atomic_ops.h: Include msftc/arm.h if ARM target (for WinCE).
222
223 2009-09-10  Ivan Maidanski <ivmai@mail.ru>
224         (diff109_cvs)
225
226         * src/atomic_ops/sysdeps/msftc/x86.h: Fix comments (prefix
227         ASSUME_WINDOWS98 with "AO_").
228         * src/atomic_ops/sysdeps/msftc/x86.h: Prefix ASSUME_VISTA macro with
229         "AO_".
230         * src/atomic_ops/sysdeps/msftc/x86.h (AO_nop_full): Replace
231         K&R-style function definition with ANSI C one.
232         * src/atomic_ops/sysdeps/msftc/x86.h (AO_test_and_set_full):
233         Replace AO_TS_SET with its value 0xff (some compilers does not like
234         C enum consts inside inline assembler).
235         * src/atomic_ops/sysdeps/msftc/x86.h (AO_test_and_set_full): Add
236         comment about "missing return value" warning.
237         * src/atomic_ops/sysdeps/msftc/x86.h
238         (AO_OLD_STYLE_INTERLOCKED_COMPARE_EXCHANGE): New macro.
239         * src/atomic_ops/sysdeps/msftc/x86.h (AO_compare_and_swap_full): Use
240         _InterlockedCompareExchange() with args and result of PVOID type
241         if AO_OLD_STYLE_INTERLOCKED_COMPARE_EXCHANGE is defined (mostly for
242         DigitalMars compiler support).
243         * src/atomic_ops/sysdeps/msftc/x86.h
244         (AO_compare_double_and_swap_double_full): Swap all "val1" and "val2"
245         variables ("val1" is the lowest part of AO_double_t).
246         * src/atomic_ops/sysdeps/msftc/x86.h
247         (AO_compare_double_and_swap_double_full): Rename to
248         AO_double_compare_and_swap_full (as it has 3 args).
249         * src/atomic_ops/sysdeps/msftc/x86.h: Replace C++ style comment
250         with ANSI C one.
251
252 2009-09-10  Ivan Maidanski <ivmai@mail.ru>
253         (diff108_cvs)
254
255         * src/atomic_ops/sysdeps/gcc/x86_64.h: Remove comments about i486
256         and 32-bit WinChips.
257         * src/atomic_ops/sysdeps/msftc/x86_64.h: Ditto.
258         * src/atomic_ops/sysdeps/gcc/x86_64.h (AO_nop_full): Replace
259         K&R-style function definition with ANSI C one.
260         * src/atomic_ops/sysdeps/msftc/x86_64.h (AO_nop_full): Ditto.
261         * src/atomic_ops/sysdeps/gcc/x86_64.h
262         (AO_compare_double_and_swap_double_full): Fix comment.
263         * src/atomic_ops/sysdeps/gcc/x86_64.h
264         (AO_compare_double_and_swap_double_full): Swap all "val1" and "val2"
265         variables ("val1" is the lowest part of AO_double_t).
266         * src/atomic_ops/sysdeps/msftc/x86_64.h
267         (AO_compare_double_and_swap_double_full): Ditto.
268         * src/atomic_ops/sysdeps/msftc/x86_64.h: Remove comment about
269         ASSUME_WINDOWS98.
270         * src/atomic_ops/sysdeps/msftc/x86_64.h (AO_ASM_X64_AVAILABLE): New
271         macro.
272         * src/atomic_ops/sysdeps/msftc/x86_64.h: Include
273         "test_and_set_t_is_char.h" if AO_ASM_X64_AVAILABLE (same as in
274         x86_64.h for gcc); remove FIXME (for re-implement test-and-set).
275         * src/atomic_ops/sysdeps/msftc/x86_64.h: Include
276         "standard_ao_double_t.h" (same as in x86_64.h for gcc).
277         * src/atomic_ops/sysdeps/msftc/x86_64.h: Add comment for include
278         <intrin.h> assuming at least VC++ v8.
279         * src/atomic_ops/sysdeps/msftc/x86_64.h: Remove _Interlocked
280         prototypes (since they are always declared in intrin.h).
281         * src/atomic_ops/sysdeps/msftc/x86_64.h (AO_nop_full): Move its
282         definition below CAS primitive (to textually group all asm-based
283         primitives together).
284         * src/atomic_ops/sysdeps/msftc/x86_64.h (AO_test_and_set_full):
285         Implement for AO_ASM_X64_AVAILABLE case.
286         * src/atomic_ops/sysdeps/msftc/x86_64.h: Remove AO_CASDOUBLE_MISSING
287         macro (replaced with AO_ASM_X64_AVAILABLE).
288         * src/atomic_ops/sysdeps/msftc/x86_64.h
289         (AO_compare_double_and_swap_double_full): Add intrinsic-based
290         implementation for VC++ v9+.
291         * src/atomic_ops/sysdeps/standard_ao_double_t.h: Include
292         <xmmintrin.h> (and use "__m128" type) if _WIN64.
293         * src/atomic_ops/sysdeps/standard_ao_double_t.h
294         (AO_HAVE_DOUBLE_PTR_STORAGE): Define it always (as
295         "double_ptr_storage" is defined for all cases).
296
297 2009-09-09  Hans Boehm <Hans.Boehm@hp.com> (Really mostly Patrick Marlier)
298
299         * src/atomic_ops/sysdeps/gcc/sparc.h (NO_SPARC_V9):
300         Renamed to AO_NO_SPARC_V9.
301
302 2009-09-01  Hans Boehm <Hans.Boehm@hp.com> (Really mostly Patrick Marlier)
303
304         * src/atomic_ops/sysdeps/gcc/sparc.h (AO_test_and_set_full): Use
305         AO_TS_VAL_t for "oldval" (for 64-bit support).
306         * src/atomic_ops/sysdeps/gcc/sparc.h (AO_compare_and_swap_full):
307         New function implemented.
308
309 2009-08-12  Hans Boehm <Hans.Boehm@hp.com> (Really Ivan Maidanski)
310         (diff107_cvs, resembling diff78 and diff88_cvs)
311
312         * src/atomic_ops/sysdeps/sunc/x86.h: New file.
313         * src/atomic_ops/sysdeps/sunc/x86_64.h: Ditto.
314         * src/atomic_ops.h (AO_INLINE): Support inlining for DigitalMars,
315         Watcom, Sun C.
316         * src/atomic_ops.h (AO_compiler_barrier): Use intrinsic-based
317         implementation for VC++ v8+ (include <intrin.h> before it unless
318         WinCE target); use asm-based barrier implementation for Borland,
319         DigitalMars and Watcom.
320         * src/atomic_ops.h: Fix comment (for x86_64).
321         * src/atomic_ops.h: Include specialized x86.h and x86_64.h arch
322         headers for Sun C (if not AO_USE_PTHREAD_DEFS).
323         * src/atomic_ops.h: Include VC-specific arch headers for Borland,
324         DigitalMars and Watcom (Win32 target only).
325
326 2009-05-27  Hans Boehm <Hans.Boehm@hp.com> (Really Ivan Maidanski)
327         (diff87_cvs, resembling diff29, diff68, diff78 partly)
328
329         * doc/README.txt: Remove outdated info about Windows support.
330         * src/atomic_ops/generalize.h (AO_nop_full): Replace
331         K&R-style function definition with ANSI C one.
332         * src/atomic_ops/sysdeps/armcc/arm_v6.h (AO_nop_full): Ditto.
333         * src/atomic_ops/sysdeps/gcc/alpha.h (AO_nop_full, AO_nop_write):
334         Ditto.
335         * src/atomic_ops/sysdeps/gcc/arm.h (AO_nop_full): Ditto.
336         * src/atomic_ops/sysdeps/gcc/ia64.h (AO_nop_full): Ditto.
337         * src/atomic_ops/sysdeps/gcc/mips.h (AO_nop_full): Ditto.
338         * src/atomic_ops/sysdeps/gcc/powerpc.h (AO_nop_full, AO_lwsync): Ditto.
339         * src/atomic_ops/sysdeps/gcc/x86.h (AO_nop_full): Ditto.
340         * src/atomic_ops/sysdeps/generic_pthread.h (AO_nop_full): Ditto.
341         * src/atomic_ops/sysdeps/hpc/ia64.h (AO_nop_full): Ditto.
342         * src/atomic_ops/sysdeps/icc/ia64.h (AO_nop_full): Ditto.
343         * src/atomic_ops/sysdeps/ordered.h (AO_nop_full): Ditto.
344         * src/atomic_ops/sysdeps/ordered_except_wr.h (AO_nop_write): Ditto.
345         * src/atomic_ops/sysdeps/read_ordered.h (AO_nop_read): Ditto.
346         * src/atomic_ops/sysdeps/test_and_set_t_is_ao_t.h (AO_TS_val): Fix
347         comment.
348
349 2009-02-24  Hans Boehm <Hans.Boehm@hp.com> (Really primarily Earl Chew)
350
351         * src/atomic_ops/sysdeps/gcc/powerpc.h: Add index,
352         update modifiers to asms, refine clobbers to "cr0", use
353         cr0 instead of cr7, add explicit AO_fetch_and_add,
354         add UNTESTED 64 bit support.
355
356 2008-11-10  Hans Boehm <Hans.Boehm@hp.com> (Really Joerg Wagner)
357
358         * src/atomic_ops/sysdeps/armcc/arm_v6.h: Compute
359         AO_compare_and_swap value differently, add
360         AO_compare_double_and_swap_double, some indentation fixes.
361         * src/atomic_ops/sysdeps/gcc/arm.h: Make gcc asm code more
362         robust and minimize clobbers, Add AO_compare_double_and_swap_double.
363
364 2008-11-06  Hans Boehm <Hans.Boehm@hp.com>
365
366         * INSTALL: Add some platform-specific documentation.
367         * src/Makefile.msft: Fix copyright notice.
368
369 2008-10-21  Hans Boehm <Hans.Boehm@hp.com>  (really Ivan Maidanski)
370
371         * src/atomic_ops/sysdeps/aligned_atomic_load_store.h: Fix comments.
372         * src/atomic_ops/sysdeps/all_aligned_atomic_load_store.h: Fix comments.
373         * src/atomic_ops/sysdeps/all_atomic_load_store.h: Fix comments.
374         * src/atomic_ops/sysdeps/atomic_load_store.h: Fix comments.
375         * src/atomic_ops/sysdeps/char_atomic_load_store.h: Fix comments.
376         * src/atomic_ops/sysdeps/gcc/arm.h: Fix comments.
377         * src/atomic_ops/sysdeps/gcc/x86.h: Fix comments.
378         * src/atomic_ops/sysdeps/gcc/x86_64.h: Fix comments.
379         * src/atomic_ops/sysdeps/hpc/hppa.h: Fix comments.
380         * src/atomic_ops/sysdeps/hpc/ia64.h: Fix comments.
381         * src/atomic_ops/sysdeps/int_aligned_atomic_load_store.h: Fix comments.
382         * src/atomic_ops/sysdeps/int_atomic_load_store.h: Fix comments.
383         * src/atomic_ops/sysdeps/short_aligned_atomic_load_store.h: Fix comments.
384         * src/atomic_ops/sysdeps/short_atomic_load_store.h: Fix comments.
385         * src/atomic_ops.c: Fix comments.
386         * src/atomic_ops.h: Fix comments.
387         * src/atomic_ops_stack.c: Fix comments.
388         * src/atomic_ops_stack.h: Fix comments.
389
390 2008-10-20  Hans Boehm <Hans.Boehm@hp.com>  (really Andrew Agno)
391
392         * src/atomic_ops/sysdeps/gcc/x86_64.h (AO_int_fetch_and_add_full):
393         fix return type.
394
395 2008-08-21  Hans Boehm <Hans.Boehm@hp.com>
396
397         * config.guess, config.sub, configure: Regenerate/replace.
398         Use autoconf 2.61, automake 1.9.6.
399
400 2008-08-19  Hans Boehm <Hans.Boehm@hp.com> (really Thiemo Seufer)
401
402         * src/atomic_ops/sysdeps/gcc/powerpc.h: Add %U1 (update) to lwz
403         instruction.
404
405 2008-08-19  Hans Boehm <Hans.Boehm@hp.com> (really Sebastian Siewior)
406
407         * src/atomic_ops/sysdeps/gcc/powerpc.h: Consider __NO_LWSYNC__.
408
409 2008-07-24  Hans Boehm <Hans.Boehm@hp.com> (really Ivan Maidanski)
410
411         * src/atomic_ops/sysdeps/ao_t_is_int.h, src/atomic_ops.h:
412         Add parentheses around addr arg for various functions.
413
414 2008-07-18  Hans Boehm <Hans.Boehm@hp.com>
415
416         * src/atomic_ops/sysdeps/gcc/powerpc.h:
417         Add const to first parameter of load calls (forgot one).
418
419 2008-07-18  Hans Boehm <Hans.Boehm@hp.com>
420
421         * doc/README.txt, src/atomic_ops/generalize.h,
422         src/atomic_ops/generalize-small.template,
423         src/atomic_ops/generalize-small.h,
424         src/atomic_ops/sysdeps/acquire_release_volatile.h,
425         src/atomic_ops/sysdeps/char_acquire_release_volatile.h,
426         src/atomic_ops/sysdeps/int_acquire_release_volatile.h,
427         src/atomic_ops/sysdeps/short_acquire_release_volatile.h,
428         src/atomic_ops/sysdeps/aligned_atomic_load_store.h,
429         src/atomic_ops/sysdeps/int_aligned_atomic_load_store.h,
430         src/atomic_ops/sysdeps/short_aligned_atomic_load_store.h,
431         src/atomic_ops/sysdeps/ao_t_is_int.h,
432         src/atomic_ops/sysdeps/atomic_load_store.h,
433         src/atomic_ops/sysdeps/char_atomic_load_store.h,
434         src/atomic_ops/sysdeps/int_atomic_load_store.h,
435         src/atomic_ops/sysdeps/short_atomic_load_store.h,
436         src/atomic_ops/sysdeps/generic_pthread.h,
437         src/atomic_ops/sysdeps/read_ordered.h,
438         src/atomic_ops/sysdeps/sysdeps/armcc/arm_v6.h,
439         src/atomic_ops/sysdeps/gcc/arm.h,
440         src/atomic_ops/sysdeps/icc/ia64.h,
441         src/atomic_ops/sysdeps/ibmc/powerpc.h:
442         Add const to first parameter of load calls.
443
444 2008-07-10  Hans Boehm <Hans.Boehm@hp.com>
445
446         * src/atomic_ops/sysdeps/gcc/m68k.h: Remove SMP-unsafe
447         AO_or_full, and let it be autogenerated instead.
448
449 2008-07-03  Hans Boehm <Hans.Boehm@hp.com> (Really Thiemo Seufer)
450
451         * src/atomic_ops/sysdeps/gcc/mips.h: Really add mips support,
452         fixing a merge accident.
453
454 2008-05-30  Hans Boehm <Hans.Boehm@hp.com> (Really from various Debian
455         contributors)
456
457         * doc/Makefile.in, src/Makefile.in, src/atomic_ops/Makefile.in:
458         Regenerate.
459
460 2008-05-30  Hans Boehm <Hans.Boehm@hp.com> (Really from various Debian
461         contributors)
462
463         * src/atomic_ops.h, src/atomic_ops/sysdeps/Makefile.am,
464         src/atomic_ops/sysdeps/gcc/mips.h: Add mips support.
465         * src/atomic_ops/sysdeps/gcc/m68k.h: Make test_and_set work
466         on char, align AO_t.  Add cas, or.
467         * src/atomic_ops/sysdeps/gcc/s390.h: Fix include paths.
468         * src/atomic_ops/generalize.h: Fix AO_compare_and_swap_double_acquire.
469         * Makefile.in, aclocal.m4, src/atomic_ops/sysdeps/Makefile.in,
470         tests/Makefile.in: Regenerate.
471
472 2008-02-11  Hans Boehm <Hans.Boehm@hp.com>
473            (Really Ian Wienand & Debian maintainers)
474
475         * src/atomic_ops/sysdeps/gcc/x86.h
476         (AO_compare_double_and_swap_double_full): Correctly account for
477         ebx usage with PIC.
478
479 2008-01-09  Hans Boehm <Hans.Boehm@hp.com>
480
481         * src/atomic_ops/sysdeps/standard_ao_double_t.h: Let
482         double_ptr_storage default to long long; define everywhere.
483
484 2008-01-08  Hans Boehm <Hans.Boehm@hp.com> (Really mostly Joerg Wagner)
485
486         * src/atomic_ops/sysdeps/msftc/x86.h: Conditionally add
487         compare_double_and_swap_double.
488
489 2008-01-06  Hans Boehm <Hans.Boehm@hp.com> (Really mostly Joerg Wagner)
490
491         * src/atomic_ops/generalize.h: Add test_and_set generalizations,
492         Add AO_double_compare_and_swap generalizations.
493         * src/atomic_ops/sysdeps/armcc/arm_v6.h: New file.
494         * src/atomic_ops/sysdeps/gcc/arm.h: Handle V6 and V7.
495         * src/atomic_ops/sysdeps/gcc/x86.h,
496         src/atomic_ops/sysdeps/{gcc,msftc}/x86_64.h: Conditionally add
497         compare_double_and_swap_double, commented out for msftc.
498         * src/atomic_ops/sysdeps/standard_ao_double_t.h:  Add
499         double_ptr_storage field.
500
501 2008-01-03  Hans Boehm <Hans.Boehm@hp.com>
502         (Merge from separate atomic_ops tree)
503
504         * src/atomic_ops/sysdeps/gcc/x86.h: Define correct macro for
505         double-width cas, and fix its implementation.
506         * doc/README.txt: Clarify use of _full.  Add more warnings about
507         data dependencies.
508
509 2008-01-02  Hans Boehm <Hans.Boehm@hp.com>
510
511         * src/atomic_ops/sysdeps/gcc/powerpc.h (AO_load_acquire): Add
512         %X1 modifier to support indexed addressing.
513
514 2007-07-23  Hans Boehm <Hans.Boehm@hp.com> (really Jim Marshall)
515
516         * src/atomic_ops/sysdeps/msftc/x86.h (_InterlockedExchangeAdd): Define
517         for VC++6.
518
519 2007-07-05  Andreas Tobler  <a.tobler@schweiz.org>
520
521         * src/atomic_ops.h: Check for __powerpc64__ and __ppc64__ to include
522         powerpc.h.
523
524 2007-06-26  Hans Boehm <Hans.Boehm@hp.com> (really Luca Barbato)
525
526         * src/atomic_ops/sysdeps/gcc/powerpc.h (AO_load_acquire): Add
527         64-bit version.
528
529 2007-06-13  Hans Boehm <Hans.Boehm@hp.com>
530
531         * src/atomic_ops.h: include stddef.h
532
533 2007-06-06  Hans Boehm <Hans.Boehm@hp.com>
534
535         * src/atomic_ops/sysdeps/msftc/x86_64.h: New file.
536         * src/atomic_ops.h: Add test for msftc/x86_64.h.
537         * src/atomic_ops/sysdeps/msftc/x86.h: Complain for _WIN64.
538         * src/atomic_ops/sysdeps/Makefile.am: Add x86_64.h.
539         * src/atomic_ops/sysdeps/Makefile.in: Regenerate.
540         * src/atomic_ops/sysdeps/aligned_atomic_load_store.h,
541         src/atomic_ops/sysdeps/int_aligned_atomic_load_store.h,
542         src/atomic_ops/sysdeps/short_aligned_atomic_load_store.h:
543         Replace unsigned long cast with size_t.
544
545 2007-05-17  Hans Boehm <Hans.Boehm@hp.com>
546
547         * src/atomic_ops/sysdeps/gcc/hppa.h (AO_test_and_set_full):
548         Add cast for return.
549
550 2007-05-14  Hans Boehm <Hans.Boehm@hp.com>
551
552         * doc/README.txt: Update to reflect C++0x effort.
553
554 2007-05-07  Hans Boehm <Hans.Boehm@hp.com> (with help from Philipp Zambelli)
555
556         * src/atomic_ops/sysdeps/msftc/x86.h: Don't just assume that mfence
557         is present.
558         * src/atomic_ops/sysdeps/gcc/arm.h (AO_test_and_set_full): Correct
559         oldval type.
560
561 2006-11-09  Earl Chew (Agilent)
562
563         * msftc/x86.h: Follow Microsoft documentation and include
564         windows.h.
565
566 [1.2 release]
567
568 2006-07-11  Hans Boehm <Hans.Boehm@hp.com>
569
570         * src/atomic_ops/sysdeps/hpc/ia64.h: Fix typos.
571
572 2006-03-28  Earl Chew (Agilent)
573
574         * src/atomic_ops/sysdeps/gcc/powerpc.h: Remove unused variable cr.
575         * src/atomic_ops/sysdeps/msftc/x86.h:
576         Use new intrinsics available in MSVC 2003 and MSVC 2005.
577         Use inline assembler to generate mfence and byte sized xchg
578         Use correct prototype for InterlockedCompareExchange.
579         * src/atomic_ops.h: Add test for __PPC__ .
580         * tests/run_parallel.inc: Add simple VxWorks support.
581         * tests/test_atomic.c, tests/test_atomic_include.h: Add prototypes
582         to silence compiler warnings.
583
584 2006-11-13  Hans Boehm <Hans.Boehm@hp.com>
585
586         * src/atomic_ops/sysdeps/gcc/powerpc.h: Beginnings of 64 bit support.
587         * src/atomic_ops/sysdeps/gcc/x86.h: Use "=q" for AO_test_and_set_full.
588
589 2005-11-04  Hans Boehm <Hans.Boehm@hp.com>
590
591         * src/atomic_ops/sysdeps/gcc/ia64.h: Include
592         all_acquire_release_volatile.h, instead of just the pointer-sized
593         version.
594         * src/atomic_ops/sysdeps/gcc/ia64.h: Include
595         all_acquire_release_volatile.h and all_atomic_load_store.h,
596         instead of just the pointer-sized versions.
597
598 [1.1 release]
599
600 2005-09-27  Hans Boehm <Hans.Boehm@hp.com>
601
602         * src/atomic_ops.h: Define AO_CAN_EMUL_CAS for arm.
603         * src/atomic_ops/sysdeps/read_ordered.h: New file, extracted from
604         ordered_except_wr.h.
605         * src/atomic_ops/sysdeps/ordered_except_wr.h: include read_ordered.h
606         instead of duplicating it.
607         * src/atomic_ops/sysdeps/gcc/arm.h: Include read_ordered.h.
608
609 2005-09-16  Hans Boehm <Hans.Boehm@hp.com>
610
611         * src/atomic_ops/sysdeps/gcc/arm.h: Replace the AO_test_and_set
612         definition with one that might actually work.  (Thanks to Kazu
613         Hirata and Paul Brook.)
614
615 2005-08-01  Hans Boehm <Hans.Boehm@hp.com>
616
617         * src/atomic_ops/Makefile.am: Change function naming from "byte" to
618         "char" (again).
619
620 [1.0 release]
621
622 2005-03-21  Hans Boehm <Hans.Boehm@hp.com>
623         Fix various acquire_release_volatile.h files to reflect the fact
624         that both icc and gcc seem to reorder ordinary memory accesses around
625         volatile accesses early in the compilation. Modify the acquire
626         release test to catch this problem (with high probablity, and only on
627         a multiprocessor).
628
629 2005-03 Hans Boehm <Hans.Boehm@hp.com>
630         Fixes for recently introduced bugs.  Update x86 and x86-64 assembly
631         syntax to deal with complaints by some recent gcc versions.
632
633 2005-02 Hans Boehm <Hans.Boehm@hp.com>
634         Added libatomic_ops_gpl library with support for mostly
635         lock-free stack and malloc().
636
637 2005-01 Ian Wienand <ianw@gelato.unsw.edu.au>, Al Stone <ahs3@debian.org>,
638         Hans Boehm <Hans.Boehm@hp.com>
639         Use autoconf, automake, starting with code from Debian package.
640         Don't use libtool.
641
642 2005-01 Hans Boehm <Hans.Boehm@hp.com>
643         * test_and_set_t_is_ao_t.h, test_and_set_t_is_char.h, others:
644         Change most platforms to use byte-wide test-and-set locations.
645
646 2005-01 Hans Boehm <Hans.Boehm@hp.com>
647         * ao_t_is_int.h: Add to trivially support int-wide operations
648         on platforms with int-sized pointers.
649
650 2004-12 Hans Boehm <Hans.Boehm@hp.com>
651         * gcc/powerpc.h: First serious attempt to support PowerPC (with
652         help from Maged Michael and others).
653
654 2004-12 Hans Boehm <Hans.Boehm@hp.com>
655         * sunc/sparc.[hS]: Added minimal supprt for the Sun SPARC compiler.
656         * atomic_ops_sysdeps.S: Add support for platforms that require
657         out-of-line assmebly code.
658
659 2004-10 Hans Boehm <Hans.Boehm@hp.com>
660         More work on char, short, int sized data.  Add both
661         compare_double_and_swap_double and compare_and_swap_double.
662         Typically each platform will provide at most one of these.
663
664 2004-07-02  Ranko Zivojnovic
665         Replace both instances of AO_HAVE_NOP_FULL with AO_HAVE_nop_full.
666
667 2004-06 Hans Boehm <Hans.Boehm@hp.com>
668         Start to add atomic_ops primitives for different sized data.
669
670 2003-12-18  Hans Boehm  <Hans.Boehm@hp.com>
671
672         * atomic_ops/sysdeps/acquire_release_volatile.h, atomic_ops.h:
673         Fix support for ecc on IA64.  Remove compiler_barrier workaround
674         for gcc 3.4 and later.
675
676 2003-12-17  Hans Boehm  <Hans.Boehm@hp.com>
677
678         * atomic_ops/sysdeps/hpc/{ia64.h,hppa.h},
679         atomic_ops/sysdeps/msftc/x86.h, Makefile, Makefile.atomic_ops,
680         Makefile.atomic_ops.msft, atomic_ops.h: Add initial support
681         for atomic_ops for VC++/Windows/X86 and HP/UX with the HP
682         compiler on PA_RISC and IA64.
683
684 2003-12-09  Hans Boehm  <Hans.Boehm@hp.com>
685
686         * many: Install under "atomic_ops" instead of "ao".
687         Change atomic_ops include file structure.  Auxiliary include
688         files are all under include/atomic_ops.
689         Fix (hopefully) "make dist" in atomic_ops distribution.
690         Renamed various types to end in _t, though the old versions
691         are still defined for backward compatibility.
692
693 2003-12-08  Carlos O'Donell  <carlos@baldric.uwo.ca>
694
695         * ao_sysdeps/gcc/hppa.h: Define AO_CLEAR macro. Change
696         AO_pa_clearable_loc type. Add __ldcw, and __ldcw_align
697         helper macros. AO_test_and_set_full uses helper macros.
698
699
700 Started sometime after version 0.4 release.  Currently the format is
701 informal.  Eventually should become more GNU-like.