1 2007-06-26 Hans Boehm <Hans.Boehm@hp.com> (really Luca Barbato)
2 * src/atomic_ops/sysdeps/gcc/powerpc.h (AO_load_acquire): Add
5 2007-06-13 Hans Boehm <Hans.Boehm@hp.com>
6 * src/atomic_ops.h: include stddef.h
8 2007-06-06 Hans Boehm <Hans.Boehm@hp.com>
9 * src/atomic_ops/sysdeps/msftc/x86_64.h: New file.
10 * src/atomic_ops.h: Add test for msftc/x86_64.h.
11 * src/atomic_ops/sysdeps/msftc/x86.h: Complain for _WIN64.
12 * src/atomic_ops/sysdeps/Makefile.am: Add x86_64.h.
13 * src/atomic_ops/sysdeps/Makefile.in: Regenerate.
14 * src/atomic_ops/sysdeps/aligned_atomic_load_store.h,
15 src/atomic_ops/sysdeps/int_aligned_atomic_load_store.h,
16 src/atomic_ops/sysdeps/short_aligned_atomic_load_store.h:
17 Replace unsigned long cast with size_t.
19 2007-05-17 Hans Boehm <Hans.Boehm@hp.com>
20 * src/atomic_ops/sysdeps/gcc/hppa.h (AO_test_and_set_full):
23 2007-05-14 Hans Boehm <Hans.Boehm@hp.com>
24 doc/README.txt: Update to reflect C++0x effort.
26 2007-05-07 Hans Boehm <Hans.Boehm@hp.com> (with help from Philipp Zambelli)
27 * src/atomic_ops/sysdeps/msftc/x86.h: Don't just assume that mfence
29 * src/atomic_ops/sysdeps/gcc/arm.h (AO_test_and_set_full): Correct
32 2006-11-09 Earl Chew (Agilent)
33 * msftc/x86.h: Follow Microsoft documentation and include
38 2006-07-11 Hans Boehm <Hans.Boehm@hp.com>
39 * src/atomic_ops/sysdeps/hpc/ia64.h: Fix typos.
41 2006-03-28 Earl Chew (Agilent)
42 * src/atomic_ops/sysdeps/gcc/powerpc.h: Remove unused variable cr.
43 * src/atomic_ops/sysdeps/msftc/x86.h:
44 Use new intrinsics available in MSVC 2003 and MSVC 2005.
45 Use inline assembler to generate mfence and byte sized xchg
46 Use correct prototype for InterlockedCompareExchange.
47 * src/atomic_ops.h: Add test for __PPC__ .
48 * tests/run_parallel.inc: Add simple VxWorks support.
49 * tests/test_atomic.c, tests/test_atomic_include.h: Add prototypes
50 to silence compiler warnings.
52 2006-1-13 Hans Boehm <Hans.Boehm@hp.com>
53 *src/atomic_ops/sysdeps/gcc/powerpc.h: Beginnings of 64 bit support.
54 *src/atomic_ops/sysdeps/gcc/x86.h: Use "=q" for AO_test_and_set_full.
56 2005-11-4 Hans Boehm <Hans.Boehm@hp.com>
57 *src/atomic_ops/sysdeps/gcc/ia64.h: Include
58 all_acquire_release_volatile.h, instead of just the pointer-sized
60 *src/atomic_ops/sysdeps/gcc/ia64.h: Include
61 all_acquire_release_volatile.h and all_atomic_load_store.h,
62 instead of just the pointer-sized versions.
66 2005-09-27 Hans Boehm <Hans.Boehm@hp.com>
67 *src/atomic_ops.h: Define AO_CAN_EMUL_CAS for arm.
68 *src/atomic_ops/sysdeps/read_ordered.h: New file, extracted from
70 *src/atomic_ops/sysdeps/ordered_except_wr.h: include read_ordered.h
71 instead of duplicating it.
72 *src/atomic_ops/sysdeps/gcc/arm.h: Include read_ordered.h.
74 2005-09-16 Hans Boehm <Hans.Boehm@hp.com>
75 *src/atomic_ops/sysdeps/gcc/arm.h: Replace the AO_test_and_set
76 definition with one that might actually work. (Thanks to Kazu
77 Hirata and Paul Brook.)
79 2005-08-01 Hans Boehm <Hans.Boehm@hp.com>
80 *src/atomic_ops/Makefile.am: Change function naming from "byte" to
85 2005-03-21 Hans Boehm <Hans.Boehm@hp.com>
86 Fix various acquire_release_volatile.h files to reflect the fact
87 that both icc and gcc seem to reorder ordinary memory accesses around
88 volatile accesses early in the compilation. Modify the acquire
89 release test to catch this problem (with high probablity, and only on
92 2005-03 Hans Boehm <Hans.Boehm@hp.com>
93 Fixes for recently introduced bugs. Update x86 and x86-64 assembly
94 syntax to deal with complaints by some recent gcc versions.
96 2005-02 Hans Boehm <Hans.Boehm@hp.com>
97 Added libatomic_ops_gpl library with support for mostly
98 lock-free stack and malloc().
100 2005-01 Ian Wienand <ianw@gelato.unsw.edu.au>, Al Stone <ahs3@debian.org>,
101 Hans Boehm <Hans.Boehm@hp.com>
102 Use autoconf, automake, starting with code from Debian package.
105 2005-01 Hans Boehm <Hans.Boehm@hp.com>
106 * test_and_set_t_is_ao_t.h, test_and_set_t_is_char.h, others:
107 Change most platforms to use byte-wide test-and-set locations.
109 2005-01 Hans Boehm <Hans.Boehm@hp.com>
110 * ao_t_is_int.h: Add to trivially support int-wide operations
111 on platforms with int-sized pointers.
113 2004-12 Hans Boehm <Hans.Boehm@hp.com>
114 * gcc/powerpc.h: First serious attempt to support PowerPC (with
115 help from Maged Michael and others).
117 2004-12 Hans Boehm <Hans.Boehm@hp.com>
118 * sunc/sparc.[hS]: Added minimal supprt for the Sun SPARC compiler.
119 * atomic_ops_sysdeps.S: Add support for platforms that require
120 out-of-line assmebly code.
122 2004-10 Hans Boehm <Hans.Boehm@hp.com>
123 More work on char, short, int sized data. Add both
124 compare_double_and_swap_double and compare_and_swap_double.
125 Typically each platform will provide at most one of these.
127 2004-07-02 Ranko Zivojnovic
128 Replace both instances of AO_HAVE_NOP_FULL with AO_HAVE_nop_full.
130 2004-06 Hans Boehm <Hans.Boehm@hp.com>
131 Start to add atomic_ops primitives for different sized data.
133 2003-12-18 Hans Boehm <Hans.Boehm@hp.com>
134 * atomic_ops/sysdeps/acquire_release_volatile.h, atomic_ops.h:
135 Fix support for ecc on IA64. Remove compiler_barrier workaround
136 for gcc 3.4 and later.
138 2003-12-17 Hans Boehm <Hans.Boehm@hp.com>
139 * atomic_ops/sysdeps/hpc/{ia64.h,hppa.h},
140 atomic_ops/sysdeps/msftc/x86.h, Makefile, Makefile.atomic_ops,
141 Makefile.atomic_ops.msft, atomic_ops.h: Add initial support
142 for atomic_ops for VC++/Windows/X86 and HP/UX with the HP
143 compiler on PA_RISC and IA64.
145 2003-12-09 Hans Boehm <Hans.Boehm@hp.com>
147 * many: Install under "atomic_ops" instead of "ao".
148 Change atomic_ops include file structure. Auxiliary include
149 files are all under include/atomic_ops.
150 Fix (hopefully) "make dist" in atomic_ops distribution.
151 Renamed various types to end in _t, though the old versions
152 are still defined for backward compatibility.
154 2003-12-08 Carlos O'Donell <carlos@baldric.uwo.ca>
156 * ao_sysdeps/gcc/hppa.h: Define AO_CLEAR macro. Change
157 AO_pa_clearable_loc type. Add __ldcw, and __ldcw_align
158 helper macros. AO_test_and_set_full uses helper macros.
161 Started sometime after version 0.4 release. Currently the format is
162 informal. Eventually should become more GNU-like.