]> gcc.gnu.org Git - gcc.git/blame - libitm/ChangeLog
Fix numerous typos in comments
[gcc.git] / libitm / ChangeLog
CommitLineData
5764ee3c
JW
12017-04-03 Jonathan Wakely <jwakely@redhat.com>
2
3 * libitm_i.h (sutrct gtm_thread): Fix typo in comment.
4
73aa401e
JJ
52017-01-21 Jakub Jelinek <jakub@redhat.com>
6
7 PR other/79046
8 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
9 of cat to get version from BASE-VER file.
10 * testsuite/Makefile.in: Regenerated.
11
16a34ca6
UB
122017-01-19 Uros Bizjak <ubizjak@gmail.com>
13
14 * config/x86/target.h (htm_available): Determine vendor from
15 __get_cpuid_max return. Use signature_INTEL_ebx. Cleanup.
16
f8a94453
TR
172017-01-18 Torvald Riegel <triegel@redhat.com>
18
19 * config/x86/target.h (htm_available): Add check for some processors
20 on which TSX is broken.
21
3c36aa6b
JJ
222017-01-17 Jakub Jelinek <jakub@redhat.com>
23
24 PR other/79046
25 * configure.ac: Add GCC_BASE_VER.
26 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
27 get version from BASE-VER file.
28 * testsuite/Makefile.in: Regenerated.
29 * configure: Regenerated.
30 * Makefile.in: Regenerated.
31
8f56cb51
AM
322017-01-04 Alan Modra <amodra@gmail.com>
33
34 * Makefile.in: Regenerate.
35 * testsuite/Makefile.in: Regenerate.
36
c1a9c369
JJ
372017-01-01 Jakub Jelinek <jakub@redhat.com>
38
cbe34bb5
JJ
39 Update copyright years.
40
c1a9c369
JJ
41 * libitm.texi: Bump @copying's copyright year.
42
66dbcf2d
RO
432016-12-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
44
45 * acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Remove.
46 * aclocal.m4: Regenerate.
47 * configure.ac: Call GCC_CHECK_LINKER_HWCAP instead of
48 LIBITM_CHECK_LINKER_HWCAP.
49
84c1b9d3
MK
502016-11-15 Matthias Klose <doko@ubuntu.com>
51
52 * configure: Regenerate.
53
831698b8
L
542016-04-19 H.J. Lu <hongjiu.lu@intel.com>
55
56 PR libitm/70456
57 * util.cc (xmalloc): Use posix_memalign to allocate memory on
58 on cache line if requested.
59
edcbda7e
DV
602016-03-03 Dominik Vogt <vogt@linux.vnet.ibm.com>
61
62 * config/s390/target.h (TARGET_BEGIN_TRANSACTION_ATTRIBUTE): Define
63 function attribute to disable floating point in begin_transaction() on
64 S/390.
65 * beginend.cc (begin_transaction): Use
66 TARGET_BEGIN_TRANSACTION_ATTRIBUTE.
67
6041f70a
TR
682016-01-22 Torvald Riegel <triegel@redhat.com>
69
70 * beginend.cc (GTM::gtm_thread::serial_lock): Put on cacheline
71 boundary.
72 (htm_fastpath): Remove.
73 (gtm_thread::begin_transaction): Fix HTM fastpath.
74 (_ITM_commitTransaction): Adapt.
75 (_ITM_commitTransactionEH): Adapt.
76 * libitm/config/linux/rwlock.h (gtm_rwlock): Add htm_fastpath member
77 and accessors.
78 * libitm/config/posix/rwlock.h (gtm_rwlock): Likewise.
79 * libitm/config/posix/rwlock.cc (gtm_rwlock::gtm_rwlock): Adapt.
80 * libitm/config/x86/sjlj.S (_ITM_beginTransaction): Fix HTM fastpath.
81 * libitm/libitm_i.h (htm_fastpath): Remove declaration.
82 * libitm/method-serial.cc (htm_mg): Adapt.
83 (gtm_thread::serialirr_mode): Adapt.
84 * libitm/query.cc (_ITM_inTransaction, _ITM_getTransactionId): Adapt.
85
0b96ffdb
TR
862016-01-21 Torvald Riegel <triegel@redhat.com>
87
88 * testsuite/libitm.c++/libstdc++-safeexc.C: Not supported on darwin
89 or AIX.
90
b1de98e3
RH
912016-01-19 Richard Henderson <rth@redhat.com>
92
93 PR bootstrap/69343
94 PR bootstrap/69339
95 Revert:
96 2016-01-13 Richard Henderson <rth@redhat.com>
97
98 * Makefile.am (libitm_la_SOURCES) [ARCH_AARCH64]: Add vect128.cc
99 (libitm_la_SOURCES) [ARCH_ARM]: Add neon.cc
100 (libitm_la_SOURCES) [ARCH_PPC]: Add vect128.cc
101 (libitm_la_SOURCES) [ARCH_S390]: Add vect128.cc
102 * configure.ac (ARCH_AARCH64): New conditional.
103 (ARCH_PPC, ARCH_S390): Likewise.
104 * Makefile.in, configure: Rebuild.
105
106 * libitm.h (_ITM_TYPE_M128): Always define.
107 * vect64.cc: Split ...
108 * vect128.cc: ... out of...
109 * config/x86/x86_sse.cc: ... here.
110 * config/arm/neon.cc: New file.
111
f57fc960
TR
1122016-01-19 Torvald Riegel <triegel@redhat.com>
113
114 * local_type_traits: Remove file.
115 * libitm_i.h: Don't include it anymore.
116 (sized_integral): Remove.
117
d2653984
TR
1182016-01-16 Torvald Riegel <triegel@redhat.com>
119
120 * method-gl.cc (gl_wt_dispatch::trycommit): Ensure proxy privatization
121 safety.
122 * method-ml.cc (ml_wt_dispatch::trycommit): Likewise.
123 * libitm/testsuite/libitm.c/priv-1.c: New.
124
a04d5fc9
TR
1252015-01-15 Torvald Riegel <triegel@redhat.com>
126
127 testsuite/libitm.c++/libstdc++-safeexc.C: New.
128
e89137ce
TR
1292016-01-13 Torvald Riegel <triegel@redhat.com>
130
131 * beginend.cc (gtm_thread::trycommit): Fix seq_cst fences.
132 * config/linux/rwlock.cc (gtm_rwlock::write_lock_generic): Likewise.
133 (gtm_rwlock::write_unlock): Likewise.
134
4c868789
RH
1352016-01-13 Richard Henderson <rth@redhat.com>
136
137 * Makefile.am (libitm_la_SOURCES) [ARCH_AARCH64]: Add vect128.cc
138 (libitm_la_SOURCES) [ARCH_ARM]: Add neon.cc
139 (libitm_la_SOURCES) [ARCH_PPC]: Add vect128.cc
140 (libitm_la_SOURCES) [ARCH_S390]: Add vect128.cc
141 * configure.ac (ARCH_AARCH64): New conditional.
142 (ARCH_PPC, ARCH_S390): Likewise.
143 * Makefile.in, configure: Rebuild.
144
145 * libitm.h (_ITM_TYPE_M128): Always define.
146 * vect64.cc: Split ...
147 * vect128.cc: ... out of...
148 * config/x86/x86_sse.cc: ... here.
149 * config/arm/neon.cc: New file.
150
629e4729
TR
1512016-01-13 Torvald Riegel <triegel@redhat.com>
152
153 * beginend.cc (gtm_thread::trycommit): Fix privatization safety.
154 * config/linux/rwlock.cc (gtm_rwlock::write_lock_generic): Likewise.
155 * config/posix/rwlock.cc (gtm_rwlock::write_lock_generic): Likewise.
156 * dispatch.h (abi_dispatch::snapshot_most_recent): New.
157 * method-gl.cc (gl_wt_dispatch::snapshot_most_recent): New.
158 * method-ml.cc (ml_wt_dispatch::snapshot_most_recent): New.
159 * method-serial.cc (serial_dispatch::snapshot_most_recent): New.
160 (serialirr_dispatch::snapshot_most_recent): New.
161 (serialirr_onwrite_dispatch::snapshot_most_recent): New.
162
0d1ed412
TR
1632016-01-12 Torvald Riegel <triegel@redhat.com>
164
165 * libitm_i.h (gtm_mask_stack): Remove.
166 * beginend.cc (gtm_stmlock_array, gtm_clock): Likewise.
167 * stmlock.h: Remove file.
168 * config/alpha/cacheline.h: Likewise.
169 * config/generic/cacheline.h: Likewise.
170 * config/powerpc/cacheline.h: Likewise.
171 * config/sparc/cacheline.h: Likewise.
172 * config/x86/cacheline.h: Likewise.
173
21fa2a29
JJ
1742016-01-04 Jakub Jelinek <jakub@redhat.com>
175
818ab71a
JJ
176 Update copyright years.
177
21fa2a29
JJ
178 * libitm.texi: Bump @copying's copyright year.
179
e7f7330f
TR
1802015-11-26 Torvald Riegel <triegel@redhat.com>
181
182 * method-ml.cc (ml_mg): Use multiplicative instead of simple hashing.
183 (ml_wt_dispatch::pre_write): Adapt.
184 (ml_wt_dispatch::pre_load): Likewise.
185
4f8a3b87
TR
1862015-11-22 Torvald Riegel <triegel@redhat.com>
187
188 * libitm_i.h (gtm_alloc_action): Remove union.
189 * testsuite/libitm.c/alloc-1.c: New.
190
258c1d07
TR
1912015-11-19 Torvald Riegel <triegel@redhat.com>
192
193 * testsuite/libitm.c++/eh-5.C: New.
194 * libitm.h (_ITM_cxa_free_exception): New.
195 * libitm.map (_ITM_cxa_free_exception): Add it.
196 * libitm.texi: Update ABI docs.
197 * libitm_i.h (gtm_transaction_cp::cxa_unthrown): Remove.
198 (gtm_transaction_cp::cxa_uncaught_count): Add.
199 (gtm_thread::cxa_unthrown): Remove.
200 (gtm_thread::cxa_uncaught_count_ptr): Add.
201 (gtm_thread::cxa_uncaught_count): Add.
202 (gtm_thread::drop_references_allocations): Rename to...
203 (gtm_thread::discard_allocation): ... this and adapt.
204 (gtm_thread::init_cpp_exceptions): New.
205 * beginend.cc (gtm_thread::gtm_thread): Adapt EH handling.
206 (gtm_thread::begin_transaction): Likewise.
207 (gtm_transaction_cp::save): Likewise.
208 (gtm_thread::trycommit): Likewise.
209 * eh_cpp.cc: Add overview comments.
210 (__cxa_eh_globals, __cxa_get_globals, __cxa_free_exception): Declare.
211 (free_any_exception, _ITM_cxa_free_exception): New.
212 (gtm_thread::init_cpp_exceptions): Define.
213 (_ITM_cxa_allocate_exception, _ITM_cxa_throw): Adapt.
214 (_ITM_cxa_begin_catch, _ITM_cxa_end_catch): Likewise.
215 (gtm_thread::revert_cpp_exceptions): Likewise.
216
c518678b
TR
2172015-11-09 Torvald Riegel <triegel@redhat.com>
218
219 * alloc_cpp.cc (_ZdlPvX, _ZdlPvXRKSt9nothrow_t, _ZGTtdlPvX,
220 _ZGTtdlPvXRKSt9nothrow_t, delsz_opnt): New.
221 * libitm.map: Add _ZGTtdlPvX and _ZGTtdlPvXRKSt9nothrow_t.
222 * libitm_i.h (gtm_alloc_action): Add free_fn_sz and sz. Add comments.
223 (gtm_thread::forget_allocations): New overload with size_t argument.
224 * alloc.c (gtm_thread::forget_allocation): Define new overload and
225 adapt existing one.
226 (gtm_thread::record_allocation): Adapt.
227 (gtm_thread::commit_allocations_1): Adapt.
228 (gtm_thread::commit_allocations_2): Adapt.
229 * testsuite/libitm.c++/newdelete.C: New.
230
1e44e857
DJ
2312015-10-27 Daniel Jacobowitz <dan@codesourcery.com>
232 Joseph Myers <joseph@codesourcery.com>
233 Mark Shinwell <shinwell@codesourcery.com>
234 Andrew Stubbs <ams@codesourcery.com>
235 Rich Felker <dalias@libc.org>
236
237 * config/sh/sjlj.S (_ITM_beginTransaction): Bypass PLT calling
238 GTM_begin_transaction for compatibility with FDPIC.
239
9e531d37
DM
2402015-10-09 David Malcolm <dmalcolm@redhat.com>
241
242 * testsuite/lib/libitm.exp: Load multiline.exp before prune.exp,
243 using load_gcc_lib.
244
c629c246
GFM
2452015-08-20 Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org> (tiny change)
246
247 PR libitm/61164
248 * local_atomic (__always_inline): Rename to...
249 (__libitm_always_inline): ... this.
250
cd5a9a74
CSLL
2512015-07-03 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
252
253 PR target/52482
254 * config/powerpc/sjlj.S: Port to Xcode 2.5.
255
ea023bcf
UB
2562015-05-27 Uros Bizjak <ubizjak@gmail.com>
257
d778b5a0
UB
258 * config/linux/x86/futex_bits.h (sys_futex0) [__x86_64__]: Change
259 operands "op" and "val" to int.
260
2612015-05-27 Uros Bizjak <ubizjak@gmail.com>
262
263 * config/linux/sh/futex_bits.h (sys_futex0) Change operands
264 "op" and "val" to int.
265
2662015-05-27 Uros Bizjak <ubizjak@gmail.com>
267
268 * config/linux/alpha/futex_bits.h (sys_futex0) Change operands
269 "op" and "val" to int.
270
2712015-05-27 Uros Bizjak <ubizjak@gmail.com>
272
273 * config/linux/futex.cc (gtm_futex_wait, gtm_futex_wake):
274 Declare as static int.
275 (FUTEX_PRIVATE_FLAG): Remove L suffix.
276 * config/linux/futex_bits.h (sys_futex0) Change operand "op" to int.
277
2782015-05-27 Uros Bizjak <ubizjak@gmail.com>
279
280 * config/linux/x86/futex_bits.h (sys_futex0) [__PIC__]: Remove
281 sys_futex0 function.
ea023bcf 282
503902f9
MH
2832015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
284
285 * Makefile.in: Regenerated with automake-1.11.6.
286 * aclocal.m4: Likewise.
287 * configure: Likewise.
288 * testsuite/Makefile.in: Likewise.
289
96ce40cb
GR
2902015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
291
292 * config/arm/hwcap.cc: Use fcntl.h instead of sys/fcntl.h.
293 * config/linux/x86/tls.h: Only use __GLIBC_PREREQ if defined.
294
3a07b160
L
2952015-01-15 H.J. Lu <hongjiu.lu@intel.com>
296
297 PR libitm/64360
298 * libitm.c/stackundo.c (test2): Make it static.
299 (test1): Likewise.
300
5624e564
JJ
3012015-01-05 Jakub Jelinek <jakub@redhat.com>
302
303 Update copyright years.
304
b67cd4e3
JJ
3052015-01-05 Jakub Jelinek <jakub@redhat.com>
306
307 * libitm.texi: Bump @copying's copyright year.
308
69aef6dc
KT
3092014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
310
311 * testsuite/lib/libitm.exp: Load target-utils.exp.
312 Move load of target-supports.exp earlier.
313
68bc9270
UB
3142014-12-03 Uros Bizjak <ubizjak@gmail.com>
315
316 * configure.tgt (x86_64): Tune -m32 multilib to generic.
317
a699d672
L
3182014-11-21 H.J. Lu <hongjiu.lu@intel.com>
319
320 PR bootstrap/63784
321 * configure: Regenerated.
322
ebf6d33b
FXC
3232014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
324
325 PR target/63610
326 * configure: Regenerate.
327
99183741
MP
3282014-10-06 Marek Polacek <polacek@redhat.com>
329
330 * testsuite/libitm.c/memcpy-1.c: Declare getpagesize.
331 * testsuite/libitm.c/memset-1.c: Likewise.
332
b6334cf4
RH
3332014-07-24 Richard Henderson <rth@redhat.com>
334
335 * config/aarch64/sjlj.S (_ITM_beginTransaction): Use post-inc
336 addressing mode in epilogue.
337
3c698bf0
RO
3382014-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
339
340 * acinclude.m4 (LIBITM_CHECK_LINKER_HWCAP): Check for
341 -mclear-hwcap instead.
342 * configure: Regenerate.
343 * clearcap.map: Remove.
344
dbed5a9b
JM
3452014-05-21 John Marino <gnugcc@marino.st>
346
347 * configure.tgt (*-*-dragonfly*): New target.
348
b17f08dd
RH
3492014-05-19 Richard Henderson <rth@redhat.com>
350
351 * config/aarch64/sjlj.S: New file.
352 * config/aarch64/target.h: New file.
353 * configure.tgt: Enable aarch64.
354
5e1f630a
RO
3552014-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
356
357 * config/generic/asmcfi.h: Also check for
358 __GCC_HAVE_DWARF2_CFI_ASM.
359
84c2f4b0
RH
3602013-04-02 Richard Henderson <rth@redhat.com>
361
362 * config/alpha/target.h (PAGE_SIZE, FIXED_PAGE_SIZE): Remove.
363 * config/arm/target.h, config/sh/target.h: Likewise.
364 * config/sparc/target.h, config/x86/target.h: Likewise.
365
7cc51d64
JJ
3662014-03-26 Jakub Jelinek <jakub@redhat.com>
367
368 * config/linux/futex_bits.h: Include errno.h.
369 (sys_futex0): If syscall returns -1, return -errno rather than
370 -1.
371
c288ec8f
JM
3722014-03-26 Joseph Myers <joseph@codesourcery.com>
373
374 * libitm.texi (Index): Rename to Library Index.
375
ed100f5d
L
3762014-01-13 H.J. Lu <hongjiu.lu@intel.com>
377
378 PR libitm/53113
379 * Makefile.am (x86_sse.lo): Append -msse to CXXFLAGS.
380 (x86_avx.lo): Append -mavx to CXXFLAGS.
381 * Makefile.in: Regenerate.
382
f93608e6
RS
3832014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
384
385 Update copyright years
386
98db73df
TB
3872014-01-02 Tobias Burnus <burnus@net-b.de>
388
389 * libitm.texi: Bump @copying's copyright year.
390
b54214fe
UW
3912013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
392
393 * config/powerpc/sjlj.S [__powerpc64__ && _CALL_ELF == 2]:
394 (FUNC): Define ELFv2 variant.
395 (END): Likewise.
396 (HIDDEN): Likewise.
397 (CALL): Likewise.
398 (BASE): Likewise.
399 (LR_SAVE): Likewise.
400
3cbe17f7
AM
4012013-09-20 Alan Modra <amodra@gmail.com>
402
403 * configure: Regenerate.
404
6fb471d8
TR
4052013-08-30 Torvald Riegel <triegel@redhat.com>
406
407 * config/posix/rwlock.cc: Fix initialization order.
408
bec9ec3f
TR
4092013-08-30 Torvald Riegel <triegel@redhat.com>
410
411 * libitm_i.h (gtm_thread): Assign an asm name to serial_lock.
412 (htm_fastpath): Assign an asm name.
413 * libitm.h (_ITM_codeProperties): Add non-ABI flags used by custom
414 HTM fast paths.
415 (_ITM_actions): Likewise.
416 * config/x86/target.h (HTM_CUSTOM_FASTPATH): Enable custom fastpath on
417 x86_64.
418 * config/x86/sjlj.S (_ITM_beginTransaction): Add custom HTM fast path.
419 * config/posix/rwlock.h (gtm_rwlock): Update comments. Move summary
420 field to the start of the structure.
421 * config/linux/rwlock.h (gtm_rwlock): Update comments.
422 * beginend.cc (gtm_thread::begin_transaction): Add retry policy
423 handling for custom HTM fast paths.
424
1869217f
AK
4252013-08-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
426 Revert:
427 2013-08-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
428
429 * configure.tgt: Add -msoft-float to XCFLAGS.
430
d62d5152
AK
4312013-08-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
432
433 * configure.tgt: Add -msoft-float to XCFLAGS.
434
aaaffb2a
AK
4352013-07-29 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
436
437 * config/s390/target.h (htm_begin, htm_commit, htm_abort)
438 (htm_transaction_active): Enable zEC12 instructions in the
439 assembler.
440 * configure.tgt: Remove -Wa,-march=zEC12 from XCFLAGS.
441
167f68ed
AK
4422013-07-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
443
444 * acinclude.m4: Add htm asm check for s390.
445 * configure.tgt: Add -mhtm and -Wa,-march=zEC12 to the options.
446 * configure: Regenerate.
447 * config/s390/target.h: Remove __HTM__ check.
448 (htm_available): Call getauxval to get hwcaps and check whether
449 HTM is available or not.
450
0258b6e4
PB
4512013-07-15 Peter Bergner <bergner@vnet.ibm.com>
452
453 * acinclude.m4 (LIBITM_CHECK_AS_HTM): New.
454 * configure.ac: Use it.
455 (AC_CHECK_HEADERS): Check for sys/auxv.h.
456 (AC_CHECK_FUNCS): Check for getauxval.
457 * config.h.in, configure: Rebuild.
458 * configure.tgt (target_cpu): Add -mhtm to XCFLAGS.
459 * config/powerpc/target.h: Include sys/auxv.h and htmintrin.h.
460 (USE_HTM_FASTPATH): Define.
461 (_TBEGIN_STARTED, _TBEGIN_INDETERMINATE, _TBEGIN_PERSISTENT,
462 _HTM_RETRIES) New macros.
463 (htm_abort, htm_abort_should_retry, htm_available, htm_begin, htm_init,
464 htm_begin_success, htm_commit, htm_transaction_active): New functions.
465
5a3fe9b6
AK
4662013-06-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
467
468 * config/s390/target.h: Include htmintrin.h.
469 (_HTM_ITM_RETRIES): New macro definition.
470 (htm_available, htm_init, htm_begin, htm_begin_success)
471 (htm_commit, htm_abort, htm_abort_should_retry): New functions.
472
6c84d576
IS
4732013-06-20 Iain Sandoe <iain@codesourcery.com>
474 Cesar Philippidis <cesar@codesourcery.com>
475
476 * testsuite/lib/libitm.exp: Reorder lib loads into dependency order.
477 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
478 * testsuite/libitm.c/c.exp: load_gcc_lib gcc-dg.exp.
479 * testsuite/libitm.c++/c++.exp: load_gcc_lib gcc-dg.exp.
480
480c696b
TR
4812013-06-20 Torvald Riegel <triegel@redhat.com>
482
483 * query.cc (_ITM_inTransaction): Abort when using the HTM fastpath.
484 (_ITM_getTransactionId): Same.
485 * config/x86/target.h (htm_transaction_active): New.
486
b1db457b
TR
4872013-06-20 Torvald Riegel <triegel@redhat.com>
488
489 PR libitm/57643
490 * beginend.cc (gtm_thread::begin_transaction): Handle reentrancy in
491 the HTM fastpath.
492
51249377
GP
4932013-03-31 Gerald Pfeifer <gerald@pfeifer.com>
494
495 PR bootstrap/56714
496 * local_atomic (__always_inline): Always define our version.
497 (__calculate_memory_order): Mark inline.
498 (atomic_thread_fence): Ditto.
499 (atomic_signal_fence): Ditto.
500 (atomic_bool::atomic_flag_test_and_set_explicit): Ditto.
501 (atomic_bool::atomic_flag_clear_explicit): Ditto.
502 (atomic_bool::atomic_flag_test_and_set): Ditto.
503 (atomic_bool::atomic_flag_clear): Ditto.
504
f818478b
JJ
5052013-04-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
506
507 * config/s390/sjlj.S: New file.
508 * config/s390/target.h: New file.
509 * configure.tgt: Set options for S/390.
510
ab4425be
AK
5112013-03-23 Andi Kleen <ak@linux.intel.com>
512
513 * local_atomic (__always_inline): Add.
514 (__calculate_memory_order, atomic_thread_fence,
515 atomic_signal_fence, test_and_set, clear, store, load,
516 exchange, compare_exchange_weak, compare_exchange_strong,
517 fetch_add, fetch_sub, fetch_and, fetch_or, fetch_xor):
518 Add __always_inline to force inlining.
519
6c59ffd1
IS
5202013-02-11 Iain Sandoe <iain@codesourcery.com>
521 Jack Howarth <howarth@bromo.med.uc.edu>
522 Patrick Marlier <patrick.marlier@gmail.com>
523
524 PR libitm/55693
525 * alloc_cpp.cc: Enable function declarations on darwin.
526 * eh_cpp.cc: Likewise.
527
75f9527c
RS
5282013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
529
530 Update copyright years.
531
64fbcc74
TR
5322012-11-09 Torvald Riegel <triegel@redhat.com>
533
534 * beginend.cc (htm_fastpath): New.
535 (gtm_thread::begin_transaction, _ITM_commitTransaction,
536 _ITM_commitTransactionEH): Add HTM fastpath handling.
537 * config/linux/rwlock.h (gtm_rwlock.is_write_locked): New.
538 * config/posix/rwlock.h (gtm_rwlock.is_write_locked): New.
539 * config/x86/target.h (htm_available, htm_init, htm_begin_success,
540 htm_begin, htm_commit, htm_abort, htm_abort_should_retry): New.
541 * configure.tgt: Add -mrtm to XCFLAGS.
542 * method-serial.cc (htm_mg, o_htm_mg, htm_dispatch, dispatch_htm): New.
543 (gtm_thread::serialirr_mode): Add HTM fastpath handling.
544 * libitm_i.h (htm_fastpath, dispatch_htm): Declare.
545 * retry.cc (parse_default_method): Add HTM method parsing.
546 (gtm_thread::number_of_threads_changed): Use HTM by default if
547 available.
548
b9efc877
TS
5492012-11-04 Thomas Schwinge <thomas@codesourcery.com>
550
551 * configure: Regenerate.
552
07d3b5c8
RH
5532012-10-31 Richard Henderson <rth@redhat.com>
554
555 * acinclude.m4 (LIBITM_CHECK_AS_RTM): New.
556 * configure.ac: Use it.
557 * config.h.in, configure: Rebuild.
558 * testsuite/Makefile.in: Rebuild.
559
eb00e959
TR
5602012-10-24 Torvald Riegel <triegel@redhat.com>
561
562 * libitm.texi: Clarify ABI requirements for data-logging functions.
563
b679c813
TR
5642012-10-24 Torvald Riegel <triegel@redhat.com>
565
566 * retry.cc (gtm_thread::decide_begin_dispatch): Ask dispatch whether
567 it requires serial mode instead of assuming that for certain
568 dispatchs.
569 * dispatch.h (abi_dispatch::requires_serial): New.
570 (abi_dispatch::abi_dispatch): Adapt.
571 * method-gl.cc (gl_wt_dispatch::gl_wt_dispatch): Adapt.
572 * method-ml.cc (ml_wt_dispatch::ml_wt_dispatch): Same.
573 * method-serial.cc (serialirr_dispatch::serialirr_dispatch,
574 serial_dispatch::serial_dispatch,
575 serialirr_onwrite_dispatch::serialirr_onwrite_dispatch): Same.
576
0c609a21
UB
5772012-10-02 Uros Bizjak <ubizjak@gmail.com>
578
579 * config/x86/target.h (struct gtm_jmpbuf): Merge x86_64
580 and ia32 declarations some more.
581 * config/x86/sjlj.S (_ITM_beginTransaction): Move ret to common code.
582
c0758df9
JJ
5832012-09-20 Jakub Jelinek <jakub@redhat.com>
584
585 PR other/43620
586 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
587 * configure: Regenerate.
588 * Makefile.in: Regenerate.
589
690c45b8
DE
5902012-09-14 David Edelsohn <dje.gcc@gmail.com>
591
592 * configure: Regenerated.
593
68a12ef3
UB
5942012-07-31 Uros Bizjak <ubizjak@gmail.com>
595
596 * config/x86/target.h (cpu_relax): Use __builtin_ia32_pause.
597
f2f9a097
PM
5982012-05-21 Patrick Marlier <patrick.marlier@gmail.com>
599
600 * eh_cpp.cc: Fix __cxa_end_catch declaration.
601
e6d5f8c9
L
6022012-05-16 H.J. Lu <hongjiu.lu@intel.com>
603
604 * configure: Regenerated.
605
0100e3b3
L
6062012-04-04 H.J. Lu <hongjiu.lu@intel.com>
607
608 PR libitm/52854
609 * config/x86/target.h (gtm_jmpbuf): Replace long with long long
610 for x86-64.
611
2f6935f4
TG
6122012-04-03 Tristan Gingold <gingold@adacore.com>
613
614 * configure: Regenerate.
615
b9c23a61
L
6162012-03-31 H.J. Lu <hongjiu.lu@intel.com>
617
618 PR bootstrap/52812
619 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
620
6a26a74d
BRF
6212012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
622
623 * testsuite/lib/libitm.exp: load fortran-modules.exp
624
b24513a1
RO
6252012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
626
627 * configure.tgt (*-*-irix6*): Remove.
628
0d23faac
TR
6292012-03-13 Torvald Riegel <triegel@redhat.com>
630
631 PR libitm/52526
632 * config/linux/rwlock.cc (GTM::gtm_rwlock::read_lock): Fix lost
633 wake-up.
634
5c30094f
RO
6352012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
636
637 * configure.tgt (*-*-osf*): Remove.
638 * configure: Regenerate.
639
d28b0b08
TR
6402012-03-05 Torvald Riegel <triegel@redhat.com>
641
642 * dispatch.h (CREATE_DISPATCH_METHODS_MEM): Don't execute
643 memtransfer/memset if size isn't larger than zero.
644
034209bc
TR
6452012-03-02 Torvald Riegel <triegel@redhat.com>
646
647 * libitm.texi: Link to specification and add a usage example.
648
bc8da6ba
TR
6492012-02-24 Torvald Riegel <triegel@redhat.com>
650
651 * retry.cc (GTM::gtm_thread::number_of_threads_changed): Change
652 default dispatch for more than 1 thread to ml_wt.
653
63b08143
TR
6542012-02-20 Torvald Riegel <triegel@redhat.com>
655
656 * method-gl.cc (gl_wt_dispatch::orec): Put on separate cacheline.
657
4c9bd6ac
TR
6582012-02-20 Torvald Riegel <triegel@redhat.com>
659
660 * method-gl.cc (gl_wt_dispatch::rollback): Optimize memory orders.
661
651ff415
TR
6622012-02-20 Torvald Riegel <triegel@redhat.com>
663
664 * method-gl.cc (gl_wt_dispatch::trycommit): Remove handling of
665 serial mode corner cases made obsolete by prior gtm_rwlock changes.
666 (gl_wt_dispatch.rollback): Same.
667
efee0113
TR
6682012-02-20 Torvald Riegel <triegel@redhat.com>
669
670 * method-gl.cc (gl_wt_dispatch::pre_write): Optimize memory orders.
671
33a03827
TR
6722012-02-20 Torvald Riegel <triegel@redhat.com>
673
674 * method-gl.cc (gl_wt_dispatch::memtransfer_static): Add missing undo
675 for RfW src. Optimize number of calls to gtm_thr.
676
a19db3f2
TR
6772012-02-20 Torvald Riegel <triegel@redhat.com>
678
679 * beginend.cc (GTM::gtm_thread::begin_transaction): Move serial lock
680 acquisition to ...
681 * retry.cc (GTM::gtm_thread::decide_begin_dispatch): ... here.
682 (default_dispatch): Make atomic.
683 (GTM::gtm_thread::set_default_dispatch): Access atomically.
684 (GTM::gtm_thread::decide_retry_strategy): Access atomically and
685 use decide_begin_dispatch() if default_dispatch might have changed.
686 (GTM::gtm_thread::number_of_threads_changed): Initialize
687 default_dispatch here.
688
e948a1fb
IS
6892012-02-15 Iain Sandoe <iains@gcc.gnu.org>
690 Patrick Marlier <patrick.marlier@gmail.com>
691
692 PR libitm/52220
693 * alloc_cpp.cc: No dummy definitions for darwin.
694 * eh_cpp.cc: Likewise.
695
72824d5e
RH
6962012-02-14 Richard Henderson <rth@redhat.com>
697
698 * config/x86/target.h (GTM_longjmp): Correct the .cfi corrections.
699
1f319dba
UB
7002012-02-14 Uros Bizjak <ubizjak@gmail.com>
701
702 * config/x86/target.h (GTM_longjmp): Correct .cfi directives.
703
31772c95
TR
7042012-02-14 Torvald Riegel <triegel@redhat.com>
705
706 * libitm_i.h (GTM::gtm_rwlog_entry): New.
707 (GTM::gtm_thread): Add read and write logs.
708 (GTM::dispatch_ml_wt): Declare.
709 * retry.cc (parse_default_method): Support ml_wt.
710 * method-ml.cc: New file.
711 * Makefile.am: Add method-ml.cc.
712 * Makefile.in: Regenerate.
713
5b9cf5d2
TR
7142012-02-14 Torvald Riegel <triegel@redhat.com>
715
716 * dispatch.h (GTM::abi_dispatch::supports): New.
717 (GTM::method_group::reinit): New.
718 * retry.cc (GTM::gtm_thread::decide_retry_strategy): Use reinit().
719 (GTM::gtm_thread::number_of_threads_changed): Check that the method
720 supports the current situation.
721
7d33bcb7
TR
7222012-02-14 Torvald Riegel <triegel@redhat.com>
723
724 * util.cc (GTM::xcalloc): New.
725 * common.h (GTM::xcalloc): Declare.
726
62513f7b
EB
7272012-02-14 Eric Botcazou <ebotcazou@adacore.com>
728
729 * config/sparc/target.h (cpu_relax): Read from CC register.
730 * config/sparc/sjlj.S (GTM_longjmp): Restore %fp atomically.
731
7322012-02-14 Uros Bizjak <ubizjak@gmail.com>
d4a698d4
UB
733
734 * config/x86/target.h (GTM_longjmp): Jump indirect from memory address.
735
f3f5e3c3
EB
7362012-02-13 Eric Botcazou <ebotcazou@adacore.com>
737
62513f7b 738 * configure.tgt (target_cpu): Handle sparc and sparc64/sparcv9.
f3f5e3c3
EB
739 * config/sparc/cacheline.h: New file.
740 * config/sparc/target.h: Likewise.
741 * config/sparc/sjlj.S: Likewise.
742 * config/linux/sparc/futex_bits.h: Likewise.
743
7442012-02-13 Eric Botcazou <ebotcazou@adacore.com>
255a9a1b
EB
745
746 * configure.ac (link_itm): Fix comment.
747 * configure: Regenerate.
748 * testsuite/lib/libitm.exp: Do not pass -litm for the link.
749
681355e3
RO
7502012-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
751
fc985d2f 752 PR libitm/51822
62513f7b 753 * testsuite/libitm.c++/c++.exp (lang_link_flags): Add -shared-libgcc.
681355e3
RO
754 Correct libgomp references.
755
999bcff5
TR
7562012-01-24 Torvald Riegel <triegel@redhat.com>
757
758 * config/linux/rwlock.cc (GTM::gtm_rwlock::write_unlock): Fix reader
759 wake-up.
760
9848887a
UB
7612012-01-24 Uros Bizjak <ubizjak@gmail.com>
762
763 * config/x86/target.h (gtm_jmpbuf) [__x86_64__]: Move rip to the
764 end of structure.
765 * config/x86/sjlj.S (_ITM_beginTransaction) [__x86_64__]: Update
766 offset values. Do not copy return address. Decrement stack
767 by 56 bytes only.
768 (GTM_longjump) [__x86_64__]: Update offset values.
769
5752c591
UB
7702012-01-23 Uros Bizjak <ubizjak@gmail.com>
771
772 PR libitm/51830
773 * config/x86/sjlj.S (_ITM_beginTransaction) [!__x86_64__]: Load
774 the first function argument to %eax.
775
61e72ca4
RO
7762012-01-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
777
778 * libitm.h (_ITM_getThreadnum): Remove.
779 * libitm.map (_ITM_getThreadnum): Remove from LIBITM_1.0.
780
9ce91011
RO
7812012-01-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
782
783 * clearcap.map: New file.
784 * acinclude.m4 (LIBITM_CHECK_LINKER_HWCAP): New test.
785 * configure.ac: Call it.
786 Clear HWCAP_LDFLAGS if defaulting to -mavx.
787 * Makefile.am (AM_LDFLAGS): Add $(HWCAP_LDFLAGS)
788 * configure: Regenerate.
789 * Makefile.in: Regenerate.
790 * testsuite/Makefile.in: Regenerate.
791
3b4f05ec
RO
7922012-01-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
793
794 PR libitm/51173
795 * testsuite/libitm.c++/static_ctor.C: Skip test, note PR, remove
796 include, exclude options.
797
aab74ee9
TR
7982012-01-14 Torvald Riegel <triegel@redhat.com>
799
800 * local.cc (GTM::gtm_undolog::rollback): Truncate undo log after
801 rolling back.
802 * containers.h (GTM::vector::set_size): New.
803
07b6642b
TR
8042012-01-14 Torvald Riegel <triegel@redhat.com>
805
806 PR libitm/51855
807 * config/generic/tls.h (GTM::mask_stack_top): New.
808 (GTM::mask_stack_bottom): Declare.
809 * config/generic/tls.c (GTM::mask_stack_bottom): New.
810 * local.cc (gtm_undolog::rollback): Filter out any updates that
811 overlap the libitm stack. Add current transaction as parameter.
812 * libitm_i.h (GTM::gtm_undolog::rollback): Adapt.
813 * beginend.cc (GTM::gtm_thread::rollback): Adapt.
814 * testsuite/libitm.c/stackundo.c: New test.
815
8377e5e5
RH
8162012-01-10 Richard Henderson <rth@redhat.com>
817
818 * libitm_i.h (_Unwind_DeleteException): Declare weak.
819 * eh_cpp.cc (_Unwind_DeleteException): Define for
820 !HAVE_ELF_STYLE_WEAKREF.
821
11f30bb0
TR
8222012-01-08 Torvald Riegel <triegel@redhat.com>
823
824 * local.cc (GTM_LB): Use GTM::gtm_undolog.
825 (GTM::gtm_thread::drop_references_undolog): Remove.
826 (GTM::gtm_thread::commit_undolog,
827 GTM::gtm_thread::rollback_undolog): Move to ...
828 * libitm_i.h (GTM::gtm_undolog): ...here. New.
829 (GTM::gtm_undolog_entry): Remove.
830 (GTM::gtm_thread): Adapt.
831 * beginend.cc (GTM::gtm_thread::rollback): Adapt.
832 (GTM::gtm_thread::trycommit): Adapt.
833 * method-serial.cc (serial_dispatch::log): Adapt.
834 * method-gl.cc (gl_wt_dispatch::pre_write): Adapt.
835 (gl_wt_dispatch::store): Fix likely/unlikely.
836 * containers.h (GTM::vector::resize): Add additional_capacity
837 parameter and handle it.
838 (GTM::vector::resize_noinline): New/adapt.
839 (GTM::vector::push): New.
840
a32e5e93
RH
8412012-01-06 Richard Henderson <rth@redhat.com>
842
843 * configure.tgt: Support powerpc-linux and powerpc-darwin.
844 * config/linux/powerpc/futex_bits.h: New file.
845 * config/powerpc/cacheline.h: New file.
846 * config/powerpc/sjlj.S: New file.
847 * config/powerpc/target.h: New file.
848 * config/generic/asmcfi.h (cfi_offset): New.
849 (cfi_restore, cfi_undefined): New.
850
1f53a8e6
AH
8512012-01-05 Aldy Hernandez <aldyh@redhat.com>
852
853 PR other/51171
854 * testsuite/libitm.c/reentrant.c: Remove xfail.
855 (thread): Pass x to pure().
be223aaf 856 From Patrik Marlier <patrick.marlier@gmail.com>.
1f53a8e6 857
c898f7b8
TR
8582011-12-24 Torvald Riegel <triegel@redhat.com>
859
860 * beginend.cc (GTM::gtm_thread::trycommit): Don't enforce
861 privatization safety if already in serial mode.
862
610e3901
TR
8632011-12-24 Torvald Riegel <triegel@redhat.com>
864
865 * beginend.cc (GTM::gtm_thread::restart): Add and handle
866 finish_serial_upgrade parameter.
867 * libitm.h (GTM::gtm_thread::restart): Adapt declaration.
868 * config/linux/rwlock.cc (GTM::gtm_rwlock::write_lock_generic):
869 Don't unset reader flag.
870 (GTM::gtm_rwlock::write_upgrade_finish): New.
871 * config/posix/rwlock.cc: Same.
872 * config/linux/rwlock.h (GTM::gtm_rwlock::write_upgrade_finish):
873 Declare.
874 * config/posix/rwlock.h: Same.
875 * method-serial.cc (GTM::gtm_thread::serialirr_mode): Unset reader
876 flag after commit or after rollback when restarting.
877
799142bf
TR
8782011-12-24 Torvald Riegel <triegel@redhat.com>
879
880 * beginend.cc (GTM::gtm_thread::begin_transaction): Add comment.
881 (GTM::gtm_thread::try_commit): Changed memory order.
882 * config/linux/alpha/futex_bits.h (sys_futex0): Take atomic int
883 as parameter.
884 * config/linux/x86/futex_bits.h (sys_futex0): Same.
885 * config/linux/sh/futex_bits.h (sys_futex0): Same.
886 * config/linux/futex_bits.h (sys_futex0): Same.
887 * config/linux/futex.cc (futex_wait, futex_wake): Same.
888 * config/linux/futex.h (futex_wait, futex_wake): Same.
889 * config/linux/rwlock.h (gtm_rwlock::writers,
890 gtm_rwlock::writer_readers, gtm_rwlock::readers): Change to atomic
891 ints.
892 * config/linux/rwlock.cc (gtm_rwlock::read_lock,
893 gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock,
894 gtm_rwlock::write_unlock): Fix memory orders and fences.
895 * config/posix/rwlock.cc (gtm_rwlock::read_lock,
896 gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock,
897 gtm_rwlock::write_unlock): Same.
898 * config/linux/rwlock.h (gtm_rwlock::summary): Change to atomic int.
899 * method-gl.cc (gl_mg::init, gl_wt_dispatch::memtransfer_static,
900 gl_wt_dispatch::memset_static, gl_wt_dispatch::begin_or_restart):
901 Add comments.
902 (gl_wt_dispatch::pre_write, gl_wt_dispatch::validate,
903 gl_wt_dispatch::load, gl_wt_dispatch::store,
904 gl_wt_dispatch::try_commit, gl_wt_dispatch::rollback): Fix memory
905 orders and fences. Add comments.
906
b0f96e35
JJ
9072011-12-21 Jakub Jelinek <jakub@redhat.com>
908
909 * Makefile.am (AM_CXXFLAGS): Put $(XCFLAGS) first.
910 * Makefile.in: Regenerated.
911
cc163247
KK
9122011-12-17 Kaz Kojima <kkojima@gcc.gnu.org>
913
914 * configure.tgt: Add sh* case.
915 * config/sh/target.h: New file.
916 * config/sh/sjlj.S: New file.
917 * config/linux/sh/futex_bits.h: New file.
918
aebac0ca
RH
9192011-12-14 Richard Henderson <rth@redhat.com>
920
921 * config/arm/hwcap.h, config/arm/hwcap.cc: New files.
922 * config/arm/sjlj.S, config/arm/target.h: New files.
923 * config/generic/asmcfi.h (cfi_adjust_cfa_offset): New.
924 (cfi_rel_offset): New.
925 * config/linux/futex_bits.h: New file.
926 * config/linux/futex.cc: Include futex_bits.h here...
927 * config/linux/futex.h: ... not here.
928 * Makefile.am (libitm_la_SOURCES) <ARCH_ARM>: Add hwcap.cc.
929 * configure.ac (ARCH_AM): New conditional.
930 * Makefile.in, configure: Rebuild.
931 * configure.tgt: Handle ARM.
932
36cfbee1
RH
9332011-12-13 Richard Henderson <rth@redhat.com>
934
5d9d05d3
RH
935 * config/posix/rwlock.cc (gtm_rwlock::write_lock_generic): Fix
936 signed/unsigned comparison werror.
937
36cfbee1
RH
938 * local_atomic: New file.
939 * libitm_i.h: Include it.
940 (gtm_thread::shared_state): Use atomic template.
941 * beginend.cc (GTM::gtm_clock): Use atomic template.
942 (global_tid): Use atomic template if 64-bit atomics available.
943 (gtm_thread::gtm_thread): Update shared_state access.
944 (gtm_thread::trycommit): Likewise.
945 (choose_code_path): Update global_tid access.
946 * method-gl.cc (gl_mg::orec): Use atomic template. Update all users.
947 * stmlock.h (GTM::gtm_clock): Use atomic template.
948 (gtm_get_clock, gtm_inc_clock): Update accesses.
949 * config/linux/rwlock.cc (gtm_rwlock::read_lock): Remove
950 redundant __sync_synchronize after atomic shared_state access.
951 * config/posix/rwlock.cc (gtm_rwlock::read_lock): Likewise.
952 (gtm_rwlock::write_lock_generic): Likewise.
953 (gtm_rwlock::read_unlock): Likewise.
954 * config/alpha/target.h (atomic_read_barrier): Remove.
955 (atomic_write_barrier): Remove.
956 * config/x86/target.h (atomic_read_barrier): Remove.
957 (atomic_write_barrier): Remove.
958
062f93f2
RH
9592011-11-30 Richard Henderson <rth@redhat.com>
960
961 * libitm_i.h (GTM_longjmp): Swap first and second arguments.
962 * beginend.c (_ITM_abortTransaction): Update to match.
963 (GTM::gtm_thread::restart): Likewise.
964 * config/alpha/sjlj.S (GTM_longjmp): Likewise.
965 * config/x86/sjlj.S (GTM_longjmp): Likewise.
966
bd8aaa86
IS
9672011-11-23 Iain Sandoe <iains@gcc.gnu.org>
968
969 * Makefile.am (libitm_la_LDFLAGS): Remove "-no-undefined".
970 * Makefile.in: Regenerate.
971
8cf36bb3
IS
9722011-11-22 Iain Sandoe <iains@gcc.gnu.org>
973
974 * configure.ac: Use GCC_CHECK_ELF_STYLE_WEAKREF.
975 * alloc_cpp.cc: Generate dummy functions if we don't
976 HAVE_ELF_STYLE_WEAKREF.
977 * eh_cpp.cc: Likewise.
978 * configure: Regenerate.
979 * aclocal.m4: Likewise.
980 * config.h.in: Likewise.
981 * Makefile.in: Likewise.
982 * testsuite/Makefile.in: Likewise.
983
0b41ebef
IS
9842011-11-22 Iain Sandoe <iains@gcc.gnu.org>
985
986 * config/x86/sjlj.S (CONCAT1, CONCAT2, SYM): Respond to
987 __USER_LABEL_PREFIX__ for targets that use it.
8cf36bb3 988 (TYPE, SIZE, HIDDEN): New macros to assist on non-elf targets.
0b41ebef
IS
989 (_ITM_beginTransaction): Use SYM, TYPE, SIZE macros to assist
990 in portability to non-elf targets.
8cf36bb3 991 (GTM_longjmp): Likewise.
0b41ebef
IS
992 * libitm_i.h (begin_transaction): Apply __USER_LABEL_PREFIX__
993 where required.
994
9c9d352a
IS
9952011-11-22 Iain Sandoe <iains@gcc.gnu.org>
996
997 * testsuite/libitm.c/memcpy-1.c: Allow for MAP_ANON spelling.
998 * testsuite/libitm.c/memset-1.c: Likewise.
999
c6084f68
AT
10002011-11-21 Andreas Tobler <andreast@fgznet.ch>
1001
1002 * configure: Regenerate.
1003
adcd36bc
RO
10042011-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1005
1006 * acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Handle gold.
1007 (LIBITM_ENABLE_SYMVERS): Handle sun style.
1008 * Makefile.am: Handle sun style versioning.
1009 (libitm_la_LINK): Add $(libitm_la_LDFLAGS).
1010 * configure: Regenerate.
1011 * Makefile.in: Regenerate.
1012
59659b59
RO
10132011-11-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1014
1015 * config/generic/asmcfi.h: Fix comment.
1016 * config/x86/sjlj.S (_ITM_beginTransaction): Provide ELF PIC code
1017 sequence without .hidden support, error for non-ELF targets.
1018 (GTM_longjmp) [__ELF__]: Only use .hidden if
1019 HAVE_ATTRIBUTE_VISIBILITY.
1020
d846e425
RO
10212011-11-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1022
1023 * alloc_cpp.cc [__osf__] (_ZnwX, _ZdlPv, _ZnaX, _ZdaPv,
1024 _ZnwXRKSt9nothrow_t, _ZdlPvRKSt9nothrow_t, _ZdaPvRKSt9nothrow_t):
1025 Dummy functions.
1026 * eh_cpp.cc [__osf__] (__cxa_allocate_exception, __cxa_throw,
1027 __cxa_begin_catch, __cxa_end_catch, __cxa_tm_cleanup): Likewise.
1028
80713347
UB
10292011-11-16 Uros Bizjak <ubizjak@gmail.com>
1030
1031 PR bootstrap/51098
1032 * acinclude.m4 (LIBITM_CHECK_AS_AVX): Fix target selector.
1033 * configure: Regenerate.
1034
2841f85e
L
10352011-11-14 H.J. Lu <hongjiu.lu@intel.com>
1036
1037 * testsuite/lib/libitm.exp: Check ia32 instead of ilp32.
1038
8851b429
RO
10392011-11-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1040
1041 * config/alpha/sjlj.S (_ITM_beginTransaction) [!__ELF__]: Don't use
1042 .hidden.
1043 (.note.GNU-stack): Only use if __linux__.
1044 * alloc_cpp.cc [!__osf__] (_ZnaXRKSt9nothrow_t): Dummy function.
1045 * testsuite/libitm.c/notx.c: Use dg-options "-pthread".
1046 * testsuite/libitm.c/reentrant.c: Likewise.
1047 * testsuite/libitm.c/simple-2.c: Likewise.
1048 * testsuite/libitm.c/txrelease.c: Likewise.
1049 * testsuite/libitm.c++/static_ctor.C: Likewise.
1050
d4b17902
RH
10512011-11-10 Richard Henderson <rth@redhat.com>
1052
1053 * config/x86/x86_avx.cc: Remove #undef __AVX__ hack. Tidy comments.
1054 * Makefile.am (x86_avx.lo): Only add -mavx if ARCH_X86_AVX.
1055 * configure.ac (ARCH_X86_AVX): New conditional.
1056 * Makefile.in, configure: Rebuild.
1057
430616e7
RH
10582011-11-09 Richard Henderson <rth@redhat.com>
1059
1060 * acinclude.m4 (LIBITM_CHECK_AS_AVX): New.
1061 * configure.ac: Use it.
1062 * config.h.in, configure: Rebuild.
1063 * config/x86/x86_avx.cc: Handle !HAVE_AS_AVX.
1064
79b1edb6
RH
10652011-11-09 Richard Henderson <rth@redhat.com>
1066
1067 * barrier.tpl, memcpy.cc, memset.cc, method-wbetl.cc: Remove file.
1068 * config/alpha/unaligned.h: Remove file.
1069 * config/generic/unaligned.h: Remove file.
1070 * config/x86/unaligned.h: Remove file.
1071 * config/generic/cachepage.h: Remove file.
1072 * config/posix/cachepage.cc: Remove file.
1073 * config/generic/cacheline.cc: Remove file.
1074 * config/x86/cacheline.cc: Remove file.
1075 * config/generic/cacheline.h (gtm_cacheline): Remove the
1076 store_mask, copy_mask, copy_mask_wb methods.
1077 * config/x86/cacheline.h: Likewise.
1078 * config/alpha/cacheline.h: Fall back to generic after setting size.
1079 * config/generic/tls.cc (gtm_mask_stack): Remove.
1080 * config/x86/x86_avx.cc (GTM_vpperm_shift): Remove.
1081 (GTM_vpalignr_table): Remove.
1082 * config/x86/x86_sse.cc (GTM_palignr_table): Remove.
1083 (GTM_pshift_table): Remove.
1084 * config/libitm_i.h: Don't include cachepage.h.
1085 * Makefile.am (libitm_la_SOURCES): Remove cacheline.cc, cachepage.cc
1086 * Makefile.in, testsuite/Makefile.in: Rebuild.
1087
4bdd090f
RH
10882011-11-09 Richard Henderson <rth@redhat.com>
1089
8ee9fac2
RH
1090 * config/x86/cacheline.h (gtm_cacheline::store_mask): Use .byte
1091 to emit branch prediction hint.
1092
9bdc6343
RH
1093 * config/x86/sjlj.S: Protect elf directives with __ELF__.
1094 Protect .note.GNU-stack with __linux__.
1095
4bdd090f
RH
1096 * configure.ac (GCC_AS_CFI_PSEUDO_OP): Test it.
1097 * configure, aclocal.m4, config.h.in: Rebuild.
1098 * config/generic/asmcfi.h: New file.
1099 * config/x86/sjlj.S: Use it.
1100
4408b086
RH
11012011-11-08 Richard Henderson <rth@redhat.com>
1102
1103 * local.cc (_ITM_LB): Use a normal call, not a function alias.
1104
01f3428c
RH
11052011-11-08 Richard Henderson <rth@redhat.com>
1106
3d3b05ff
RH
1107 * configure.tgt: Test correct directory for supported cpus.
1108
01f3428c
RH
1109 * configure.ac: Exit if unsupported.
1110 * configure: Rebuild.
1111 * configure.tgt: Delete boilerplate from libgomp for unsupported
1112 targets. Set UNSUPPORTED for unsupported targets.
1113
07f03cd3
RO
11142011-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1115
1116 * configure.tgt: Handle i386 like i[456]86.
1117 * config/generic/tls.h [!HAVE_ARCH_GTM_THREAD] (gtm_thr): Don't
1118 take address.
1119 * config/generic/tls.cc [!HAVE_ARCH_GTM_THREAD ||
1120 !HAVE_ARCH_GTM_THREAD_DISP] (_gtm_thr_tls): New variable.
1121
0a35513e
AH
11222011-11-05 Aldy Hernandez <aldyh@redhat.com>
1123
1124 * method-wbetl.cc: Update copyright notice.
1125 * aatree.cc: Same.
1126 * util.cc: Same.
1127 * libitm.h: Same.
1128 * memset.cc: Same.
1129 * eh_cpp.cc: Same.
1130 * barrier.tpl: Same.
1131 * useraction.cc: Same.
1132 * stmlock.h: Same.
1133 * memcpy.cc: Same.
1134 * common.h: Same.
1135 * config/generic/tls.cc: Same.
1136 * config/generic/cacheline.h: Same.
1137 * config/generic/cachepage.h: Same.
1138 * config/generic/cacheline.cc: Same.
1139 * config/generic/unaligned.h: Same.
1140 * config/x86/cacheline.h: Same.
1141 * config/x86/cacheline.cc: Same.
1142 * config/x86/unaligned.h: Same.
1143 * config/alpha/cacheline.h: Same.
1144 * config/alpha/unaligned.h: Same.
1145 * config/alpha/sjlj.S: Same.
1146 * config/posix/cachepage.cc: Same.
1147 * config/linux/futex.h: Same.
1148 * config/linux/alpha/futex_bits.h: Same.
1149
11502011-11-04 Torvald Riegel <triegel@redhat.com>
1151
1152 * libitm.texi: No cover text and invariant sections.
1153
11542011-11-03 Richard Henderson <rth@redhat.com>
1155
1156 * local_type_traits: New file.
1157 * libitm_i.h: Use it. Use C headers, not C++ wrappers.
1158
11592011-11-03 Richard Henderson <rth@redhat.com>
1160
1161 * configure.ac: Don't test for gfortran.
1162 * configure: Rebuild.
1163
1164 * testsuite/lib/libitm.exp: Don't include gfortran-dg.exp.
1165 * testsuite/libitm.c++/c++.exp: Don't use gfortran-dg-runtest.
1166
11672011-11-03 Aldy Hernandez <aldyh@redhat.com>
1168
1169 * testsuite/libitm.c/memcpy-1.c: Add copyright notice.
1170 * testsuite/libitm.c/memset-1.c: Same.
1171 * testsuite/libitm.c/c.exp: Same.
1172 * testsuite/lib/libitm-dg.exp: Same.
1173 * testsuite/lib/libitm.exp: Same.
1174 * testsuite/libitm.c++/c++.exp: Same.
1175
11762011-11-03 Aldy Hernandez <aldyh@redhat.com>
1177
1178 * testsuite/config/default.exp: Update copyright date.
1179 * configure.ac: Add copyright info.
1180 * configure.tgt: Same.
1181
11822011-11-03 Aldy Hernandez <aldyh@redhat.com>
1183
1184 * testsuite/libitm.c/reentrant.c: XFAIL.
1185 * testsuite/libitm.c++/static_ctor.C: XFAIL.
1186
11872011-10-29 Torvald Riegel <triegel@redhat.com>
1188
1189 * beginend.cc (GTM::gtm_thread::rollback): Add aborting flag and
1190 handle aborts.
1191 (_ITM_abortTransaction): Handle aborts of outer transactions.
1192 * libitm_i.h: Same.
1193 * eh_cpp.cc (GTM::gtm_thread::revert_cpp_exceptions): Fix assertion.
1194 * libitm.texi: Document aborts of outer transactions.
1195 * testsuite/libitm.c/cancel.c: New file.
1196
11972011-10-19 Torvald Riegel <triegel@redhat.com>
1198
1199 * testsuite/*: Change __transaction to __transaction_atomic or
1200 __transaction_relaxed.
1201
12022011-10-19 Torvald Riegel <triegel@redhat.com>
1203
1204 * config/linux/x86/tls.h (abi_disp): Make TLS slot read volatile.
1205 (gtm_thr): Same.
1206
12072011-10-19 Torvald Riegel <triegel@redhat.com>
1208
1209 * libitm_i.h: Add gl_wt dispatch.
1210 * retry.cc (parse_default_method): Same.
1211 * method-gl.cc: New file.
1212 * Makefile.am: Use method-gl.cc.
1213 * Makefile.in: Rebuild.
1214
12152011-10-19 Torvald Riegel <triegel@redhat.com>
1216
1217 * beginend.cc (GTM::gtm_thread::trycommit): Ensure privatization
1218 safety if requested by a TM method.
1219 * dispatch.h (GTM::abi_dispatch::trycommit): Add parameter for
1220 privatization safety.
1221 * method-serial.cc: Same.
1222
12232011-10-19 Torvald Riegel <triegel@redhat.com>
1224
1225 * libitm_i.h: Renamed gtm_local_undo to gtm_undolog_entry.
1226 (GTM::gtm_thread): Renamed local_undo to undolog. Renamed
1227 undolog-related member functions from *_local to *_undolog.
1228 * local.cc (gtm_thread::commit_undolog): Same.
1229 * beginend.cc (GTM::gtm_thread::trycommit): Same.
1230 (GTM::gtm_thread::rollback): Roll back undolog before
1231 dispatch-specific rollback.
1232
12332011-10-19 Torvald Riegel <triegel@redhat.com>
1234
1235 * retry.cc (GTM::gtm_thread::decide_retry_strategy): Handle
1236 re-initialization of the current method group.
1237 * libitm_i.h (GTM::gtm_restart_reason): Add restart reason for this.
1238
12392011-10-19 Torvald Riegel <triegel@redhat.com>
1240
1241 * alloc.cc (commit_allocations_2): Do not free transaction-local
1242 memory when committing a nested transaction.
1243
12442011-10-19 Torvald Riegel <triegel@redhat.com>
1245
1246 * method-serial.cc (GTM::gtm_thread::serialirr_mode): Fixed: Use
1247 serial-irrevocable dispatch, not serial.
1248
12492011-10-19 Torvald Riegel <triegel@redhat.com>
1250
1251 * libitm_i.h (GTM::gtm_restart_reason): Re-arrange and clean up
1252 declarations.
1253 * dispatch.h (GTM::abi_dispatch::begin_or_restart): New.
1254 * method-serial.cc: Implement begin_or_restart().
1255 * beginend.cc (GTM::gtm_thread::begin_transaction): Call
1256 dispatch-specific begin_or_restart().
1257 (GTM::gtm_thread::restart): Same.
1258
12592011-08-23 Torvald Riegel <triegel@redhat.com>
1260
1261 * retry.cc (GTM::gtm_thread::decide_retry_strategy): Cleanup. Fix
1262 restarting without switching to serial mode.
1263 (GTM::gtm_thread::decide_begin_dispatch): Let the caller set the
1264 transaction state. Choose closed-nesting alternative if available.
1265 (GTM::gtm_thread::set_default_dispatch): New.
1266 (parse_default_method): New.
1267 (GTM::gtm_thread::number_of_threads_changed): New.
1268 * method-serial.cc (GTM::serial_mg): New method group class.
1269 (GTM::serialirr_dispatch): Belongs to serial_mg. Remove reinit and
1270 fini.
1271 (GTM::serial_dispatch): Same.
1272 (GTM::serialirr_onwrite_dispatch): Same.
1273 (GTM::gtm_thread::serialirr_mode): Remove calls to fini.
1274 * beginend.cc (GTM::gtm_thread::~gtm_thread): Maintain number of
1275 registered threads.
1276 (GTM::gtm_thread::gtm_thread): Same.
1277 (_ITM_abortTransaction): Remove calls to abi_dispatch::fini().
1278 (GTM::gtm_thread::trycommit): Same. Reset number of restarts.
1279 (GTM::gtm_thread::begin_transaction): Let decide_begin_dispatch()
1280 choose dispatch but set state according to dispatch here.
1281 * dispatch.h (GTM::abi_dispatch::fini): Move to method group.
1282 (GTM::method_group): New class.
1283 (GTM::abi_dispatch): Add comments. Maintain pointer to method_group.
1284 * libitm_i.h (GTM::gtm_thread): Add declarations for new members.
1285 * libitm.texi: Document TM methods, method groups, method life cycle.
1286 Rename method sets to method groups.
1287
12882011-08-23 Torvald Riegel <triegel@redhat.com>
1289
1290 * config/x86/tls.h: Moved to ...
1291 * config/linux/x86/tls.h: ... here.
1292
12932011-08-23 Torvald Riegel <triegel@redhat.com>
1294
1295 * config/x86/tls.h: Use __x86_64__ instead of __LP64__.
1296 Add X32 support.
1297 * config/x86/sjlj.S: Same.
1298
12992011-08-19 Torvald Riegel <triegel@redhat.com>
1300
1301 * config/linux/rwlock.h: New file.
1302 * config/linux/rwlock.c: New file.
1303 * configure.ac: Reenable futex support (undo SVN rev 157758).
1304 * Makefile.am: Same.
1305 * configure.tgt: Same.
1306 * config/linux/alpha/futex_bits.h: Same.
1307 * config/linux/futex.h: Same. Return number of woken processes.
1308 * config/linux/futex.cc: Same.
1309 (futex_wait): Remove spinning.
1310 * config/linux/x86/futex_bits.h: Same. Set futex timeout to zero.
1311 Use __x86_64__ instead of __LP64__.
1312 * aclocal.m4: Include generic futex checks.
1313 * configure: Rebuild.
1314 * Makefile.in: Rebuild.
1315 * testsuite/Makefile.in: Rebuild.
1316 * beginend.cc: Include pthread.h.
1317 * config/posix/cachepage.cc: Same.
1318
13192011-08-12 Torvald Riegel <triegel@redhat.com>
1320
1321 * config/x86/tls.h (gtm_tx, set_gtm_tx, setup_gtm_thr): Removed.
1322 (abi_disp, set_abi_disp): Move to tx's TLS slot.
1323 (set_gtm_thr): New.
1324 * config/generic/tls.h (gtm_tx, set_gtm_tx, setup_gtm_thr): Removed.
1325 (set_gtm_thr): New.
1326 (GTM::gtm_thread::thread_num): Removed.
1327 (GTM::gtm_thread): Renamed to GTM::gtm_thread_tls.
1328 * libitm_i.h (GTM::gtm_transaction): Renamed to GTM::gtm_thread. More
1329 tx-to-thread renaming.
1330 * beginend.cc: Adapted to tx-to-thread renaming.
1331 (GTM::gtm_thread::~gtm_thread): Extracted from thread_exit_handler().
1332 (GTM::gtm_thread::gtm_thread): Extracted from begin_transaction().
1333 * query.cc (_ITM_getTransactionId, _ITM_inTransaction): Renamed
1334 gtm_transaction to gtm_thread.
1335 (_ITM_getThreadnum): Removed. Not supported anymore.
1336 * testsuite/libitm.c/notx.c (main): Removed _ITM_getThreadnum call.
1337 * libitm.texi: Documented that _ITM_getThreadnum is not supported.
1338 * useraction.cc: Renamed gtm_transaction to gtm_thread. Adapted to
1339 gtm_tx-to-gtm_thr renaming if necessary.
1340 * eh_cpp.cc: Same.
1341 * local.cc: Same.
1342 * retry.cc: Same.
1343 * clone.cc: Same.
1344 * alloc.cc: Same.
1345 * alloc_c.cc: Same.
1346 * alloc_cpp.cc: Same.
1347 * method-serial.cc: Same.
1348 * config/generic/tls.cc: Same.
1349 * config/posix/rwlock.h (gtm_rwlock): Same.
1350 * config/posix/rwlock.cc: Same. Adapted to more tx-to-thread renaming.
1351
13522011-08-12 Torvald Riegel <triegel@redhat.com>
1353
1354 * config/posix/rwlock.cc (gtm_rwlock::read_lock): Changed locking
1355 implementation.
1356 (gtm_rwlock::read_unlock): Same.
1357 (gtm_rwlock::write_lock_generic): New. Generalized from ...
1358 (gtm_rwlock::write_lock, gtm_rwlock::write_upgrade): ... these.
1359 * libitm_i.h (GTM::gtm_transaction): Added shared_state.
1360 * config/posix/rwlock.h (GTM::gtm_rwlock): Removed a_reader and
1361 w_upgrade. Replaced by per-transaction flags (in shared_state).
1362 Added c_confirmed_writers.
1363 (GTM::gtm_rwlock::read_lock, GTM::gtm_rwlock::read_unlock,
1364 GTM::gtm_rwlock::write_upgrade): Add tx parameter.
1365 * retry.cc (GTM::gtm_transaction::decide_retry_strategy): Same.
1366 * method-serial.cc (GTM::gtm_transaction::serialirr_mode): Same.
1367 * beginend.cc (GTM::gtm_transaction::begin_transaction,
1368 _ITM_abortTransaction, GTM::gtm_transaction::trycommit): Same.
1369 * libitm.texi: Document locking conventions and implementations in
1370 libitm.
1371
13722011-08-12 Torvald Riegel <triegel@redhat.com>
1373
1374 * libitm_i.h (next_tx): Add list of all threads' transaction.
1375 * beginend.cc (GTM::gtm_transaction::begin_transaction): Register
1376 transaction with list of transactions and ...
1377 (thread_exit_handler): ... deregister here.
1378 * config/alpha/target.h: Add HW_CACHELINE_SIZE setting.
1379 * config/x86/target.h: Same.
1380
13812011-08-12 Torvald Riegel <triegel@redhat.com>
1382
1383 * testsuite/libitm.c++/static_ctor.C: New file.
1384
13852011-08-12 Torvald Riegel <triegel@redhat.com>
1386
1387 * testsuite/libitm.c/reentrant.c: New file.
1388
13892011-08-12 Torvald Riegel <triegel@redhat.com>
1390
1391 * config/generic/tls.h: Remove the free list for transactions and ...
1392 * beginend.cc (GTM::gtm_transaction::operator new): ... allocate ...
1393 (GTM::gtm_transaction::operator delete): ... and release here.
1394 (thread_exit_handler): New. Delete tx when thread terminates.
1395 (thread_exit_init): New.
1396 (GTM::gtm_transaction::begin_transaction): Set up on-exit handler.
1397 * testsuite/libitm.c/txrelease.c: New file.
1398
13992011-08-12 Torvald Riegel <triegel@redhat.com>
1400
1401 * query.cc (_ITM_getThreadnum): Set up gtm_thread if necessary.
1402 * testsuite/libitm.c/notx.c: New file.
1403
14042011-08-12 Torvald Riegel <triegel@redhat.com>
1405
1406 * config/generic/tls.h (gtm_thread): Move local_tid from here ...
1407 * libitm_i.h (local_tid): ... to here.
1408 * beginend.cc (GTM::gtm_transaction::begin_transaction): Same.
1409 (GTM::gtm_transaction::operator new): Set up gtm_thread if necessary.
1410
14112011-08-12 Torvald Riegel <triegel@redhat.com>
1412
1413 * retry.cc (GTM::gtm_transaction::decide_begin_dispatch): Use
1414 serialirr_onwrite_dispatch as new default for now.
1415 * method-serial.cc (serialirr_onwrite_dispatch): New.
1416 (GTM::dispatch_serialirr_onwrite): New.
1417 * libitm_i.h: Same.
1418
14192011-08-12 Torvald Riegel <triegel@redhat.com>
1420
1421 * beginend.cc (GTM::gtm_transaction::rollback): Roll back tx id as well.
1422 * query.cc (_ITM_getTransactionId): There is no active transaction if
1423 the current nesting level is zero.
1424
14252011-07-28 Torvald Riegel <triegel@redhat.com>
1426
1427 * beginend.cc (GTM::gtm_transaction::rollback): Fix nesting level
1428 rollback.
1429
14302011-07-28 Torvald Riegel <triegel@redhat.com>
1431
1432 * retry.cc (GTM::gtm_transaction::decide_begin_dispatch): Get
1433 transaction properties from the caller instead of from the
1434 transaction object.
1435 * libitm_i.h: Same.
1436 * beginend.cc (GTM::gtm_transaction::begin_transaction): Same.
1437
14382011-07-28 Torvald Riegel <triegel@redhat.com>
1439
1440 * local.cc (gtm_transaction::rollback_local): Support closed nesting.
1441 * eh_cpp.cc (GTM::gtm_transaction::revert_cpp_exceptions): Same.
1442 * dispatch.h: Same.
1443 * method-serial.cc: Same.
1444 * beginend.cc (GTM::gtm_transaction::begin_transaction): Change to
1445 flat nesting as default, and closed nesting on demand.
1446 (GTM::gtm_transaction::rollback): Same.
1447 (_ITM_abortTransaction): Same.
1448 (GTM::gtm_transaction::restart): Same.
1449 (GTM::gtm_transaction::trycommit): Same.
1450 (GTM::gtm_transaction::trycommit_and_finalize): Removed.
1451 (choose_code_path): New.
1452 (GTM::gtm_transaction_cp::save): New.
1453 (GTM::gtm_transaction_cp::commit): New.
1454 * query.cc (_ITM_inTransaction): Support flat nesting.
1455 * libitm_i.h (GTM::gtm_transaction_cp): New helper struct for nesting.
1456 (GTM::gtm_transaction): Support flat and closed nesting.
1457 * alloc.cc (commit_allocations_2): New.
1458 (commit_cb_data): New helper struct.
1459 (GTM::gtm_transaction::commit_allocations): Handle nested
1460 commits/rollbacks.
1461 * libitm.texi: Update user action section, add description of nesting.
1462
14632011-07-28 Torvald Riegel <triegel@redhat.com>
1464
1465 * libitm_i.h: Add closed nesting as restart reason.
1466 * retry.cc (GTM::gtm_transaction::decide_retry_strategy): Same.
1467
14682011-07-28 Torvald Riegel <triegel@redhat.com>
1469
1470 * useraction.cc: Use vector instead of list to store actions.
1471 Also support partial rollbacks for closed nesting.
1472 * libitm_i.h (GTM::gtm_transaction::user_action): Same.
1473 * beginend.cc: Same.
1474
14752011-07-28 Torvald Riegel <triegel@redhat.com>
1476
1477 * dispatch.h (GTM::abi_dispatch): Add can_run_uninstrumented_code and
1478 closed_nesting flags, as well as a closed nesting alternative.
1479 * method-serial.cc: Same.
1480 (serial_dispatch): Renamed to serialirr_dispatch.
1481 (GTM::dispatch_serialirr): Same.
1482 (serial_dispatch_ul): Renamed to serial_dispatch.
1483 (GTM::dispatch_serial): Same.
1484
14852011-07-28 Torvald Riegel <triegel@redhat.com>
1486
1487 * libitm.h (_ITM_codeProperties): Change pr_hasElse to the ABI's value.
1488
14892011-07-28 Torvald Riegel <triegel@redhat.com>
1490
1491 * aatree.h (aa_tree::remove): New.
1492 (aa_tree::operator new): Add placement new.
1493
14942011-07-02 Torvald Riegel <triegel@redhat.com>
1495
1496 * containers.h: New file.
1497 * util.cc (xmalloc, xrealloc): Accept cacheline-alloc flag.
1498 * libitm_i.h (xmalloc, xrealloc): Moved declarations from here ...
1499 * common.h: ... to here.
1500 (local_undo): Use GTM::vector for gtm_transaction::local_undo.
1501 * local.cc: Same.
1502
15032011-06-30 Torvald Riegel <triegel@redhat.com>
1504
1505 * libitm_i.h (STATE_ABORTING): Remove.
1506 * beginend.cc (_ITM_abortTransaction): Same.
1507 (GTM::gtm_transaction::trycommit_and_finalize): Same.
1508 * libitm.h (_ITM_registerThrownObject, _ITM_tryCommitTransaction): Remove.
1509 (_ITM_rollbackTransaction): Remove.
1510 * beginend.cc: Same.
1511 * libitm.map: Same.
1512 * libitm.texi: Document these ABI changes.
1513
15142011-06-30 Torvald Riegel <triegel@redhat.com>
1515
1516 * libitm.texi: New file.
1517 * Makefile.am: Add libitm.texi.
1518 * Makefile.in: Rebuild.
1519
15202011-06-30 Torvald Riegel <triegel@redhat.com>
1521
1522 * libitm_i.h: Move parts to common.h and dispatch.h.
1523 * common.h: New file.
1524 * dispatch.h: New file, new dispatch class.
1525 Rename GTM::abi_dispatch::lock_type to ls_modifier.
1526 RenameGTM::abi_dispatch::NOLOCK to NONTXNAL.
1527 * beginend.cc (GTM::gtm_transaction::begin_transaction): Delegate mode
1528 decision to retry.cc.
1529 * retry.cc (GTM::gtm_transaction::decide_retry_strategy): Use serial mode
1530 only.
1531 (GTM::gtm_transaction::decide_begin_dispatch): Same.
1532 * method-serial.cc: Adapt to new dispatch. Add serial mode with undo
1533 logging.
1534 * barrier.cc: Use new barriers definitions.
1535 (abi_dispatch::memmove_overlap_check): New.
1536 * config/x86/x86_sse.cc: Same.
1537 * config/x86/x86_avx.cc: Same.
1538 * Makefile.am: Don't build readonly and wbetl methods, memset.cc and
1539 memcpy.cc.
1540 * Makefile.in: Rebuild.
1541 * method-readonly.cc: Remove.
1542 * method-wbetl.cc: Rename GTM::abi_dispatch::lock_type to ls_modifier.
1543 Rename GTM::abi_dispatch::NOLOCK to NONTXNAL.
1544
15452011-06-30 Torvald Riegel <triegel@redhat.com>
1546
1547 * alloc_c.cc (_ITM_dropReferences): Don't support it anymore.
1548 * testsuite/libitm.c++/dropref.C: _ITM_dropReferences is expected to fail.
1549 * testsuite/libitm.c/dropref-2.c: Same.
1550 * testsuite/libitm.c/dropref.c: Same.
1551
15522011-06-30 Torvald Riegel <triegel@redhat.com>
1553
1554 * config/generic/tls.h (gtm_disp): Rename to abi_disp.
1555 * config/generic/tls.h (set_gtm_disp): Rename to set_abi_disp.
1556 * libitm_i.h: Rename gtm_dispatch to abi_dispatch.
1557 * alloc_c.cc: Same.
1558 * barrier.tpl: Same.
1559 * beginend.c: Same.
1560 * config/generic/tls.h: Same.
1561 * config/x86/tls.h: Same.
1562 * libitm_i.h: Same.
1563 * memcpy.cc: Same.
1564 * memset.cc: Same.
1565 * method-readonly.cc: Same.
1566 * method-serial.cc: Same.
1567 * method-wbetl.cc: Same.
1568 * retry.cc: Same.
1569
15702011-03-03 Richard Henderson <rth@redhat.com>
1571
1572 * config/posix/rwlock.cc (write_upgrade): Add missing case.
1573 From Patrik Marlier <patrick.marlier@unine.ch>.
1574
15752011-02-03 Richard Henderson <rth@redhat.com>
1576
1577 * acinclude.m4 (LIBITM_CHECK_SIZE_T_MANGLING): New.
1578 * configure.ac: Use it.
1579 * configure, config.h.in: Rebuild.
1580 * alloc_cpp.cc (_ZnwX): Use MANGLE_SIZE_T in constructing the name.
1581 (_ZnaX, _ZnwXRKSt9nothrow_t, _ZnaXRKSt9nothrow_t, _ZGTtnwX,
1582 _ZGTtnaX, _ZGTtnwXRKSt9nothrow_t, _ZGTtnaXRKSt9nothrow_t): Likewise.
1583 * libitm.map: Use wildcards to match size_t mangling.
1584
15852010-12-14 Richard Henderson <rth@redhat.com>
1586
1587 * beginend.cc (GTM::gtm_transaction::begin_transaction): Allocate
1588 blocks of TIDs per thread.
1589 * config/generic/tls.h (struct gtm_thread): Add local_tid member.
1590 (setup_gtm_thr): Return the thread structure.
1591 * config/x86/tls.h (setup_gtm_thr): Likewise.
1592
15932010-12-14 Richard Henderson <rth@redhat.com>
1594
1595 * clone.cc (table_lock): Remove.
1596 (find_clone): Don't take it.
1597 (ExcludeTransaction): New helper class.
1598 (_ITM_registerTMCloneTable): Use it.
1599 (_ITM_deregisterTMCloneTable): Likewise.
1600
16012010-12-14 Richard Henderson <rth@redhat.com>
1602
1603 * config/x86/tls.h: New file.
1604
16052010-07-15 Richard Henderson <rth@redhat.com>
1606
1607 * Makefile.am (AM_CXXFLAGS): Add -funwind-tables.
1608 * Makefile.in: Rebuild.
1609
16102010-07-13 Aldy Hernandez <aldyh@redhat.com>
1611
1612 * method-wbetl.cc (trydropreference): Fix source line.
1613
16142010-07-13 Aldy Hernandez <aldyh@redhat.com>
1615
1616 * libitm.h: Add comment.
1617 * libitm_i.h (begin_transaction): Add ITM_REGPARM.
1618
16192010-07-07 Aldy Hernandez <aldyh@redhat.com>
1620
1621 * configure.ac: Call LIBITM_CHECK_64BIT_SYNC_BUILTINS.
1622 * beginend.cc (begin_transaction): If 64-bit sync builtins are not
1623 available, use pthread mutexes.
1624 * acinclude.m4 (LIBITM_CHECK_64BIT_SYNC_BUILTINS): New.
1625 * config.h.in: Regenerate.
1626 * configure: Regenerate.
1627
16282010-07-06 Aldy Hernandez <aldyh@redhat.com>
1629
1630 * libitm.h (ITM_PURE): Define.
1631 Declare _ITM_malloc, _ITM_calloc, and _ITM_free.
1632
16332010-06-28 Aldy Hernandez <aldyh@redhat.com>
1634
1635 * method-wbetl.cc (class wbetl_dispatch): Add trydropreference.
1636 (validate): Add comment.
1637 (trydropreference): New.
1638 * method-readonly.cc (class readonly_dispatch): Add
1639 trydropreference.
1640 * alloc_c.cc (_ITM_dropReferences): Remove const attribute.
1641 Call trydropreference().
1642 * libitm.h (_ITM_dropReferences): Remove const attribute.
1643 * method-serial.cc (class serial_dispatch): Add trydropreference.
1644 * libitm_i.h (struct gtm_dispatch): Add trydropreference.
1645
16462010-06-28 Aldy Hernandez <aldyh@redhat.com>
1647
1648 * memcpy.cc (do_memcpy): Comment.
1649
16502010-06-25 Aldy Hernandez <aldyh@redhat.com>
1651
1652 * barrier.tpl: Add comments throughout.
1653
16542010-06-24 Aldy Hernandez <aldyh@redhat.com>
1655
1656 * method-wbetl.cc (struct w_entry): Add comments.
1657 (trycommit): Same.
1658 (rollback): Same.
1659
16602010-06-24 Aldy Hernandez <aldyh@redhat.com>
1661
1662 * alloc_c.cc (_ITM_dropReferences): New.
1663 * libitm.map (_ITM_dropReferences): Add.
1664 * libitm.h (_ITM_dropReferences): Add transaction_pure attribute.
1665 * libitm_i.h (struct gtm_transaction): Declare
1666 drop_references_allocations and drop_references_local.
1667 * local.cc (rollback_local): Ignore memory when applicable.
1668 (drop_references_local): New.
1669
16702010-06-23 Richard Henderson <rth@redhat.com>
1671
1672 * barrier.tpl, beginend.cc, clone.cc, tls.h, memcpy.cc,
1673 memset.cc, method-serial.cc: Revert the 2010-06-16 change.
1674 * config/x86/target.h (struct gtm_jmpbuf): Change CFA type to void*.
1675 * config/alpha/target.h: Likewise.
1676 * config/generic/tls.cc (gtm_mask_stack): Use it.
1677
16782010-06-23 Richard Henderson <rth@redhat.com>
1679
1680 * config/posix/cachepage.cc (gtm_cacheline_page::operator new): Use
1681 a mutex instead of trying a lock-free compare-and-swap on the list.
1682 (gtm_cacheline_page::operator delete): Likewise.
1683
16842010-06-16 Richard Henderson <rth@redhat.com>
1685
1686 * method-wbetl.cc (wbetl_dispatch::trycommit): Discard changes
1687 that overlap the libitm stack.
1688 * barrier.tpl: Mark incoming stack.
1689 * beginend.cc (_ITM_rollbackTransaction, _ITM_abortTransaction,
1690 _ITM_commitTransaction, _ITM_commitTransactionEH): Likewise.
1691 * clone.cc (_ITM_getTMCloneOrIrrevocable): Likewise.
1692 * memcpy.cc, memset.cc: Likewise.
1693 * method-serial.cc (_ITM_changeTransactionMode): Likewise.
1694 * config/generic/tls.h (gtm_thread): Add stack_top member.
1695 (gtm_stack_top, set_gtm_stack_top, struct gtm_stack_marker): New.
1696 * libitm_i.h (gtm_mask_stack): Declare.
1697 * config/generic/tls.cc: New file.
1698 * Makefile.am (libitm_la_SOURCES): Add it.
1699 (AM_CXXFLAGS): Turn off exceptions.
1700 * Makefile.in: Rebuild.
1701
17022010-06-16 Richard Henderson <rth@redhat.com>
1703
1704 * alloc.cc (struct gtm_alloc_action): Move definition ...
1705 * libitm_i.h: ... here.
1706 (class gtm_transaction): Declare new and delete.
1707 * beginend.cc (alloc_tx): Reformulate as operator new.
1708 (free_tx): Reformulate as operator delete.
1709 * config/generic/tls.h (gtm_thread): Change free_tx member to void *.
1710
17112010-06-11 Richard Henderson <rth@redhat.com>
1712
1713 * clone.cc (clone_entry_compare): Fix typo.
1714 From Patrik Marlier <patrick.marlier@unine.ch>.
1715
17162010-05-13 Richard Henderson <rth@redhat.com>
1717
1718 * alloc_c.cc (_ITM_malloc, _ITM_calloc, _ITM_free): Wrap functions
1719 in extern "C".
1720
17212010-05-07 Aldy Hernandez <aldyh@redhat.com>
1722
1723 * libitm_i.h (struct gtm_transaction): Remove
1724 get_allocation_size.
1725 (record_allocation): Remove size parameter.
1726 * libitm.map (_ITM_realloc): Remove.
1727 * alloc_c.cc (_ITM_realloc): Remove.
1728 (_ITM_malloc): Remove size argument to record_allocation.
1729 (_ITM_calloc): Same.
1730 * alloc_cpp.cc (_ZGTtnwm): Same.
1731 (_ZGTtnwmRKSt9nothrow_t): Same.
1732 (_ZGTtnam): Same.
1733 (_ZGTtnamRKSt9nothrow_t): Same.
1734 * alloc.cc (struct gtm_alloc_action): Remove size.
1735 (get_allocation_size): Remove.
1736 (commit_allocations): Add comment.
1737 (record_allocation): Remove size parameter.
1738 (forget_allocation): Remove set of size.
1739
17402010-04-19 Aldy Hernandez <aldyh@redhat.com>
1741
1742 * Makefile.am (abi_version): New.
1743 (AM_CXXFLAGS): Pass abi_version.
1744 * Makefile.in: Regenerate.
1745 * config/x86/unaligned.h: Remove always_inline kludge for vectors.
1746
17472010-04-06 Aldy Hernandez <aldyh@redhat.com>
1748
1749 * clone.cc (_ITM_getTMCloneOrIrrevocable): Rename from
1750 _ITM_getTMCloneOrIrrevokable.
1751 * libitm.h (_ITM_getTMCloneOrIrrevocable): Same.
1752 * libitm.map (_ITM_getTMCloneOrIrrevocable): Same.
1753
17542010-03-26 Aldy Hernandez <aldyh@redhat.com>
1755
1756 * configure.ac: Remove Linux futex support.
1757 * configure.tgt (config_path): Same.
1758 * Makefile.am: Same.
1759 * config/linux: Remove entire directory.
1760 * configure: Rebuild.
1761 * Makefile.in: Rebuild.
1762 * testsuite/Makefile.in: Rebuild.
1763
17642010-03-09 Aldy Hernandez <aldyh@redhat.com>
1765
1766 * retry.cc (decide_retry_strategy): Set state to STATE_SERIAL when
1767 switching to serial mode.
1768 * beginend.cc (trycommit_and_finalize): Unlock serial_lock.
1769
17702010-03-03 Aldy Hernandez <aldyh@redhat.com>
1771
1772 * configure.tgt: Add emacs -*- tags.
1773 * barrier.tpl: Same.
1774
17752010-02-23 Aldy Hernandez <aldyh@redhat.com>
1776
1777 * Makefile.am: Rename serial.cc to method-serial.cc.
1778 * Makefile.in: Regenerate with automake 1.11.1.
1779 * testsuite/Makefile.in: Same.
1780 * aclocal.m4: Regenerate with aclocal 1.11.1.
1781 * method-serial.cc: Rename from serial.cc.
1782 * libitm_i.h (struct gtm_transaction): Update comment on
1783 serialirr_mode.
1784
17852010-02-22 Aldy Hernandez <aldyh@redhat.com>
1786
1787 * libitm_i.h (GTM_longjmp): Add ITM_REGPARM.
1788 * config/linux/rwlock.h (class gtm_rwlock): Add comments.
1789
17902010-02-11 Aldy Hernandez <aldyh@redhat.com>
1791
1792 * configure: Rebuild.
1793
17942009-11-12 Richard Henderson <rth@redhat.com>
1795
1796 * Rewrite everything in C++.
1797
17982009-11-03 Richard Henderson <rth@redhat.com>
1799
1800 * config/x86/x86_sse.c, config/x86/x86_avx.c: New files.
1801 * Makefile.am (libitm_la_SOURCES): Add them.
1802 * configure.ac (ARCH_X86): New conditional.
1803 * Makefile.in, configure: Rebuild.
1804 * configure.tgt: Set up ARCH; do cflags setup at the same time.
1805 Move futex setup into "other system configury" case.
1806 * local.c (rollback_local): Merge into ...
1807 (GTM_rollback_local): ... here.
1808 (GTM_LB): Rename from GTM_alloc_local; do the memcpy here.
1809 (_ITM_LB): Define as an alias to GTM_LB.
1810
18112009-11-03 Richard Henderson <rth@redhat.com>
1812
1813 * method-readonly.c: New file.
1814 * Makefile.am (libitm_la_SOURCES): Add it.
1815 * Makefile.in: Rebuild.
1816 * beginend.c (gtm_stmlock_array, gtm_clock): New.
1817 (GTM_begin_transaction): Use dispatch_readonly for read-only txn.
1818 * libitm_i.h (gtm_stmlock, gtm_version): Move from method-wbetl.c.
1819 (GTM_VERSION_MAX, GTM_VERSION_INVALID, gtm_stmlock_owned_p,
1820 gtm_stmlock_set_owned, gtm_stmlock_get_addr,
1821 gtm_stmlock_get_version, gtm_stmlock_set_version, LOCK_ARRAY_SIZE,
1822 gtm_stmlock_array, gtm_get_stmlock, gtm_clock, RESTART_NOT_READONLY,
1823 gtm_get_clock, gtm_inc_clock): New.
1824 * method-wbetl.c (gtm_version, gtm_stmlock, OWNED_MASK, VERSION_MAX,
1825 LOCK_GET_OWNED, LOCK_SET_ADDR, LOCK_GET_ADDR, LOCK_GET_TIMESTAMP,
1826 LOCK_SET_TIMESTAMP, LOCK_ARRAY_SIZE, LOCK_MASK, LOCK_IDX, GET_LOCK,
1827 locks, gclock, CLOCK, GET_CLOCK, FETCH_AND_INC_CLOCK): Remove and
1828 replace uses with new libitm_i.h symbols.
1829 (dispatch_wbetl): Rename from wbetl_dispatch.
1830 * retry.c (GTM_decide_retry_strategy): If RESTART_NOT_READONLY, move
1831 away from dispatch_readonly; abort if the beginTransaction call
1832 asserted that the transaction was readonly.
1833
18342009-11-03 Richard Henderson <rth@redhat.com>
1835
1836 * memset.c: New file.
1837 * Makefile.am (libitm_la_SOURCES): Add it.
1838 * Makefile.in: Rebuild.
1839 * testsuite/libitm.c/memset-1.c: New.
1840
18412009-11-03 Richard Henderson <rth@redhat.com>
1842
1843 * dispatch.c: Remove file.
1844 * useraction.c (struct gtm_user_action): Move from libitm.h.
1845 * serial.c (GTM_null_read_lock, GTM_null_write_lock): New.
1846 (serial_memset, serial_memmove, serial_memcpy): Remove.
1847 (serial_W*, serial_R*): Remove.
1848 (serial_dispatch): Update to match.
1849 * configure.ac: Move Werror down below configure checks. Don't
1850 check for sys/loadavg.h, do check for malloc.h. Don't check for
1851 getloadavg and clock_gettime; do check for memalign, posix_memalign.
1852 Use GCC_AC_FUNC_MMAP_BLACKLIST
1853 * libitm.h: Split out all internal items to...
1854 * libitm_i.h: ... here. New file.
1855 * copymask.c: New file.
1856 * local.c (struct gtm_local_undo): Move from libitm.h.
1857 (GTM_alloc_local): Rename from alloc_local; export.
1858 * memcpy.c: New file.
1859 * alloc_c.c (_ITM_realloc): Use _ITM_memcpyRnWt directly.
1860 * config/posix/page.c: New file.
1861 * config/posix/target_tls.h: Remove file.
1862 * barrier.c: New file.
1863 * Makefile.am (libitm_la_SOURCES): Add barrier.c, memcpy.c,
1864 copymask.c, page.c.
1865 * alloc.c (struct gtm_alloc_action): Move from libitm.h.
1866 * method-wbetl.c: Rewrite for new cacheline methods.
1867 * Makefile.in, configure, testsuite/Makefile.in, config.h.in: Rebuild.
1868
1869 * config/alpha/sjlj.S: Fix typo.
1870 * config/alpha/target_i.h: Copy functions from alpha/target.h.
1871 * config/alpha/copymask.c: New file.
1872 * config/alpha/target.h (CACHELINE_SIZE): New.
1873 (STRICT_ALIGNMENT, PAGE_SIZE, FIXED_PAGE_SIZE): New.
1874
1875 * config/x86/target_i.h: Copy functions from x86/target.h.
1876 * config/x86/copymask.c: New file.
1877 * config/x86/target.h (_ITM_ALL_TARGET_TYPES): Remove.
1878 (CACHELINE_SIZE, STRICT_ALIGNMENT): New.
1879 (PAGE_SIZE, FIXED_PAGE_SIZE): New.
1880 * config/x86/target_tls.h: Move contents to target_i.h.
1881
1882 * testsuite/libitm.c/clone-1.c: Include libitm.h.
1883 * testsuite/libitm.c/memcpy-1.c: New.
1884
18852009-10-22 Richard Henderson <rth@redhat.com>
1886
1887 * Makefile.am (CCAS, CCASFLAGS, LTCCASCOMPILE): Remove.
1888 (AM_CCASFLAGS): New.
1889 * configure.ac: Add AM_PROG_AS. Use m4_rename_force for
1890 saving/restoring _AC_ARG_VAR_PRECIOUS.
1891 * Makefile.in, aclocal.m4, config.h.in, configure,
1892 testsuite/Makefile.in: Rebuild with automake 1.11; autoconf 2.64.
1893
18942009-10-22 Richard Henderson <rth@redhat.com>
1895
1896 * testsuite/*: Update for new compiler syntax.
1897
18982009-10-21 Richard Henderson <rth@redhat.com>
1899
1900 * libitm.h (_ITM_abortReason): Add outerAbort.
1901
19022009-08-03 Richard Henderson <rth@redhat.com>
1903
1904 * libitm.map (_ITM_commitTransactionEH, _ITM_cxa_allocate_exception,
1905 _ITM_cxa_begin_catch, _ITM_cxa_end_catch, _ITM_cxa_throw): Export.
1906 * method-wbetl.c (struct w_entry): Remove mask.
1907 (wbetl_write, wbetl_load): Return pointer to word containing the data;
1908 adjust all callers.
1909
19102009-07-22 Richard Henderson <rth@redhat.com>
1911
1912 * eh_cpp.c: New file.
1913 * Makefile.am (libitm_la_SOURCES): Add it.
1914 * Makefile.in: Rebuild.
1915 * beginend.c (GTM_rollback_transaction): Undo exception state.
1916 (GTM_trycommit_transaction): Mark inline.
1917 (GTM_trycommit_and_finalize_transaction): Split out from ...
1918 (_ITM_commitTransaction): ... here.
1919 (_ITM_commitTransactionEH): New function.
1920 * libitm.h (struct gtm_transaction): Add cxa_catch_count,
1921 cxa_unthrown, eh_in_flight; reorder.
1922
1923 * testsuite/libitm.c++/c++.exp: New.
1924 * testsuite/libitm.c++/eh-1.C: New.
1925
1926 * aatree.c (aa_free): Remove REGPARM.
1927 * aatree.h: Remove all REGPARM.
1928
19292009-07-18 Richard Henderson <rth@redhat.com>
1930
1931 * aatree.c, aatree.h, alloc.c, alloc_c.c, alloc_cpp.c: New files.
1932 * Makefile.am (libitm_la_SOURCES): Add them.
1933 * Makefile.in: Rebuild.
1934 * beginend.c (GTM_rollback_transaction): Use GTM_commit_allocations.
1935 (GTM_trycommit_transaction): Likewise.
1936 * libitm.h: Include aatree.h
1937 (struct gtm_alloc_action): New.
1938 (struct gtm_transaction): Add alloc_actions.
1939 (GTM_record_allocation, GTM_forget_allocation): Declare.
1940 (GTM_get_allocation_size, GTM_commit_allocations): Declare.
1941 * libitm.map (_ITM_malloc, _ITM_calloc, _ITM_realloc, _ITM_free,
1942 _ZGTtnwm, _ZGTtnam, _ZGTtdlPv, _ZGTtdaPv, _ZGTtnwmRKSt9nothrow_t,
1943 _ZGTtnamRKSt9nothrow_t, _ZGTtdlPvRKSt9nothrow_t,
1944 _ZGTtdaPvRKSt9nothrow_t): Export.
1945
19462009-07-18 Richard Henderson <rth@redhat.com>
1947
1948 * target_tls.h: Move ...
1949 * config/posix/target_tls.h: ... here.
1950
19512009-07-07 Richard Henderson <rth@redhat.com>
1952
1953 * config/x86/target.h (atomic_write_barrier): Use sfence if available.
1954
19552009-07-07 Richard Henderson <rth@redhat.com>
1956
1957 * Update to GPL3.
1958
19592009-07-07 Richard Henderson <rth@redhat.com>
1960
1961 * libitm.h (struct gtm_transaction): Widen id to _ITM_transactionId_t.
1962 * beginend.c (global_tid): Widen to _ITM_transactionId_t.
1963
1964 * configure.tgt: Don't use -ftls-model for x86 linux.
1965 * libitm.h: Include target.h after standard includes.
1966 (_gtm_thr): Rename from gtm_thr.
1967 (setup_gtm_thr, gtm_thr, gtm_tx, set_gtm_tx): New.
1968 (gtm_disp, set_gtm_disp): New.
1969 * beginend.c, dispatch.c, local.c, method-wbetl.c, query.c,
1970 retry.c, serial.c, useraction.c: Use accessor functions throughout.
1971 * config/alpha/target_tls.h, config/x86/target_tls.h: New files.
1972
19732009-07-07 Richard Henderson <rth@redhat.com>
1974
1975 * config/linux/rwlock.c (EZ): New define. Use it throughout.
1976
19772009-07-06 Richard Henderson <rth@redhat.com>
1978
1979 * libitm.h (_ITM_SRCLOCATION_DECL_1, _ITM_SRCLOCATION_DECL_2): Remove.
1980 (_ITM_SRCLOCATION_DEFN_1, _ITM_SRCLOCATION_DEFN_2): Remove.
1981 (_ITM_beginTransaction): Take variadic arguments.
1982 (_ITM_registerThrownObject): Declare.
1983 * beginend.c, serial.c: Update.
1984 * libitm.map: Add _ITM_registerThrownObject.
1985
19862009-01-28 Richard Henderson <rth@redhat.com>
1987
1988 * Makefile.am (libitm_la_SOURCES): Add clone.c.
1989 * Makefile.in: Rebuild.
1990 * beginend.c (_ITM_abortTransaction): Abort if irrevokable.
1991 (GTM_restart_transaction): Fix uninstrumented code check.
1992 * retry.c (GTM_decide_retry_strategy): Add serial check.
1993 * serial.c (GTM_serialmode): Add irrevokable variable. Don't
1994 automatically go irrevokable when in serial mode.
1995 * clone.c: New file.
1996 * libitm.h, libitm.map: Update.
1997
19982009-01-27 Richard Henderson <rth@redhat.com>
1999
2000 * Makefile.am (LTCCASCOMPILE): Define.
2001 (libitm_la_SOURCES): Add methid-wbetl.c.
2002 * testsuite/Makefile.am: New
2003 * configure.ac: Add testsuite/Makefile.
2004 * Makefile.in, testsuite/Makefile.in, configure: Regenerate.
2005 * beginend.c (GTM_begin_transaction): Install wbetl_dispatch.
2006 (_ITM_abortTransaction): Finalize implementation method; pass
2007 transaction properties to longjmp.
2008 (GTM_restart_transaction): Split out from ...
2009 (_ITM_commitTransaction): ... here.
2010 * config/linux/x86/futex_bits.h (cpu_relax, atomic_write_barrier):
2011 Move to config/x86/target.h.
2012 * config/linux/alpha/futex_bits.h: New.
2013 * config/x86/sjlj.S (GTM_longjmp): Fix 64-bit input register.
2014 * config/x86/target.h: Disable target types for 32-bit.
2015 * config/alpha/sjlj.S, config/alpha/target.h: New.
2016 * libitm.h (struct gtm_dispatch): Add init, fini.
2017 (enum restart_reason): New.
2018 (struct gtm_transaction): Add method and restarts.
2019 * retry.c (GTM_decide_retry_strategy): Implement.
2020 * serial.c (serial_init, serial_fini): New.
2021 (GTM_serialmode): Finialize outgoing method.
2022 * method-wbetl.c: New.
2023
20242008-12-09 Richard Henderson <rth@redhat.com>
2025
2026 * config/x86/target.h (_ITM_ALL_TARGET_TYPES, _ITM_TYPE_ATTR): New.
2027 * configure.tgt (i386-*, x86_64-*): Don't force SSE.
2028 * dispatch.c (_ITM_##R##T, _ITM_##W##T): Use _ITM_TYPE_ATTR.
2029 * libitm.h (_ITM_ALL_TARGET_TYPES, _ITM_TYPE_ATTR): Provide default.
2030 (_ITM_TYPE_M64, _ITM_TYPE_M128, _ITM_TYPE_M256): Move to x86 header.
2031 (_ITM_ALL_TYPES): Use _ITM_ALL_TARGET_TYPES.
2032 * local.c (_ITM_L##T): Use _ITM_TYPE_ATTR.
2033 * serial.c (serial_R##T, serial_W##T): Likewise.
2034
20352008-11-21 Richard Henderson <rth@redhat.com>
2036
2037 * Initial commit.
21fa2a29 2038\f
c1a9c369 2039Copyright (C) 2008-2017 Free Software Foundation, Inc.
21fa2a29
JJ
2040
2041Copying and distribution of this file, with or without modification,
2042are permitted in any medium without royalty provided the copyright
2043notice and this notice are preserved.
This page took 0.631967 seconds and 5 git commands to generate.