]> git.ipfire.org Git - thirdparty/gcc.git/blame - libitm/ChangeLog
Daily bump.
[thirdparty/gcc.git] / libitm / ChangeLog
CommitLineData
542c60c4
GA
12022-08-31 Martin Liska <mliska@suse.cz>
2
3 * configure: Regenerate.
4
52022-08-31 Martin Liska <mliska@suse.cz>
6
7 * configure: Regenerate.
8
b168441c
GA
92022-06-02 David Malcolm <dmalcolm@redhat.com>
10
11 * testsuite/lib/libitm.exp: Add load_gcc_lib of scansarif.exp.
12
682ede39
GA
132022-02-03 David Seifert <soap@gentoo.org>
14 Jakub Jelinek <jakub@redhat.com>
15
16 * configure.ac: Support --disable-werror.
17 * configure: Regenerate.
18
1bb52662
GA
192022-01-31 Martin Liska <mliska@suse.cz>
20
21 * acinclude.m4: Detect *_ld_is_mold and use it.
22 * configure: Regenerate.
23
a4ae8c37
GA
242022-01-03 Jakub Jelinek <jakub@redhat.com>
25
26 * libitm.texi: Bump @copying's copyright year.
27
f4ed2e3a
GA
282021-11-26 Iain Sandoe <iain@sandoe.co.uk>
29
30 * eh_cpp.cc (GTM::gtm_thread::init_cpp_exceptions): If the
31 target does not support HAVE_ELF_STYLE_WEAKREF then do not
32 try to test the __cxa_get_globals against NULL.
33
688359a2
GA
342021-06-17 Jonathan Wakely <jwakely@redhat.com>
35
36 PR libstdc++/91488
37 * testsuite/libitm.c++/libstdc++-pr91488.C: New test.
38
2f7f0d32
GA
392021-01-15 Jakub Jelinek <jakub@redhat.com>
40
41 PR target/70454
42 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
43 be added through preprocessor check on
44 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
45
651b8a50
GA
462021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
47
48 * configure: Re-generate.
49
b6dd195a
GA
502021-01-01 Jakub Jelinek <jakub@redhat.com>
51
52 * libitm.texi: Bump @copying's copyright year.
53
6e1edf48
GA
542020-12-05 Iain Sandoe <iain@sandoe.co.uk>
55
56 PR target/97865
57 * configure.tgt: Add dynamic_lookup to XLDFLAGS for Darwin.
58 * configure: Regenerate.
59
a9625c50
GA
602020-11-29 John David Anglin <danglin@gcc.gnu.org>
61
62 * configure: Regenerate.
63
6c2675fa
GA
642020-10-01 Alan Modra <amodra@gmail.com>
65
66 * config/powerpc/sjlj.S: Support __PCREL__ code.
67
53256ee3
GA
682020-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
69
70 * config/aarch64/sjlj.S: Add conditional pac-ret protection.
71
3f8ca9cb
GA
722020-07-09 Szabolcs Nagy <szabolcs.nagy@arm.com>
73
74 * config/aarch64/sjlj.S: Add BTI marking and related definitions,
75 and add BTI c to function entries.
76
772020-07-09 Szabolcs Nagy <szabolcs.nagy@arm.com>
78
79 * config/aarch64/sjlj.S: Add stack note if __FreeBSD__ is defined.
80
885ef72f
GA
812020-05-29 H.J. Lu <hjl.tools@gmail.com>
82
83 PR bootstrap/95413
84 * configure: Regenerated.
85
4c1a5d8b
L
862020-05-15 H.J. Lu <hongjiu.lu@intel.com>
87
88 PR bootstrap/95147
89 * configure: Regenerated.
90
8d286dd1
L
912020-05-14 H.J. Lu <hongjiu.lu@intel.com>
92
93 * configure: Regenerated.
94
f0de5d83
NS
952020-05-12 Nathan Sidwell <nathan@acm.org>
96
97 Fix throw specifiers on interface.
98 * libitm/libitm.h (_ITM_NOTHROW): Define.
99 (_ITM_cxa_allocate_exception, _ITM_cxa_free_exception)
100 (_ITM_cxa_begin_catch): Use it.
101 * eh_cpp.cc: Add throw() to __cxa_allocate_exception,
102 __cxa_free_exception, __cxa_begin_catch, __cxa_tm_cleanup,
103 __cxa_get_globals.
104 (_ITM_cxa_allocate_exception, _ITM_cxa_free_exception)
105 (_ITM_cxa_begin_catch): Likewise.
106
1136ba01
NS
1072020-05-05 Nathan Sidwell <nathan@acm.org>
108
109 * testsuite/lib/libitm.exp (libitm_init): Add
110 -fdiagnostics-color=never to options.
111
02ce382c
SL
1122020-02-12 Sandra Loosemore <sandra@codesourcery.com>
113
114 PR libstdc++/79193
115 PR libstdc++/88999
116
117 * configure: Regenerated.
118
e8e66971
MR
1192020-01-24 Maciej W. Rozycki <macro@wdc.com>
120
121 * configure.ac: Handle `--with-toolexeclibdir='.
122 * Makefile.in: Regenerate.
123 * aclocal.m4: Regenerate.
124 * configure: Regenerate.
125 * testsuite/Makefile.in: Regenerate.
126
7e7065b9
JJ
1272020-01-01 Jakub Jelinek <jakub@redhat.com>
128
8d9254fc
JJ
129 Update copyright years.
130
7e7065b9
JJ
131 * libitm.texi: Bump @copying's copyright year.
132
00484365
SN
1332019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
134
135 PR libgomp/91938
136 * configure.tgt: Avoid IE tls on *-*-musl*.
137
e9085da5
MR
1382019-09-27 Maciej W. Rozycki <macro@wdc.com>
139
140 * configure: Regenerate.
141
b1e21e5a
CL
1422019-09-10 Christophe Lyon <christophe.lyon@st.com>
143
a360a359
CL
144 * config/arm/sjlj.S (ldaddr): Add FDPIC support.
145
1462019-09-10 Christophe Lyon <christophe.lyon@st.com>
147
148 * configure.tgt: Handle *-*-uclinux*.
149 * configure: Regenerate.
b1e21e5a 150
3c086f8d
FW
1512019-09-06 Florian Weimer <fweimer@redhat.com>
152
153 * configure: Regenerate.
154
c6c2d1bc
CLT
1552019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
156
157 PR other/79543
158 * acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Fix GNU ld --version
159 scanning to conform to the GNU Coding Standards.
160 * configure: Regenerate.
161
061a799b
JJ
1622019-05-03 Jakub Jelinek <jakub@redhat.com>
163
164 * Makefile.am (finclude): Remove.
165 * Makefile.in: Regenerated.
166
a5544970
JJ
1672019-01-01 Jakub Jelinek <jakub@redhat.com>
168
169 Update copyright years.
170
3f27508c
JJ
1712019-01-01 Jakub Jelinek <jakub@redhat.com>
172
173 * libitm.texi: Bump @copying's copyright year.
174
784417d1
JJ
1752018-12-16 Jakub Jelinek <jakub@redhat.com>
176
177 PR c++/88482
178 * eh_cpp.cc (__cxa_throw): Change DEST argument type from
179 void * to void (*) (void *).
180 (_ITM_cxa_throw): Likewise.
181 * libitm.h (_ITM_cxa_throw): Likewise.
182 * libitm.texi (_ITM_cxa_throw): Likewise.
183
d1573fe0
PB
1842018-12-13 Peter Bergner <bergner@linux.ibm.com>
185
186 * config/powerpc/target.h (htm_available): Add support for
187 PPC_FEATURE2_HTM_NO_SUSPEND. Use __builtin_cpu_supports if available.
188
22e05272
JM
1892018-10-31 Joseph Myers <joseph@codesourcery.com>
190
191 PR bootstrap/82856
192 * Makefile.am: Include multilib.am.
193 (AUTOMAKE_OPTIONS): Add info-in-builddir.
194 (CLEANFILES): Remove libitm.info.
195 * configure.ac: Remove AC_PREREQ.
196 * testsuite/Makefile.am (RUNTEST): Remove quotes.
197 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
198 Regenerate.
199
1f82422a
NK
2002018-10-30 Nicholas Krause <xerofoify@gmail.com>
201
a2e0398a 202 PR libitm/86293
1f82422a
NK
203 * method-serial.cc: Mark varible as potentially unused
204 to silence warning.
205
f6a9dfd3
ST
2062018-08-03 Sergei Trofimovich <slyfox@gentoo.org>
207
208 * config/sh/sjlj.S: Adjust to use PIC vs normal code to avoid
209 absolute relocation in a shared library.
210
97cad511
L
2112018-06-12 H.J. Lu <hongjiu.lu@intel.com>
212
213 PR libitm/85988
214 * config/linux/x86/tls.h (SEG_READ): Use the offset of
215 __private_tm as base.
216 (SEG_WRITE): Likewise.
217 (SEG_ENCODE_WRITE): Correct the offset of pointer_guard for x32.
218 (gtm_thr): Replace SEG_READ(10) with SEG_READ(0).
219 (set_gtm_thr): Replace SEG_WRITE(10) with SEG_WRITE(0).
220 (abi_disp): Replace SEG_DECODE_READ(11) with SEG_DECODE_READ(1).
221 (set_abi_disp): Replace SEG_ENCODE_WRITE(11) with
222
b46b715d
JM
2232018-05-17 Jason Merrill <jason@redhat.com>
224
225 * beginend.cc (save): Disable -Werror=deprecated-copy.
226
9220b511
TV
2272018-05-02 Tom de Vries <tom@codesourcery.com>
228
229 PR testsuite/85106
230 * testsuite/lib/libitm.exp: Include scanltranstree.exp.
231
6c3c13c1
TV
2322018-05-02 Tom de Vries <tom@codesourcery.com>
233
234 PR testsuite/85106
235 * testsuite/lib/libitm.exp: Include scanwpaipa.exp.
236
ffc2fc06
L
2372018-04-24 H.J. Lu <hongjiu.lu@intel.com>
238
239 * config/x86/sjlj.S (_ITM_beginTransaction): Add
240 (__CET__ & 2) != 0 check for shadow stack.
241 (GTM_longjmp): Likewise.
242
7b47ecf2
L
2432018-04-24 H.J. Lu <hongjiu.lu@intel.com>
244
245 * configure: Regenerated.
246
0ef9f21d
L
2472018-04-23 H.J. Lu <hongjiu.lu@intel.com>
248
249 PR target/85489
250 * config/x86/sjlj.S (GTM_longjmp): Replace jle/jg with jbe/ja.
251
a0e1df88
JJ
2522018-04-19 Jakub Jelinek <jakub@redhat.com>
253
254 * configure: Regenerated.
255
001ddaa8
DM
2562018-04-18 David Malcolm <dmalcolm@redhat.com>
257
258 PR jit/85384
259 * configure: Regenerate.
260
14e335ed
IT
2612018-02-14 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
262
263 PR target/84148
264 * configure: Regenerate.
265
65e6aea3
JJ
2662018-01-03 Jakub Jelinek <jakub@redhat.com>
267
85ec4feb
JJ
268 Update copyright years.
269
65e6aea3
JJ
270 * libitm.texi: Bump @copying's copyright year.
271
c51081fc
IT
2722017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
273
274 * Makefile.in: Regenerate.
275 * acinclude.m4: Add enable.m4 and cet.m4.
276 * config/x86/sjlj.S: Include cet.h.
277 (_ITM_beginTransaction): Add _CET_ENDBR.
278 Save Shadow Stack pointer.
279 (GTM_longjmp): Add _CET_ENDBR. Restore Shadow Stack pointer.
280 * config/x86/target.h (struct gtm_jmpbuf):
281 Add new field for Shadow Stack pointer.
282 * configure: Regenerate.
283 * configure.ac: Set CET_FLAGS. Update XCFLAGS.
284 * configure.ac: Update libtool_VERSION for x86.
285 * testsuite/Makefile.in: Regenerate.
286
cc03e55b
IT
2872017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
288
289 * libitm/config/x86/target.h: Add new field (ssp).
290 * libitm/config/x86/sjlj.S: Change offsets.
291
62ffe920
RO
2922017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
293
294 * testsuite/lib/libitm.exp: Load scanlang.exp.
295
5764ee3c
JW
2962017-04-03 Jonathan Wakely <jwakely@redhat.com>
297
298 * libitm_i.h (sutrct gtm_thread): Fix typo in comment.
299
73aa401e
JJ
3002017-01-21 Jakub Jelinek <jakub@redhat.com>
301
302 PR other/79046
303 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
304 of cat to get version from BASE-VER file.
305 * testsuite/Makefile.in: Regenerated.
306
16a34ca6
UB
3072017-01-19 Uros Bizjak <ubizjak@gmail.com>
308
309 * config/x86/target.h (htm_available): Determine vendor from
310 __get_cpuid_max return. Use signature_INTEL_ebx. Cleanup.
311
f8a94453
TR
3122017-01-18 Torvald Riegel <triegel@redhat.com>
313
314 * config/x86/target.h (htm_available): Add check for some processors
315 on which TSX is broken.
316
3c36aa6b
JJ
3172017-01-17 Jakub Jelinek <jakub@redhat.com>
318
319 PR other/79046
320 * configure.ac: Add GCC_BASE_VER.
321 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
322 get version from BASE-VER file.
323 * testsuite/Makefile.in: Regenerated.
324 * configure: Regenerated.
325 * Makefile.in: Regenerated.
326
8f56cb51
AM
3272017-01-04 Alan Modra <amodra@gmail.com>
328
329 * Makefile.in: Regenerate.
330 * testsuite/Makefile.in: Regenerate.
331
c1a9c369
JJ
3322017-01-01 Jakub Jelinek <jakub@redhat.com>
333
cbe34bb5
JJ
334 Update copyright years.
335
c1a9c369
JJ
336 * libitm.texi: Bump @copying's copyright year.
337
66dbcf2d
RO
3382016-12-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
339
340 * acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Remove.
341 * aclocal.m4: Regenerate.
342 * configure.ac: Call GCC_CHECK_LINKER_HWCAP instead of
343 LIBITM_CHECK_LINKER_HWCAP.
344
84c1b9d3
MK
3452016-11-15 Matthias Klose <doko@ubuntu.com>
346
347 * configure: Regenerate.
348
831698b8
L
3492016-04-19 H.J. Lu <hongjiu.lu@intel.com>
350
351 PR libitm/70456
352 * util.cc (xmalloc): Use posix_memalign to allocate memory on
353 on cache line if requested.
354
edcbda7e
DV
3552016-03-03 Dominik Vogt <vogt@linux.vnet.ibm.com>
356
357 * config/s390/target.h (TARGET_BEGIN_TRANSACTION_ATTRIBUTE): Define
358 function attribute to disable floating point in begin_transaction() on
359 S/390.
360 * beginend.cc (begin_transaction): Use
361 TARGET_BEGIN_TRANSACTION_ATTRIBUTE.
362
6041f70a
TR
3632016-01-22 Torvald Riegel <triegel@redhat.com>
364
365 * beginend.cc (GTM::gtm_thread::serial_lock): Put on cacheline
366 boundary.
367 (htm_fastpath): Remove.
368 (gtm_thread::begin_transaction): Fix HTM fastpath.
369 (_ITM_commitTransaction): Adapt.
370 (_ITM_commitTransactionEH): Adapt.
371 * libitm/config/linux/rwlock.h (gtm_rwlock): Add htm_fastpath member
372 and accessors.
373 * libitm/config/posix/rwlock.h (gtm_rwlock): Likewise.
374 * libitm/config/posix/rwlock.cc (gtm_rwlock::gtm_rwlock): Adapt.
375 * libitm/config/x86/sjlj.S (_ITM_beginTransaction): Fix HTM fastpath.
376 * libitm/libitm_i.h (htm_fastpath): Remove declaration.
377 * libitm/method-serial.cc (htm_mg): Adapt.
378 (gtm_thread::serialirr_mode): Adapt.
379 * libitm/query.cc (_ITM_inTransaction, _ITM_getTransactionId): Adapt.
380
0b96ffdb
TR
3812016-01-21 Torvald Riegel <triegel@redhat.com>
382
383 * testsuite/libitm.c++/libstdc++-safeexc.C: Not supported on darwin
384 or AIX.
385
b1de98e3
RH
3862016-01-19 Richard Henderson <rth@redhat.com>
387
388 PR bootstrap/69343
389 PR bootstrap/69339
390 Revert:
391 2016-01-13 Richard Henderson <rth@redhat.com>
392
393 * Makefile.am (libitm_la_SOURCES) [ARCH_AARCH64]: Add vect128.cc
394 (libitm_la_SOURCES) [ARCH_ARM]: Add neon.cc
395 (libitm_la_SOURCES) [ARCH_PPC]: Add vect128.cc
396 (libitm_la_SOURCES) [ARCH_S390]: Add vect128.cc
397 * configure.ac (ARCH_AARCH64): New conditional.
398 (ARCH_PPC, ARCH_S390): Likewise.
399 * Makefile.in, configure: Rebuild.
400
401 * libitm.h (_ITM_TYPE_M128): Always define.
402 * vect64.cc: Split ...
403 * vect128.cc: ... out of...
404 * config/x86/x86_sse.cc: ... here.
405 * config/arm/neon.cc: New file.
406
f57fc960
TR
4072016-01-19 Torvald Riegel <triegel@redhat.com>
408
409 * local_type_traits: Remove file.
410 * libitm_i.h: Don't include it anymore.
411 (sized_integral): Remove.
412
d2653984
TR
4132016-01-16 Torvald Riegel <triegel@redhat.com>
414
415 * method-gl.cc (gl_wt_dispatch::trycommit): Ensure proxy privatization
416 safety.
417 * method-ml.cc (ml_wt_dispatch::trycommit): Likewise.
418 * libitm/testsuite/libitm.c/priv-1.c: New.
419
a04d5fc9
TR
4202015-01-15 Torvald Riegel <triegel@redhat.com>
421
422 testsuite/libitm.c++/libstdc++-safeexc.C: New.
423
e89137ce
TR
4242016-01-13 Torvald Riegel <triegel@redhat.com>
425
426 * beginend.cc (gtm_thread::trycommit): Fix seq_cst fences.
427 * config/linux/rwlock.cc (gtm_rwlock::write_lock_generic): Likewise.
428 (gtm_rwlock::write_unlock): Likewise.
429
4c868789
RH
4302016-01-13 Richard Henderson <rth@redhat.com>
431
432 * Makefile.am (libitm_la_SOURCES) [ARCH_AARCH64]: Add vect128.cc
433 (libitm_la_SOURCES) [ARCH_ARM]: Add neon.cc
434 (libitm_la_SOURCES) [ARCH_PPC]: Add vect128.cc
435 (libitm_la_SOURCES) [ARCH_S390]: Add vect128.cc
436 * configure.ac (ARCH_AARCH64): New conditional.
437 (ARCH_PPC, ARCH_S390): Likewise.
438 * Makefile.in, configure: Rebuild.
439
440 * libitm.h (_ITM_TYPE_M128): Always define.
441 * vect64.cc: Split ...
442 * vect128.cc: ... out of...
443 * config/x86/x86_sse.cc: ... here.
444 * config/arm/neon.cc: New file.
445
629e4729
TR
4462016-01-13 Torvald Riegel <triegel@redhat.com>
447
448 * beginend.cc (gtm_thread::trycommit): Fix privatization safety.
449 * config/linux/rwlock.cc (gtm_rwlock::write_lock_generic): Likewise.
450 * config/posix/rwlock.cc (gtm_rwlock::write_lock_generic): Likewise.
451 * dispatch.h (abi_dispatch::snapshot_most_recent): New.
452 * method-gl.cc (gl_wt_dispatch::snapshot_most_recent): New.
453 * method-ml.cc (ml_wt_dispatch::snapshot_most_recent): New.
454 * method-serial.cc (serial_dispatch::snapshot_most_recent): New.
455 (serialirr_dispatch::snapshot_most_recent): New.
456 (serialirr_onwrite_dispatch::snapshot_most_recent): New.
457
0d1ed412
TR
4582016-01-12 Torvald Riegel <triegel@redhat.com>
459
460 * libitm_i.h (gtm_mask_stack): Remove.
461 * beginend.cc (gtm_stmlock_array, gtm_clock): Likewise.
462 * stmlock.h: Remove file.
463 * config/alpha/cacheline.h: Likewise.
464 * config/generic/cacheline.h: Likewise.
465 * config/powerpc/cacheline.h: Likewise.
466 * config/sparc/cacheline.h: Likewise.
467 * config/x86/cacheline.h: Likewise.
468
21fa2a29
JJ
4692016-01-04 Jakub Jelinek <jakub@redhat.com>
470
818ab71a
JJ
471 Update copyright years.
472
21fa2a29
JJ
473 * libitm.texi: Bump @copying's copyright year.
474
e7f7330f
TR
4752015-11-26 Torvald Riegel <triegel@redhat.com>
476
477 * method-ml.cc (ml_mg): Use multiplicative instead of simple hashing.
478 (ml_wt_dispatch::pre_write): Adapt.
479 (ml_wt_dispatch::pre_load): Likewise.
480
4f8a3b87
TR
4812015-11-22 Torvald Riegel <triegel@redhat.com>
482
483 * libitm_i.h (gtm_alloc_action): Remove union.
484 * testsuite/libitm.c/alloc-1.c: New.
485
258c1d07
TR
4862015-11-19 Torvald Riegel <triegel@redhat.com>
487
488 * testsuite/libitm.c++/eh-5.C: New.
489 * libitm.h (_ITM_cxa_free_exception): New.
490 * libitm.map (_ITM_cxa_free_exception): Add it.
491 * libitm.texi: Update ABI docs.
492 * libitm_i.h (gtm_transaction_cp::cxa_unthrown): Remove.
493 (gtm_transaction_cp::cxa_uncaught_count): Add.
494 (gtm_thread::cxa_unthrown): Remove.
495 (gtm_thread::cxa_uncaught_count_ptr): Add.
496 (gtm_thread::cxa_uncaught_count): Add.
497 (gtm_thread::drop_references_allocations): Rename to...
498 (gtm_thread::discard_allocation): ... this and adapt.
499 (gtm_thread::init_cpp_exceptions): New.
500 * beginend.cc (gtm_thread::gtm_thread): Adapt EH handling.
501 (gtm_thread::begin_transaction): Likewise.
502 (gtm_transaction_cp::save): Likewise.
503 (gtm_thread::trycommit): Likewise.
504 * eh_cpp.cc: Add overview comments.
505 (__cxa_eh_globals, __cxa_get_globals, __cxa_free_exception): Declare.
506 (free_any_exception, _ITM_cxa_free_exception): New.
507 (gtm_thread::init_cpp_exceptions): Define.
508 (_ITM_cxa_allocate_exception, _ITM_cxa_throw): Adapt.
509 (_ITM_cxa_begin_catch, _ITM_cxa_end_catch): Likewise.
510 (gtm_thread::revert_cpp_exceptions): Likewise.
511
c518678b
TR
5122015-11-09 Torvald Riegel <triegel@redhat.com>
513
514 * alloc_cpp.cc (_ZdlPvX, _ZdlPvXRKSt9nothrow_t, _ZGTtdlPvX,
515 _ZGTtdlPvXRKSt9nothrow_t, delsz_opnt): New.
516 * libitm.map: Add _ZGTtdlPvX and _ZGTtdlPvXRKSt9nothrow_t.
517 * libitm_i.h (gtm_alloc_action): Add free_fn_sz and sz. Add comments.
518 (gtm_thread::forget_allocations): New overload with size_t argument.
519 * alloc.c (gtm_thread::forget_allocation): Define new overload and
520 adapt existing one.
521 (gtm_thread::record_allocation): Adapt.
522 (gtm_thread::commit_allocations_1): Adapt.
523 (gtm_thread::commit_allocations_2): Adapt.
524 * testsuite/libitm.c++/newdelete.C: New.
525
1e44e857
DJ
5262015-10-27 Daniel Jacobowitz <dan@codesourcery.com>
527 Joseph Myers <joseph@codesourcery.com>
528 Mark Shinwell <shinwell@codesourcery.com>
529 Andrew Stubbs <ams@codesourcery.com>
530 Rich Felker <dalias@libc.org>
531
532 * config/sh/sjlj.S (_ITM_beginTransaction): Bypass PLT calling
533 GTM_begin_transaction for compatibility with FDPIC.
534
9e531d37
DM
5352015-10-09 David Malcolm <dmalcolm@redhat.com>
536
537 * testsuite/lib/libitm.exp: Load multiline.exp before prune.exp,
538 using load_gcc_lib.
539
c629c246
GFM
5402015-08-20 Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org> (tiny change)
541
542 PR libitm/61164
543 * local_atomic (__always_inline): Rename to...
544 (__libitm_always_inline): ... this.
545
cd5a9a74
CSLL
5462015-07-03 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
547
548 PR target/52482
549 * config/powerpc/sjlj.S: Port to Xcode 2.5.
550
ea023bcf
UB
5512015-05-27 Uros Bizjak <ubizjak@gmail.com>
552
d778b5a0
UB
553 * config/linux/x86/futex_bits.h (sys_futex0) [__x86_64__]: Change
554 operands "op" and "val" to int.
555
5562015-05-27 Uros Bizjak <ubizjak@gmail.com>
557
558 * config/linux/sh/futex_bits.h (sys_futex0) Change operands
559 "op" and "val" to int.
560
5612015-05-27 Uros Bizjak <ubizjak@gmail.com>
562
563 * config/linux/alpha/futex_bits.h (sys_futex0) Change operands
564 "op" and "val" to int.
565
5662015-05-27 Uros Bizjak <ubizjak@gmail.com>
567
568 * config/linux/futex.cc (gtm_futex_wait, gtm_futex_wake):
569 Declare as static int.
570 (FUTEX_PRIVATE_FLAG): Remove L suffix.
571 * config/linux/futex_bits.h (sys_futex0) Change operand "op" to int.
572
5732015-05-27 Uros Bizjak <ubizjak@gmail.com>
574
575 * config/linux/x86/futex_bits.h (sys_futex0) [__PIC__]: Remove
576 sys_futex0 function.
ea023bcf 577
503902f9
MH
5782015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
579
580 * Makefile.in: Regenerated with automake-1.11.6.
581 * aclocal.m4: Likewise.
582 * configure: Likewise.
583 * testsuite/Makefile.in: Likewise.
584
96ce40cb
GR
5852015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
586
587 * config/arm/hwcap.cc: Use fcntl.h instead of sys/fcntl.h.
588 * config/linux/x86/tls.h: Only use __GLIBC_PREREQ if defined.
589
3a07b160
L
5902015-01-15 H.J. Lu <hongjiu.lu@intel.com>
591
592 PR libitm/64360
593 * libitm.c/stackundo.c (test2): Make it static.
594 (test1): Likewise.
595
5624e564
JJ
5962015-01-05 Jakub Jelinek <jakub@redhat.com>
597
598 Update copyright years.
599
b67cd4e3
JJ
6002015-01-05 Jakub Jelinek <jakub@redhat.com>
601
602 * libitm.texi: Bump @copying's copyright year.
603
69aef6dc
KT
6042014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
605
606 * testsuite/lib/libitm.exp: Load target-utils.exp.
607 Move load of target-supports.exp earlier.
608
68bc9270
UB
6092014-12-03 Uros Bizjak <ubizjak@gmail.com>
610
611 * configure.tgt (x86_64): Tune -m32 multilib to generic.
612
a699d672
L
6132014-11-21 H.J. Lu <hongjiu.lu@intel.com>
614
615 PR bootstrap/63784
616 * configure: Regenerated.
617
ebf6d33b
FXC
6182014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
619
620 PR target/63610
621 * configure: Regenerate.
622
99183741
MP
6232014-10-06 Marek Polacek <polacek@redhat.com>
624
625 * testsuite/libitm.c/memcpy-1.c: Declare getpagesize.
626 * testsuite/libitm.c/memset-1.c: Likewise.
627
b6334cf4
RH
6282014-07-24 Richard Henderson <rth@redhat.com>
629
630 * config/aarch64/sjlj.S (_ITM_beginTransaction): Use post-inc
631 addressing mode in epilogue.
632
3c698bf0
RO
6332014-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
634
635 * acinclude.m4 (LIBITM_CHECK_LINKER_HWCAP): Check for
636 -mclear-hwcap instead.
637 * configure: Regenerate.
638 * clearcap.map: Remove.
639
dbed5a9b
JM
6402014-05-21 John Marino <gnugcc@marino.st>
641
642 * configure.tgt (*-*-dragonfly*): New target.
643
b17f08dd
RH
6442014-05-19 Richard Henderson <rth@redhat.com>
645
646 * config/aarch64/sjlj.S: New file.
647 * config/aarch64/target.h: New file.
648 * configure.tgt: Enable aarch64.
649
5e1f630a
RO
6502014-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
651
652 * config/generic/asmcfi.h: Also check for
653 __GCC_HAVE_DWARF2_CFI_ASM.
654
84c2f4b0
RH
6552013-04-02 Richard Henderson <rth@redhat.com>
656
657 * config/alpha/target.h (PAGE_SIZE, FIXED_PAGE_SIZE): Remove.
658 * config/arm/target.h, config/sh/target.h: Likewise.
659 * config/sparc/target.h, config/x86/target.h: Likewise.
660
7cc51d64
JJ
6612014-03-26 Jakub Jelinek <jakub@redhat.com>
662
663 * config/linux/futex_bits.h: Include errno.h.
664 (sys_futex0): If syscall returns -1, return -errno rather than
665 -1.
666
c288ec8f
JM
6672014-03-26 Joseph Myers <joseph@codesourcery.com>
668
669 * libitm.texi (Index): Rename to Library Index.
670
ed100f5d
L
6712014-01-13 H.J. Lu <hongjiu.lu@intel.com>
672
673 PR libitm/53113
674 * Makefile.am (x86_sse.lo): Append -msse to CXXFLAGS.
675 (x86_avx.lo): Append -mavx to CXXFLAGS.
676 * Makefile.in: Regenerate.
677
f93608e6
RS
6782014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
679
680 Update copyright years
681
98db73df
TB
6822014-01-02 Tobias Burnus <burnus@net-b.de>
683
684 * libitm.texi: Bump @copying's copyright year.
685
b54214fe
UW
6862013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
687
688 * config/powerpc/sjlj.S [__powerpc64__ && _CALL_ELF == 2]:
689 (FUNC): Define ELFv2 variant.
690 (END): Likewise.
691 (HIDDEN): Likewise.
692 (CALL): Likewise.
693 (BASE): Likewise.
694 (LR_SAVE): Likewise.
695
3cbe17f7
AM
6962013-09-20 Alan Modra <amodra@gmail.com>
697
698 * configure: Regenerate.
699
6fb471d8
TR
7002013-08-30 Torvald Riegel <triegel@redhat.com>
701
702 * config/posix/rwlock.cc: Fix initialization order.
703
bec9ec3f
TR
7042013-08-30 Torvald Riegel <triegel@redhat.com>
705
706 * libitm_i.h (gtm_thread): Assign an asm name to serial_lock.
707 (htm_fastpath): Assign an asm name.
708 * libitm.h (_ITM_codeProperties): Add non-ABI flags used by custom
709 HTM fast paths.
710 (_ITM_actions): Likewise.
711 * config/x86/target.h (HTM_CUSTOM_FASTPATH): Enable custom fastpath on
712 x86_64.
713 * config/x86/sjlj.S (_ITM_beginTransaction): Add custom HTM fast path.
714 * config/posix/rwlock.h (gtm_rwlock): Update comments. Move summary
715 field to the start of the structure.
716 * config/linux/rwlock.h (gtm_rwlock): Update comments.
717 * beginend.cc (gtm_thread::begin_transaction): Add retry policy
718 handling for custom HTM fast paths.
719
1869217f
AK
7202013-08-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
721 Revert:
722 2013-08-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
723
724 * configure.tgt: Add -msoft-float to XCFLAGS.
725
d62d5152
AK
7262013-08-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
727
728 * configure.tgt: Add -msoft-float to XCFLAGS.
729
aaaffb2a
AK
7302013-07-29 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
731
732 * config/s390/target.h (htm_begin, htm_commit, htm_abort)
733 (htm_transaction_active): Enable zEC12 instructions in the
734 assembler.
735 * configure.tgt: Remove -Wa,-march=zEC12 from XCFLAGS.
736
167f68ed
AK
7372013-07-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
738
739 * acinclude.m4: Add htm asm check for s390.
740 * configure.tgt: Add -mhtm and -Wa,-march=zEC12 to the options.
741 * configure: Regenerate.
742 * config/s390/target.h: Remove __HTM__ check.
743 (htm_available): Call getauxval to get hwcaps and check whether
744 HTM is available or not.
745
0258b6e4
PB
7462013-07-15 Peter Bergner <bergner@vnet.ibm.com>
747
748 * acinclude.m4 (LIBITM_CHECK_AS_HTM): New.
749 * configure.ac: Use it.
750 (AC_CHECK_HEADERS): Check for sys/auxv.h.
751 (AC_CHECK_FUNCS): Check for getauxval.
752 * config.h.in, configure: Rebuild.
753 * configure.tgt (target_cpu): Add -mhtm to XCFLAGS.
754 * config/powerpc/target.h: Include sys/auxv.h and htmintrin.h.
755 (USE_HTM_FASTPATH): Define.
756 (_TBEGIN_STARTED, _TBEGIN_INDETERMINATE, _TBEGIN_PERSISTENT,
757 _HTM_RETRIES) New macros.
758 (htm_abort, htm_abort_should_retry, htm_available, htm_begin, htm_init,
759 htm_begin_success, htm_commit, htm_transaction_active): New functions.
760
5a3fe9b6
AK
7612013-06-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
762
763 * config/s390/target.h: Include htmintrin.h.
764 (_HTM_ITM_RETRIES): New macro definition.
765 (htm_available, htm_init, htm_begin, htm_begin_success)
766 (htm_commit, htm_abort, htm_abort_should_retry): New functions.
767
6c84d576
IS
7682013-06-20 Iain Sandoe <iain@codesourcery.com>
769 Cesar Philippidis <cesar@codesourcery.com>
770
771 * testsuite/lib/libitm.exp: Reorder lib loads into dependency order.
772 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
773 * testsuite/libitm.c/c.exp: load_gcc_lib gcc-dg.exp.
774 * testsuite/libitm.c++/c++.exp: load_gcc_lib gcc-dg.exp.
775
480c696b
TR
7762013-06-20 Torvald Riegel <triegel@redhat.com>
777
778 * query.cc (_ITM_inTransaction): Abort when using the HTM fastpath.
779 (_ITM_getTransactionId): Same.
780 * config/x86/target.h (htm_transaction_active): New.
781
b1db457b
TR
7822013-06-20 Torvald Riegel <triegel@redhat.com>
783
784 PR libitm/57643
785 * beginend.cc (gtm_thread::begin_transaction): Handle reentrancy in
786 the HTM fastpath.
787
51249377
GP
7882013-03-31 Gerald Pfeifer <gerald@pfeifer.com>
789
790 PR bootstrap/56714
791 * local_atomic (__always_inline): Always define our version.
792 (__calculate_memory_order): Mark inline.
793 (atomic_thread_fence): Ditto.
794 (atomic_signal_fence): Ditto.
795 (atomic_bool::atomic_flag_test_and_set_explicit): Ditto.
796 (atomic_bool::atomic_flag_clear_explicit): Ditto.
797 (atomic_bool::atomic_flag_test_and_set): Ditto.
798 (atomic_bool::atomic_flag_clear): Ditto.
799
f818478b
JJ
8002013-04-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
801
802 * config/s390/sjlj.S: New file.
803 * config/s390/target.h: New file.
804 * configure.tgt: Set options for S/390.
805
ab4425be
AK
8062013-03-23 Andi Kleen <ak@linux.intel.com>
807
808 * local_atomic (__always_inline): Add.
809 (__calculate_memory_order, atomic_thread_fence,
810 atomic_signal_fence, test_and_set, clear, store, load,
811 exchange, compare_exchange_weak, compare_exchange_strong,
812 fetch_add, fetch_sub, fetch_and, fetch_or, fetch_xor):
813 Add __always_inline to force inlining.
814
6c59ffd1
IS
8152013-02-11 Iain Sandoe <iain@codesourcery.com>
816 Jack Howarth <howarth@bromo.med.uc.edu>
817 Patrick Marlier <patrick.marlier@gmail.com>
818
819 PR libitm/55693
820 * alloc_cpp.cc: Enable function declarations on darwin.
821 * eh_cpp.cc: Likewise.
822
75f9527c
RS
8232013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
824
825 Update copyright years.
826
64fbcc74
TR
8272012-11-09 Torvald Riegel <triegel@redhat.com>
828
829 * beginend.cc (htm_fastpath): New.
830 (gtm_thread::begin_transaction, _ITM_commitTransaction,
831 _ITM_commitTransactionEH): Add HTM fastpath handling.
832 * config/linux/rwlock.h (gtm_rwlock.is_write_locked): New.
833 * config/posix/rwlock.h (gtm_rwlock.is_write_locked): New.
834 * config/x86/target.h (htm_available, htm_init, htm_begin_success,
835 htm_begin, htm_commit, htm_abort, htm_abort_should_retry): New.
836 * configure.tgt: Add -mrtm to XCFLAGS.
837 * method-serial.cc (htm_mg, o_htm_mg, htm_dispatch, dispatch_htm): New.
838 (gtm_thread::serialirr_mode): Add HTM fastpath handling.
839 * libitm_i.h (htm_fastpath, dispatch_htm): Declare.
840 * retry.cc (parse_default_method): Add HTM method parsing.
841 (gtm_thread::number_of_threads_changed): Use HTM by default if
842 available.
843
b9efc877
TS
8442012-11-04 Thomas Schwinge <thomas@codesourcery.com>
845
846 * configure: Regenerate.
847
07d3b5c8
RH
8482012-10-31 Richard Henderson <rth@redhat.com>
849
850 * acinclude.m4 (LIBITM_CHECK_AS_RTM): New.
851 * configure.ac: Use it.
852 * config.h.in, configure: Rebuild.
853 * testsuite/Makefile.in: Rebuild.
854
eb00e959
TR
8552012-10-24 Torvald Riegel <triegel@redhat.com>
856
857 * libitm.texi: Clarify ABI requirements for data-logging functions.
858
b679c813
TR
8592012-10-24 Torvald Riegel <triegel@redhat.com>
860
861 * retry.cc (gtm_thread::decide_begin_dispatch): Ask dispatch whether
862 it requires serial mode instead of assuming that for certain
863 dispatchs.
864 * dispatch.h (abi_dispatch::requires_serial): New.
865 (abi_dispatch::abi_dispatch): Adapt.
866 * method-gl.cc (gl_wt_dispatch::gl_wt_dispatch): Adapt.
867 * method-ml.cc (ml_wt_dispatch::ml_wt_dispatch): Same.
868 * method-serial.cc (serialirr_dispatch::serialirr_dispatch,
869 serial_dispatch::serial_dispatch,
870 serialirr_onwrite_dispatch::serialirr_onwrite_dispatch): Same.
871
0c609a21
UB
8722012-10-02 Uros Bizjak <ubizjak@gmail.com>
873
874 * config/x86/target.h (struct gtm_jmpbuf): Merge x86_64
875 and ia32 declarations some more.
876 * config/x86/sjlj.S (_ITM_beginTransaction): Move ret to common code.
877
c0758df9
JJ
8782012-09-20 Jakub Jelinek <jakub@redhat.com>
879
880 PR other/43620
881 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
882 * configure: Regenerate.
883 * Makefile.in: Regenerate.
884
690c45b8
DE
8852012-09-14 David Edelsohn <dje.gcc@gmail.com>
886
887 * configure: Regenerated.
888
68a12ef3
UB
8892012-07-31 Uros Bizjak <ubizjak@gmail.com>
890
891 * config/x86/target.h (cpu_relax): Use __builtin_ia32_pause.
892
f2f9a097
PM
8932012-05-21 Patrick Marlier <patrick.marlier@gmail.com>
894
895 * eh_cpp.cc: Fix __cxa_end_catch declaration.
896
e6d5f8c9
L
8972012-05-16 H.J. Lu <hongjiu.lu@intel.com>
898
899 * configure: Regenerated.
900
0100e3b3
L
9012012-04-04 H.J. Lu <hongjiu.lu@intel.com>
902
903 PR libitm/52854
904 * config/x86/target.h (gtm_jmpbuf): Replace long with long long
905 for x86-64.
906
2f6935f4
TG
9072012-04-03 Tristan Gingold <gingold@adacore.com>
908
909 * configure: Regenerate.
910
b9c23a61
L
9112012-03-31 H.J. Lu <hongjiu.lu@intel.com>
912
913 PR bootstrap/52812
914 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
915
6a26a74d
BRF
9162012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
917
918 * testsuite/lib/libitm.exp: load fortran-modules.exp
919
b24513a1
RO
9202012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
921
922 * configure.tgt (*-*-irix6*): Remove.
923
0d23faac
TR
9242012-03-13 Torvald Riegel <triegel@redhat.com>
925
926 PR libitm/52526
927 * config/linux/rwlock.cc (GTM::gtm_rwlock::read_lock): Fix lost
928 wake-up.
929
5c30094f
RO
9302012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
931
932 * configure.tgt (*-*-osf*): Remove.
933 * configure: Regenerate.
934
d28b0b08
TR
9352012-03-05 Torvald Riegel <triegel@redhat.com>
936
937 * dispatch.h (CREATE_DISPATCH_METHODS_MEM): Don't execute
938 memtransfer/memset if size isn't larger than zero.
939
034209bc
TR
9402012-03-02 Torvald Riegel <triegel@redhat.com>
941
942 * libitm.texi: Link to specification and add a usage example.
943
bc8da6ba
TR
9442012-02-24 Torvald Riegel <triegel@redhat.com>
945
946 * retry.cc (GTM::gtm_thread::number_of_threads_changed): Change
947 default dispatch for more than 1 thread to ml_wt.
948
63b08143
TR
9492012-02-20 Torvald Riegel <triegel@redhat.com>
950
951 * method-gl.cc (gl_wt_dispatch::orec): Put on separate cacheline.
952
4c9bd6ac
TR
9532012-02-20 Torvald Riegel <triegel@redhat.com>
954
955 * method-gl.cc (gl_wt_dispatch::rollback): Optimize memory orders.
956
651ff415
TR
9572012-02-20 Torvald Riegel <triegel@redhat.com>
958
959 * method-gl.cc (gl_wt_dispatch::trycommit): Remove handling of
960 serial mode corner cases made obsolete by prior gtm_rwlock changes.
961 (gl_wt_dispatch.rollback): Same.
962
efee0113
TR
9632012-02-20 Torvald Riegel <triegel@redhat.com>
964
965 * method-gl.cc (gl_wt_dispatch::pre_write): Optimize memory orders.
966
33a03827
TR
9672012-02-20 Torvald Riegel <triegel@redhat.com>
968
969 * method-gl.cc (gl_wt_dispatch::memtransfer_static): Add missing undo
970 for RfW src. Optimize number of calls to gtm_thr.
971
a19db3f2
TR
9722012-02-20 Torvald Riegel <triegel@redhat.com>
973
974 * beginend.cc (GTM::gtm_thread::begin_transaction): Move serial lock
975 acquisition to ...
976 * retry.cc (GTM::gtm_thread::decide_begin_dispatch): ... here.
977 (default_dispatch): Make atomic.
978 (GTM::gtm_thread::set_default_dispatch): Access atomically.
979 (GTM::gtm_thread::decide_retry_strategy): Access atomically and
980 use decide_begin_dispatch() if default_dispatch might have changed.
981 (GTM::gtm_thread::number_of_threads_changed): Initialize
982 default_dispatch here.
983
e948a1fb
IS
9842012-02-15 Iain Sandoe <iains@gcc.gnu.org>
985 Patrick Marlier <patrick.marlier@gmail.com>
986
987 PR libitm/52220
988 * alloc_cpp.cc: No dummy definitions for darwin.
989 * eh_cpp.cc: Likewise.
990
72824d5e
RH
9912012-02-14 Richard Henderson <rth@redhat.com>
992
993 * config/x86/target.h (GTM_longjmp): Correct the .cfi corrections.
994
1f319dba
UB
9952012-02-14 Uros Bizjak <ubizjak@gmail.com>
996
997 * config/x86/target.h (GTM_longjmp): Correct .cfi directives.
998
31772c95
TR
9992012-02-14 Torvald Riegel <triegel@redhat.com>
1000
1001 * libitm_i.h (GTM::gtm_rwlog_entry): New.
1002 (GTM::gtm_thread): Add read and write logs.
1003 (GTM::dispatch_ml_wt): Declare.
1004 * retry.cc (parse_default_method): Support ml_wt.
1005 * method-ml.cc: New file.
1006 * Makefile.am: Add method-ml.cc.
1007 * Makefile.in: Regenerate.
1008
5b9cf5d2
TR
10092012-02-14 Torvald Riegel <triegel@redhat.com>
1010
1011 * dispatch.h (GTM::abi_dispatch::supports): New.
1012 (GTM::method_group::reinit): New.
1013 * retry.cc (GTM::gtm_thread::decide_retry_strategy): Use reinit().
1014 (GTM::gtm_thread::number_of_threads_changed): Check that the method
1015 supports the current situation.
1016
7d33bcb7
TR
10172012-02-14 Torvald Riegel <triegel@redhat.com>
1018
1019 * util.cc (GTM::xcalloc): New.
1020 * common.h (GTM::xcalloc): Declare.
1021
62513f7b
EB
10222012-02-14 Eric Botcazou <ebotcazou@adacore.com>
1023
1024 * config/sparc/target.h (cpu_relax): Read from CC register.
1025 * config/sparc/sjlj.S (GTM_longjmp): Restore %fp atomically.
1026
10272012-02-14 Uros Bizjak <ubizjak@gmail.com>
d4a698d4
UB
1028
1029 * config/x86/target.h (GTM_longjmp): Jump indirect from memory address.
1030
f3f5e3c3
EB
10312012-02-13 Eric Botcazou <ebotcazou@adacore.com>
1032
62513f7b 1033 * configure.tgt (target_cpu): Handle sparc and sparc64/sparcv9.
f3f5e3c3
EB
1034 * config/sparc/cacheline.h: New file.
1035 * config/sparc/target.h: Likewise.
1036 * config/sparc/sjlj.S: Likewise.
1037 * config/linux/sparc/futex_bits.h: Likewise.
1038
10392012-02-13 Eric Botcazou <ebotcazou@adacore.com>
255a9a1b
EB
1040
1041 * configure.ac (link_itm): Fix comment.
1042 * configure: Regenerate.
1043 * testsuite/lib/libitm.exp: Do not pass -litm for the link.
1044
681355e3
RO
10452012-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1046
fc985d2f 1047 PR libitm/51822
62513f7b 1048 * testsuite/libitm.c++/c++.exp (lang_link_flags): Add -shared-libgcc.
681355e3
RO
1049 Correct libgomp references.
1050
999bcff5
TR
10512012-01-24 Torvald Riegel <triegel@redhat.com>
1052
1053 * config/linux/rwlock.cc (GTM::gtm_rwlock::write_unlock): Fix reader
1054 wake-up.
1055
9848887a
UB
10562012-01-24 Uros Bizjak <ubizjak@gmail.com>
1057
1058 * config/x86/target.h (gtm_jmpbuf) [__x86_64__]: Move rip to the
1059 end of structure.
1060 * config/x86/sjlj.S (_ITM_beginTransaction) [__x86_64__]: Update
1061 offset values. Do not copy return address. Decrement stack
1062 by 56 bytes only.
1063 (GTM_longjump) [__x86_64__]: Update offset values.
1064
5752c591
UB
10652012-01-23 Uros Bizjak <ubizjak@gmail.com>
1066
1067 PR libitm/51830
1068 * config/x86/sjlj.S (_ITM_beginTransaction) [!__x86_64__]: Load
1069 the first function argument to %eax.
1070
61e72ca4
RO
10712012-01-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1072
1073 * libitm.h (_ITM_getThreadnum): Remove.
1074 * libitm.map (_ITM_getThreadnum): Remove from LIBITM_1.0.
1075
9ce91011
RO
10762012-01-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1077
1078 * clearcap.map: New file.
1079 * acinclude.m4 (LIBITM_CHECK_LINKER_HWCAP): New test.
1080 * configure.ac: Call it.
1081 Clear HWCAP_LDFLAGS if defaulting to -mavx.
1082 * Makefile.am (AM_LDFLAGS): Add $(HWCAP_LDFLAGS)
1083 * configure: Regenerate.
1084 * Makefile.in: Regenerate.
1085 * testsuite/Makefile.in: Regenerate.
1086
3b4f05ec
RO
10872012-01-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1088
1089 PR libitm/51173
1090 * testsuite/libitm.c++/static_ctor.C: Skip test, note PR, remove
1091 include, exclude options.
1092
aab74ee9
TR
10932012-01-14 Torvald Riegel <triegel@redhat.com>
1094
1095 * local.cc (GTM::gtm_undolog::rollback): Truncate undo log after
1096 rolling back.
1097 * containers.h (GTM::vector::set_size): New.
1098
07b6642b
TR
10992012-01-14 Torvald Riegel <triegel@redhat.com>
1100
1101 PR libitm/51855
1102 * config/generic/tls.h (GTM::mask_stack_top): New.
1103 (GTM::mask_stack_bottom): Declare.
1104 * config/generic/tls.c (GTM::mask_stack_bottom): New.
1105 * local.cc (gtm_undolog::rollback): Filter out any updates that
1106 overlap the libitm stack. Add current transaction as parameter.
1107 * libitm_i.h (GTM::gtm_undolog::rollback): Adapt.
1108 * beginend.cc (GTM::gtm_thread::rollback): Adapt.
1109 * testsuite/libitm.c/stackundo.c: New test.
1110
8377e5e5
RH
11112012-01-10 Richard Henderson <rth@redhat.com>
1112
1113 * libitm_i.h (_Unwind_DeleteException): Declare weak.
1114 * eh_cpp.cc (_Unwind_DeleteException): Define for
1115 !HAVE_ELF_STYLE_WEAKREF.
1116
11f30bb0
TR
11172012-01-08 Torvald Riegel <triegel@redhat.com>
1118
1119 * local.cc (GTM_LB): Use GTM::gtm_undolog.
1120 (GTM::gtm_thread::drop_references_undolog): Remove.
1121 (GTM::gtm_thread::commit_undolog,
1122 GTM::gtm_thread::rollback_undolog): Move to ...
1123 * libitm_i.h (GTM::gtm_undolog): ...here. New.
1124 (GTM::gtm_undolog_entry): Remove.
1125 (GTM::gtm_thread): Adapt.
1126 * beginend.cc (GTM::gtm_thread::rollback): Adapt.
1127 (GTM::gtm_thread::trycommit): Adapt.
1128 * method-serial.cc (serial_dispatch::log): Adapt.
1129 * method-gl.cc (gl_wt_dispatch::pre_write): Adapt.
1130 (gl_wt_dispatch::store): Fix likely/unlikely.
1131 * containers.h (GTM::vector::resize): Add additional_capacity
1132 parameter and handle it.
1133 (GTM::vector::resize_noinline): New/adapt.
1134 (GTM::vector::push): New.
1135
a32e5e93
RH
11362012-01-06 Richard Henderson <rth@redhat.com>
1137
1138 * configure.tgt: Support powerpc-linux and powerpc-darwin.
1139 * config/linux/powerpc/futex_bits.h: New file.
1140 * config/powerpc/cacheline.h: New file.
1141 * config/powerpc/sjlj.S: New file.
1142 * config/powerpc/target.h: New file.
1143 * config/generic/asmcfi.h (cfi_offset): New.
1144 (cfi_restore, cfi_undefined): New.
1145
1f53a8e6
AH
11462012-01-05 Aldy Hernandez <aldyh@redhat.com>
1147
1148 PR other/51171
1149 * testsuite/libitm.c/reentrant.c: Remove xfail.
1150 (thread): Pass x to pure().
be223aaf 1151 From Patrik Marlier <patrick.marlier@gmail.com>.
1f53a8e6 1152
c898f7b8
TR
11532011-12-24 Torvald Riegel <triegel@redhat.com>
1154
1155 * beginend.cc (GTM::gtm_thread::trycommit): Don't enforce
1156 privatization safety if already in serial mode.
1157
610e3901
TR
11582011-12-24 Torvald Riegel <triegel@redhat.com>
1159
1160 * beginend.cc (GTM::gtm_thread::restart): Add and handle
1161 finish_serial_upgrade parameter.
1162 * libitm.h (GTM::gtm_thread::restart): Adapt declaration.
1163 * config/linux/rwlock.cc (GTM::gtm_rwlock::write_lock_generic):
1164 Don't unset reader flag.
1165 (GTM::gtm_rwlock::write_upgrade_finish): New.
1166 * config/posix/rwlock.cc: Same.
1167 * config/linux/rwlock.h (GTM::gtm_rwlock::write_upgrade_finish):
1168 Declare.
1169 * config/posix/rwlock.h: Same.
1170 * method-serial.cc (GTM::gtm_thread::serialirr_mode): Unset reader
1171 flag after commit or after rollback when restarting.
1172
799142bf
TR
11732011-12-24 Torvald Riegel <triegel@redhat.com>
1174
1175 * beginend.cc (GTM::gtm_thread::begin_transaction): Add comment.
1176 (GTM::gtm_thread::try_commit): Changed memory order.
1177 * config/linux/alpha/futex_bits.h (sys_futex0): Take atomic int
1178 as parameter.
1179 * config/linux/x86/futex_bits.h (sys_futex0): Same.
1180 * config/linux/sh/futex_bits.h (sys_futex0): Same.
1181 * config/linux/futex_bits.h (sys_futex0): Same.
1182 * config/linux/futex.cc (futex_wait, futex_wake): Same.
1183 * config/linux/futex.h (futex_wait, futex_wake): Same.
1184 * config/linux/rwlock.h (gtm_rwlock::writers,
1185 gtm_rwlock::writer_readers, gtm_rwlock::readers): Change to atomic
1186 ints.
1187 * config/linux/rwlock.cc (gtm_rwlock::read_lock,
1188 gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock,
1189 gtm_rwlock::write_unlock): Fix memory orders and fences.
1190 * config/posix/rwlock.cc (gtm_rwlock::read_lock,
1191 gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock,
1192 gtm_rwlock::write_unlock): Same.
1193 * config/linux/rwlock.h (gtm_rwlock::summary): Change to atomic int.
1194 * method-gl.cc (gl_mg::init, gl_wt_dispatch::memtransfer_static,
1195 gl_wt_dispatch::memset_static, gl_wt_dispatch::begin_or_restart):
1196 Add comments.
1197 (gl_wt_dispatch::pre_write, gl_wt_dispatch::validate,
1198 gl_wt_dispatch::load, gl_wt_dispatch::store,
1199 gl_wt_dispatch::try_commit, gl_wt_dispatch::rollback): Fix memory
1200 orders and fences. Add comments.
1201
b0f96e35
JJ
12022011-12-21 Jakub Jelinek <jakub@redhat.com>
1203
1204 * Makefile.am (AM_CXXFLAGS): Put $(XCFLAGS) first.
1205 * Makefile.in: Regenerated.
1206
cc163247
KK
12072011-12-17 Kaz Kojima <kkojima@gcc.gnu.org>
1208
1209 * configure.tgt: Add sh* case.
1210 * config/sh/target.h: New file.
1211 * config/sh/sjlj.S: New file.
1212 * config/linux/sh/futex_bits.h: New file.
1213
aebac0ca
RH
12142011-12-14 Richard Henderson <rth@redhat.com>
1215
1216 * config/arm/hwcap.h, config/arm/hwcap.cc: New files.
1217 * config/arm/sjlj.S, config/arm/target.h: New files.
1218 * config/generic/asmcfi.h (cfi_adjust_cfa_offset): New.
1219 (cfi_rel_offset): New.
1220 * config/linux/futex_bits.h: New file.
1221 * config/linux/futex.cc: Include futex_bits.h here...
1222 * config/linux/futex.h: ... not here.
1223 * Makefile.am (libitm_la_SOURCES) <ARCH_ARM>: Add hwcap.cc.
1224 * configure.ac (ARCH_AM): New conditional.
1225 * Makefile.in, configure: Rebuild.
1226 * configure.tgt: Handle ARM.
1227
36cfbee1
RH
12282011-12-13 Richard Henderson <rth@redhat.com>
1229
5d9d05d3
RH
1230 * config/posix/rwlock.cc (gtm_rwlock::write_lock_generic): Fix
1231 signed/unsigned comparison werror.
1232
36cfbee1
RH
1233 * local_atomic: New file.
1234 * libitm_i.h: Include it.
1235 (gtm_thread::shared_state): Use atomic template.
1236 * beginend.cc (GTM::gtm_clock): Use atomic template.
1237 (global_tid): Use atomic template if 64-bit atomics available.
1238 (gtm_thread::gtm_thread): Update shared_state access.
1239 (gtm_thread::trycommit): Likewise.
1240 (choose_code_path): Update global_tid access.
1241 * method-gl.cc (gl_mg::orec): Use atomic template. Update all users.
1242 * stmlock.h (GTM::gtm_clock): Use atomic template.
1243 (gtm_get_clock, gtm_inc_clock): Update accesses.
1244 * config/linux/rwlock.cc (gtm_rwlock::read_lock): Remove
1245 redundant __sync_synchronize after atomic shared_state access.
1246 * config/posix/rwlock.cc (gtm_rwlock::read_lock): Likewise.
1247 (gtm_rwlock::write_lock_generic): Likewise.
1248 (gtm_rwlock::read_unlock): Likewise.
1249 * config/alpha/target.h (atomic_read_barrier): Remove.
1250 (atomic_write_barrier): Remove.
1251 * config/x86/target.h (atomic_read_barrier): Remove.
1252 (atomic_write_barrier): Remove.
1253
062f93f2
RH
12542011-11-30 Richard Henderson <rth@redhat.com>
1255
1256 * libitm_i.h (GTM_longjmp): Swap first and second arguments.
1257 * beginend.c (_ITM_abortTransaction): Update to match.
1258 (GTM::gtm_thread::restart): Likewise.
1259 * config/alpha/sjlj.S (GTM_longjmp): Likewise.
1260 * config/x86/sjlj.S (GTM_longjmp): Likewise.
1261
bd8aaa86
IS
12622011-11-23 Iain Sandoe <iains@gcc.gnu.org>
1263
1264 * Makefile.am (libitm_la_LDFLAGS): Remove "-no-undefined".
1265 * Makefile.in: Regenerate.
1266
8cf36bb3
IS
12672011-11-22 Iain Sandoe <iains@gcc.gnu.org>
1268
1269 * configure.ac: Use GCC_CHECK_ELF_STYLE_WEAKREF.
1270 * alloc_cpp.cc: Generate dummy functions if we don't
1271 HAVE_ELF_STYLE_WEAKREF.
1272 * eh_cpp.cc: Likewise.
1273 * configure: Regenerate.
1274 * aclocal.m4: Likewise.
1275 * config.h.in: Likewise.
1276 * Makefile.in: Likewise.
1277 * testsuite/Makefile.in: Likewise.
1278
0b41ebef
IS
12792011-11-22 Iain Sandoe <iains@gcc.gnu.org>
1280
1281 * config/x86/sjlj.S (CONCAT1, CONCAT2, SYM): Respond to
1282 __USER_LABEL_PREFIX__ for targets that use it.
8cf36bb3 1283 (TYPE, SIZE, HIDDEN): New macros to assist on non-elf targets.
0b41ebef
IS
1284 (_ITM_beginTransaction): Use SYM, TYPE, SIZE macros to assist
1285 in portability to non-elf targets.
8cf36bb3 1286 (GTM_longjmp): Likewise.
0b41ebef
IS
1287 * libitm_i.h (begin_transaction): Apply __USER_LABEL_PREFIX__
1288 where required.
1289
9c9d352a
IS
12902011-11-22 Iain Sandoe <iains@gcc.gnu.org>
1291
1292 * testsuite/libitm.c/memcpy-1.c: Allow for MAP_ANON spelling.
1293 * testsuite/libitm.c/memset-1.c: Likewise.
1294
c6084f68
AT
12952011-11-21 Andreas Tobler <andreast@fgznet.ch>
1296
1297 * configure: Regenerate.
1298
adcd36bc
RO
12992011-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1300
1301 * acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Handle gold.
1302 (LIBITM_ENABLE_SYMVERS): Handle sun style.
1303 * Makefile.am: Handle sun style versioning.
1304 (libitm_la_LINK): Add $(libitm_la_LDFLAGS).
1305 * configure: Regenerate.
1306 * Makefile.in: Regenerate.
1307
59659b59
RO
13082011-11-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1309
1310 * config/generic/asmcfi.h: Fix comment.
1311 * config/x86/sjlj.S (_ITM_beginTransaction): Provide ELF PIC code
1312 sequence without .hidden support, error for non-ELF targets.
1313 (GTM_longjmp) [__ELF__]: Only use .hidden if
1314 HAVE_ATTRIBUTE_VISIBILITY.
1315
d846e425
RO
13162011-11-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1317
1318 * alloc_cpp.cc [__osf__] (_ZnwX, _ZdlPv, _ZnaX, _ZdaPv,
1319 _ZnwXRKSt9nothrow_t, _ZdlPvRKSt9nothrow_t, _ZdaPvRKSt9nothrow_t):
1320 Dummy functions.
1321 * eh_cpp.cc [__osf__] (__cxa_allocate_exception, __cxa_throw,
1322 __cxa_begin_catch, __cxa_end_catch, __cxa_tm_cleanup): Likewise.
1323
80713347
UB
13242011-11-16 Uros Bizjak <ubizjak@gmail.com>
1325
1326 PR bootstrap/51098
1327 * acinclude.m4 (LIBITM_CHECK_AS_AVX): Fix target selector.
1328 * configure: Regenerate.
1329
2841f85e
L
13302011-11-14 H.J. Lu <hongjiu.lu@intel.com>
1331
1332 * testsuite/lib/libitm.exp: Check ia32 instead of ilp32.
1333
8851b429
RO
13342011-11-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1335
1336 * config/alpha/sjlj.S (_ITM_beginTransaction) [!__ELF__]: Don't use
1337 .hidden.
1338 (.note.GNU-stack): Only use if __linux__.
1339 * alloc_cpp.cc [!__osf__] (_ZnaXRKSt9nothrow_t): Dummy function.
1340 * testsuite/libitm.c/notx.c: Use dg-options "-pthread".
1341 * testsuite/libitm.c/reentrant.c: Likewise.
1342 * testsuite/libitm.c/simple-2.c: Likewise.
1343 * testsuite/libitm.c/txrelease.c: Likewise.
1344 * testsuite/libitm.c++/static_ctor.C: Likewise.
1345
d4b17902
RH
13462011-11-10 Richard Henderson <rth@redhat.com>
1347
1348 * config/x86/x86_avx.cc: Remove #undef __AVX__ hack. Tidy comments.
1349 * Makefile.am (x86_avx.lo): Only add -mavx if ARCH_X86_AVX.
1350 * configure.ac (ARCH_X86_AVX): New conditional.
1351 * Makefile.in, configure: Rebuild.
1352
430616e7
RH
13532011-11-09 Richard Henderson <rth@redhat.com>
1354
1355 * acinclude.m4 (LIBITM_CHECK_AS_AVX): New.
1356 * configure.ac: Use it.
1357 * config.h.in, configure: Rebuild.
1358 * config/x86/x86_avx.cc: Handle !HAVE_AS_AVX.
1359
79b1edb6
RH
13602011-11-09 Richard Henderson <rth@redhat.com>
1361
1362 * barrier.tpl, memcpy.cc, memset.cc, method-wbetl.cc: Remove file.
1363 * config/alpha/unaligned.h: Remove file.
1364 * config/generic/unaligned.h: Remove file.
1365 * config/x86/unaligned.h: Remove file.
1366 * config/generic/cachepage.h: Remove file.
1367 * config/posix/cachepage.cc: Remove file.
1368 * config/generic/cacheline.cc: Remove file.
1369 * config/x86/cacheline.cc: Remove file.
1370 * config/generic/cacheline.h (gtm_cacheline): Remove the
1371 store_mask, copy_mask, copy_mask_wb methods.
1372 * config/x86/cacheline.h: Likewise.
1373 * config/alpha/cacheline.h: Fall back to generic after setting size.
1374 * config/generic/tls.cc (gtm_mask_stack): Remove.
1375 * config/x86/x86_avx.cc (GTM_vpperm_shift): Remove.
1376 (GTM_vpalignr_table): Remove.
1377 * config/x86/x86_sse.cc (GTM_palignr_table): Remove.
1378 (GTM_pshift_table): Remove.
1379 * config/libitm_i.h: Don't include cachepage.h.
1380 * Makefile.am (libitm_la_SOURCES): Remove cacheline.cc, cachepage.cc
1381 * Makefile.in, testsuite/Makefile.in: Rebuild.
1382
4bdd090f
RH
13832011-11-09 Richard Henderson <rth@redhat.com>
1384
8ee9fac2
RH
1385 * config/x86/cacheline.h (gtm_cacheline::store_mask): Use .byte
1386 to emit branch prediction hint.
1387
9bdc6343
RH
1388 * config/x86/sjlj.S: Protect elf directives with __ELF__.
1389 Protect .note.GNU-stack with __linux__.
1390
4bdd090f
RH
1391 * configure.ac (GCC_AS_CFI_PSEUDO_OP): Test it.
1392 * configure, aclocal.m4, config.h.in: Rebuild.
1393 * config/generic/asmcfi.h: New file.
1394 * config/x86/sjlj.S: Use it.
1395
4408b086
RH
13962011-11-08 Richard Henderson <rth@redhat.com>
1397
1398 * local.cc (_ITM_LB): Use a normal call, not a function alias.
1399
01f3428c
RH
14002011-11-08 Richard Henderson <rth@redhat.com>
1401
3d3b05ff
RH
1402 * configure.tgt: Test correct directory for supported cpus.
1403
01f3428c
RH
1404 * configure.ac: Exit if unsupported.
1405 * configure: Rebuild.
1406 * configure.tgt: Delete boilerplate from libgomp for unsupported
1407 targets. Set UNSUPPORTED for unsupported targets.
1408
07f03cd3
RO
14092011-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1410
1411 * configure.tgt: Handle i386 like i[456]86.
1412 * config/generic/tls.h [!HAVE_ARCH_GTM_THREAD] (gtm_thr): Don't
1413 take address.
1414 * config/generic/tls.cc [!HAVE_ARCH_GTM_THREAD ||
1415 !HAVE_ARCH_GTM_THREAD_DISP] (_gtm_thr_tls): New variable.
1416
0a35513e
AH
14172011-11-05 Aldy Hernandez <aldyh@redhat.com>
1418
1419 * method-wbetl.cc: Update copyright notice.
1420 * aatree.cc: Same.
1421 * util.cc: Same.
1422 * libitm.h: Same.
1423 * memset.cc: Same.
1424 * eh_cpp.cc: Same.
1425 * barrier.tpl: Same.
1426 * useraction.cc: Same.
1427 * stmlock.h: Same.
1428 * memcpy.cc: Same.
1429 * common.h: Same.
1430 * config/generic/tls.cc: Same.
1431 * config/generic/cacheline.h: Same.
1432 * config/generic/cachepage.h: Same.
1433 * config/generic/cacheline.cc: Same.
1434 * config/generic/unaligned.h: Same.
1435 * config/x86/cacheline.h: Same.
1436 * config/x86/cacheline.cc: Same.
1437 * config/x86/unaligned.h: Same.
1438 * config/alpha/cacheline.h: Same.
1439 * config/alpha/unaligned.h: Same.
1440 * config/alpha/sjlj.S: Same.
1441 * config/posix/cachepage.cc: Same.
1442 * config/linux/futex.h: Same.
1443 * config/linux/alpha/futex_bits.h: Same.
1444
14452011-11-04 Torvald Riegel <triegel@redhat.com>
1446
1447 * libitm.texi: No cover text and invariant sections.
1448
14492011-11-03 Richard Henderson <rth@redhat.com>
1450
1451 * local_type_traits: New file.
1452 * libitm_i.h: Use it. Use C headers, not C++ wrappers.
1453
14542011-11-03 Richard Henderson <rth@redhat.com>
1455
1456 * configure.ac: Don't test for gfortran.
1457 * configure: Rebuild.
1458
1459 * testsuite/lib/libitm.exp: Don't include gfortran-dg.exp.
1460 * testsuite/libitm.c++/c++.exp: Don't use gfortran-dg-runtest.
1461
14622011-11-03 Aldy Hernandez <aldyh@redhat.com>
1463
1464 * testsuite/libitm.c/memcpy-1.c: Add copyright notice.
1465 * testsuite/libitm.c/memset-1.c: Same.
1466 * testsuite/libitm.c/c.exp: Same.
1467 * testsuite/lib/libitm-dg.exp: Same.
1468 * testsuite/lib/libitm.exp: Same.
1469 * testsuite/libitm.c++/c++.exp: Same.
1470
14712011-11-03 Aldy Hernandez <aldyh@redhat.com>
1472
1473 * testsuite/config/default.exp: Update copyright date.
1474 * configure.ac: Add copyright info.
1475 * configure.tgt: Same.
1476
14772011-11-03 Aldy Hernandez <aldyh@redhat.com>
1478
1479 * testsuite/libitm.c/reentrant.c: XFAIL.
1480 * testsuite/libitm.c++/static_ctor.C: XFAIL.
1481
14822011-10-29 Torvald Riegel <triegel@redhat.com>
1483
1484 * beginend.cc (GTM::gtm_thread::rollback): Add aborting flag and
1485 handle aborts.
1486 (_ITM_abortTransaction): Handle aborts of outer transactions.
1487 * libitm_i.h: Same.
1488 * eh_cpp.cc (GTM::gtm_thread::revert_cpp_exceptions): Fix assertion.
1489 * libitm.texi: Document aborts of outer transactions.
1490 * testsuite/libitm.c/cancel.c: New file.
1491
14922011-10-19 Torvald Riegel <triegel@redhat.com>
1493
1494 * testsuite/*: Change __transaction to __transaction_atomic or
1495 __transaction_relaxed.
1496
14972011-10-19 Torvald Riegel <triegel@redhat.com>
1498
1499 * config/linux/x86/tls.h (abi_disp): Make TLS slot read volatile.
1500 (gtm_thr): Same.
1501
15022011-10-19 Torvald Riegel <triegel@redhat.com>
1503
1504 * libitm_i.h: Add gl_wt dispatch.
1505 * retry.cc (parse_default_method): Same.
1506 * method-gl.cc: New file.
1507 * Makefile.am: Use method-gl.cc.
1508 * Makefile.in: Rebuild.
1509
15102011-10-19 Torvald Riegel <triegel@redhat.com>
1511
1512 * beginend.cc (GTM::gtm_thread::trycommit): Ensure privatization
1513 safety if requested by a TM method.
1514 * dispatch.h (GTM::abi_dispatch::trycommit): Add parameter for
1515 privatization safety.
1516 * method-serial.cc: Same.
1517
15182011-10-19 Torvald Riegel <triegel@redhat.com>
1519
1520 * libitm_i.h: Renamed gtm_local_undo to gtm_undolog_entry.
1521 (GTM::gtm_thread): Renamed local_undo to undolog. Renamed
1522 undolog-related member functions from *_local to *_undolog.
1523 * local.cc (gtm_thread::commit_undolog): Same.
1524 * beginend.cc (GTM::gtm_thread::trycommit): Same.
1525 (GTM::gtm_thread::rollback): Roll back undolog before
1526 dispatch-specific rollback.
1527
15282011-10-19 Torvald Riegel <triegel@redhat.com>
1529
1530 * retry.cc (GTM::gtm_thread::decide_retry_strategy): Handle
1531 re-initialization of the current method group.
1532 * libitm_i.h (GTM::gtm_restart_reason): Add restart reason for this.
1533
15342011-10-19 Torvald Riegel <triegel@redhat.com>
1535
1536 * alloc.cc (commit_allocations_2): Do not free transaction-local
1537 memory when committing a nested transaction.
1538
15392011-10-19 Torvald Riegel <triegel@redhat.com>
1540
1541 * method-serial.cc (GTM::gtm_thread::serialirr_mode): Fixed: Use
1542 serial-irrevocable dispatch, not serial.
1543
15442011-10-19 Torvald Riegel <triegel@redhat.com>
1545
1546 * libitm_i.h (GTM::gtm_restart_reason): Re-arrange and clean up
1547 declarations.
1548 * dispatch.h (GTM::abi_dispatch::begin_or_restart): New.
1549 * method-serial.cc: Implement begin_or_restart().
1550 * beginend.cc (GTM::gtm_thread::begin_transaction): Call
1551 dispatch-specific begin_or_restart().
1552 (GTM::gtm_thread::restart): Same.
1553
15542011-08-23 Torvald Riegel <triegel@redhat.com>
1555
1556 * retry.cc (GTM::gtm_thread::decide_retry_strategy): Cleanup. Fix
1557 restarting without switching to serial mode.
1558 (GTM::gtm_thread::decide_begin_dispatch): Let the caller set the
1559 transaction state. Choose closed-nesting alternative if available.
1560 (GTM::gtm_thread::set_default_dispatch): New.
1561 (parse_default_method): New.
1562 (GTM::gtm_thread::number_of_threads_changed): New.
1563 * method-serial.cc (GTM::serial_mg): New method group class.
1564 (GTM::serialirr_dispatch): Belongs to serial_mg. Remove reinit and
1565 fini.
1566 (GTM::serial_dispatch): Same.
1567 (GTM::serialirr_onwrite_dispatch): Same.
1568 (GTM::gtm_thread::serialirr_mode): Remove calls to fini.
1569 * beginend.cc (GTM::gtm_thread::~gtm_thread): Maintain number of
1570 registered threads.
1571 (GTM::gtm_thread::gtm_thread): Same.
1572 (_ITM_abortTransaction): Remove calls to abi_dispatch::fini().
1573 (GTM::gtm_thread::trycommit): Same. Reset number of restarts.
1574 (GTM::gtm_thread::begin_transaction): Let decide_begin_dispatch()
1575 choose dispatch but set state according to dispatch here.
1576 * dispatch.h (GTM::abi_dispatch::fini): Move to method group.
1577 (GTM::method_group): New class.
1578 (GTM::abi_dispatch): Add comments. Maintain pointer to method_group.
1579 * libitm_i.h (GTM::gtm_thread): Add declarations for new members.
1580 * libitm.texi: Document TM methods, method groups, method life cycle.
1581 Rename method sets to method groups.
1582
15832011-08-23 Torvald Riegel <triegel@redhat.com>
1584
1585 * config/x86/tls.h: Moved to ...
1586 * config/linux/x86/tls.h: ... here.
1587
15882011-08-23 Torvald Riegel <triegel@redhat.com>
1589
1590 * config/x86/tls.h: Use __x86_64__ instead of __LP64__.
1591 Add X32 support.
1592 * config/x86/sjlj.S: Same.
1593
15942011-08-19 Torvald Riegel <triegel@redhat.com>
1595
1596 * config/linux/rwlock.h: New file.
1597 * config/linux/rwlock.c: New file.
1598 * configure.ac: Reenable futex support (undo SVN rev 157758).
1599 * Makefile.am: Same.
1600 * configure.tgt: Same.
1601 * config/linux/alpha/futex_bits.h: Same.
1602 * config/linux/futex.h: Same. Return number of woken processes.
1603 * config/linux/futex.cc: Same.
1604 (futex_wait): Remove spinning.
1605 * config/linux/x86/futex_bits.h: Same. Set futex timeout to zero.
1606 Use __x86_64__ instead of __LP64__.
1607 * aclocal.m4: Include generic futex checks.
1608 * configure: Rebuild.
1609 * Makefile.in: Rebuild.
1610 * testsuite/Makefile.in: Rebuild.
1611 * beginend.cc: Include pthread.h.
1612 * config/posix/cachepage.cc: Same.
1613
16142011-08-12 Torvald Riegel <triegel@redhat.com>
1615
1616 * config/x86/tls.h (gtm_tx, set_gtm_tx, setup_gtm_thr): Removed.
1617 (abi_disp, set_abi_disp): Move to tx's TLS slot.
1618 (set_gtm_thr): New.
1619 * config/generic/tls.h (gtm_tx, set_gtm_tx, setup_gtm_thr): Removed.
1620 (set_gtm_thr): New.
1621 (GTM::gtm_thread::thread_num): Removed.
1622 (GTM::gtm_thread): Renamed to GTM::gtm_thread_tls.
1623 * libitm_i.h (GTM::gtm_transaction): Renamed to GTM::gtm_thread. More
1624 tx-to-thread renaming.
1625 * beginend.cc: Adapted to tx-to-thread renaming.
1626 (GTM::gtm_thread::~gtm_thread): Extracted from thread_exit_handler().
1627 (GTM::gtm_thread::gtm_thread): Extracted from begin_transaction().
1628 * query.cc (_ITM_getTransactionId, _ITM_inTransaction): Renamed
1629 gtm_transaction to gtm_thread.
1630 (_ITM_getThreadnum): Removed. Not supported anymore.
1631 * testsuite/libitm.c/notx.c (main): Removed _ITM_getThreadnum call.
1632 * libitm.texi: Documented that _ITM_getThreadnum is not supported.
1633 * useraction.cc: Renamed gtm_transaction to gtm_thread. Adapted to
1634 gtm_tx-to-gtm_thr renaming if necessary.
1635 * eh_cpp.cc: Same.
1636 * local.cc: Same.
1637 * retry.cc: Same.
1638 * clone.cc: Same.
1639 * alloc.cc: Same.
1640 * alloc_c.cc: Same.
1641 * alloc_cpp.cc: Same.
1642 * method-serial.cc: Same.
1643 * config/generic/tls.cc: Same.
1644 * config/posix/rwlock.h (gtm_rwlock): Same.
1645 * config/posix/rwlock.cc: Same. Adapted to more tx-to-thread renaming.
1646
16472011-08-12 Torvald Riegel <triegel@redhat.com>
1648
1649 * config/posix/rwlock.cc (gtm_rwlock::read_lock): Changed locking
1650 implementation.
1651 (gtm_rwlock::read_unlock): Same.
1652 (gtm_rwlock::write_lock_generic): New. Generalized from ...
1653 (gtm_rwlock::write_lock, gtm_rwlock::write_upgrade): ... these.
1654 * libitm_i.h (GTM::gtm_transaction): Added shared_state.
1655 * config/posix/rwlock.h (GTM::gtm_rwlock): Removed a_reader and
1656 w_upgrade. Replaced by per-transaction flags (in shared_state).
1657 Added c_confirmed_writers.
1658 (GTM::gtm_rwlock::read_lock, GTM::gtm_rwlock::read_unlock,
1659 GTM::gtm_rwlock::write_upgrade): Add tx parameter.
1660 * retry.cc (GTM::gtm_transaction::decide_retry_strategy): Same.
1661 * method-serial.cc (GTM::gtm_transaction::serialirr_mode): Same.
1662 * beginend.cc (GTM::gtm_transaction::begin_transaction,
1663 _ITM_abortTransaction, GTM::gtm_transaction::trycommit): Same.
1664 * libitm.texi: Document locking conventions and implementations in
1665 libitm.
1666
16672011-08-12 Torvald Riegel <triegel@redhat.com>
1668
1669 * libitm_i.h (next_tx): Add list of all threads' transaction.
1670 * beginend.cc (GTM::gtm_transaction::begin_transaction): Register
1671 transaction with list of transactions and ...
1672 (thread_exit_handler): ... deregister here.
1673 * config/alpha/target.h: Add HW_CACHELINE_SIZE setting.
1674 * config/x86/target.h: Same.
1675
16762011-08-12 Torvald Riegel <triegel@redhat.com>
1677
1678 * testsuite/libitm.c++/static_ctor.C: New file.
1679
16802011-08-12 Torvald Riegel <triegel@redhat.com>
1681
1682 * testsuite/libitm.c/reentrant.c: New file.
1683
16842011-08-12 Torvald Riegel <triegel@redhat.com>
1685
1686 * config/generic/tls.h: Remove the free list for transactions and ...
1687 * beginend.cc (GTM::gtm_transaction::operator new): ... allocate ...
1688 (GTM::gtm_transaction::operator delete): ... and release here.
1689 (thread_exit_handler): New. Delete tx when thread terminates.
1690 (thread_exit_init): New.
1691 (GTM::gtm_transaction::begin_transaction): Set up on-exit handler.
1692 * testsuite/libitm.c/txrelease.c: New file.
1693
16942011-08-12 Torvald Riegel <triegel@redhat.com>
1695
1696 * query.cc (_ITM_getThreadnum): Set up gtm_thread if necessary.
1697 * testsuite/libitm.c/notx.c: New file.
1698
16992011-08-12 Torvald Riegel <triegel@redhat.com>
1700
1701 * config/generic/tls.h (gtm_thread): Move local_tid from here ...
1702 * libitm_i.h (local_tid): ... to here.
1703 * beginend.cc (GTM::gtm_transaction::begin_transaction): Same.
1704 (GTM::gtm_transaction::operator new): Set up gtm_thread if necessary.
1705
17062011-08-12 Torvald Riegel <triegel@redhat.com>
1707
1708 * retry.cc (GTM::gtm_transaction::decide_begin_dispatch): Use
1709 serialirr_onwrite_dispatch as new default for now.
1710 * method-serial.cc (serialirr_onwrite_dispatch): New.
1711 (GTM::dispatch_serialirr_onwrite): New.
1712 * libitm_i.h: Same.
1713
17142011-08-12 Torvald Riegel <triegel@redhat.com>
1715
1716 * beginend.cc (GTM::gtm_transaction::rollback): Roll back tx id as well.
1717 * query.cc (_ITM_getTransactionId): There is no active transaction if
1718 the current nesting level is zero.
1719
17202011-07-28 Torvald Riegel <triegel@redhat.com>
1721
1722 * beginend.cc (GTM::gtm_transaction::rollback): Fix nesting level
1723 rollback.
1724
17252011-07-28 Torvald Riegel <triegel@redhat.com>
1726
1727 * retry.cc (GTM::gtm_transaction::decide_begin_dispatch): Get
1728 transaction properties from the caller instead of from the
1729 transaction object.
1730 * libitm_i.h: Same.
1731 * beginend.cc (GTM::gtm_transaction::begin_transaction): Same.
1732
17332011-07-28 Torvald Riegel <triegel@redhat.com>
1734
1735 * local.cc (gtm_transaction::rollback_local): Support closed nesting.
1736 * eh_cpp.cc (GTM::gtm_transaction::revert_cpp_exceptions): Same.
1737 * dispatch.h: Same.
1738 * method-serial.cc: Same.
1739 * beginend.cc (GTM::gtm_transaction::begin_transaction): Change to
1740 flat nesting as default, and closed nesting on demand.
1741 (GTM::gtm_transaction::rollback): Same.
1742 (_ITM_abortTransaction): Same.
1743 (GTM::gtm_transaction::restart): Same.
1744 (GTM::gtm_transaction::trycommit): Same.
1745 (GTM::gtm_transaction::trycommit_and_finalize): Removed.
1746 (choose_code_path): New.
1747 (GTM::gtm_transaction_cp::save): New.
1748 (GTM::gtm_transaction_cp::commit): New.
1749 * query.cc (_ITM_inTransaction): Support flat nesting.
1750 * libitm_i.h (GTM::gtm_transaction_cp): New helper struct for nesting.
1751 (GTM::gtm_transaction): Support flat and closed nesting.
1752 * alloc.cc (commit_allocations_2): New.
1753 (commit_cb_data): New helper struct.
1754 (GTM::gtm_transaction::commit_allocations): Handle nested
1755 commits/rollbacks.
1756 * libitm.texi: Update user action section, add description of nesting.
1757
17582011-07-28 Torvald Riegel <triegel@redhat.com>
1759
1760 * libitm_i.h: Add closed nesting as restart reason.
1761 * retry.cc (GTM::gtm_transaction::decide_retry_strategy): Same.
1762
17632011-07-28 Torvald Riegel <triegel@redhat.com>
1764
1765 * useraction.cc: Use vector instead of list to store actions.
1766 Also support partial rollbacks for closed nesting.
1767 * libitm_i.h (GTM::gtm_transaction::user_action): Same.
1768 * beginend.cc: Same.
1769
17702011-07-28 Torvald Riegel <triegel@redhat.com>
1771
1772 * dispatch.h (GTM::abi_dispatch): Add can_run_uninstrumented_code and
1773 closed_nesting flags, as well as a closed nesting alternative.
1774 * method-serial.cc: Same.
1775 (serial_dispatch): Renamed to serialirr_dispatch.
1776 (GTM::dispatch_serialirr): Same.
1777 (serial_dispatch_ul): Renamed to serial_dispatch.
1778 (GTM::dispatch_serial): Same.
1779
17802011-07-28 Torvald Riegel <triegel@redhat.com>
1781
1782 * libitm.h (_ITM_codeProperties): Change pr_hasElse to the ABI's value.
1783
17842011-07-28 Torvald Riegel <triegel@redhat.com>
1785
1786 * aatree.h (aa_tree::remove): New.
1787 (aa_tree::operator new): Add placement new.
1788
17892011-07-02 Torvald Riegel <triegel@redhat.com>
1790
1791 * containers.h: New file.
1792 * util.cc (xmalloc, xrealloc): Accept cacheline-alloc flag.
1793 * libitm_i.h (xmalloc, xrealloc): Moved declarations from here ...
1794 * common.h: ... to here.
1795 (local_undo): Use GTM::vector for gtm_transaction::local_undo.
1796 * local.cc: Same.
1797
17982011-06-30 Torvald Riegel <triegel@redhat.com>
1799
1800 * libitm_i.h (STATE_ABORTING): Remove.
1801 * beginend.cc (_ITM_abortTransaction): Same.
1802 (GTM::gtm_transaction::trycommit_and_finalize): Same.
1803 * libitm.h (_ITM_registerThrownObject, _ITM_tryCommitTransaction): Remove.
1804 (_ITM_rollbackTransaction): Remove.
1805 * beginend.cc: Same.
1806 * libitm.map: Same.
1807 * libitm.texi: Document these ABI changes.
1808
18092011-06-30 Torvald Riegel <triegel@redhat.com>
1810
1811 * libitm.texi: New file.
1812 * Makefile.am: Add libitm.texi.
1813 * Makefile.in: Rebuild.
1814
18152011-06-30 Torvald Riegel <triegel@redhat.com>
1816
1817 * libitm_i.h: Move parts to common.h and dispatch.h.
1818 * common.h: New file.
1819 * dispatch.h: New file, new dispatch class.
1820 Rename GTM::abi_dispatch::lock_type to ls_modifier.
1821 RenameGTM::abi_dispatch::NOLOCK to NONTXNAL.
1822 * beginend.cc (GTM::gtm_transaction::begin_transaction): Delegate mode
1823 decision to retry.cc.
1824 * retry.cc (GTM::gtm_transaction::decide_retry_strategy): Use serial mode
1825 only.
1826 (GTM::gtm_transaction::decide_begin_dispatch): Same.
1827 * method-serial.cc: Adapt to new dispatch. Add serial mode with undo
1828 logging.
1829 * barrier.cc: Use new barriers definitions.
1830 (abi_dispatch::memmove_overlap_check): New.
1831 * config/x86/x86_sse.cc: Same.
1832 * config/x86/x86_avx.cc: Same.
1833 * Makefile.am: Don't build readonly and wbetl methods, memset.cc and
1834 memcpy.cc.
1835 * Makefile.in: Rebuild.
1836 * method-readonly.cc: Remove.
1837 * method-wbetl.cc: Rename GTM::abi_dispatch::lock_type to ls_modifier.
1838 Rename GTM::abi_dispatch::NOLOCK to NONTXNAL.
1839
18402011-06-30 Torvald Riegel <triegel@redhat.com>
1841
1842 * alloc_c.cc (_ITM_dropReferences): Don't support it anymore.
1843 * testsuite/libitm.c++/dropref.C: _ITM_dropReferences is expected to fail.
1844 * testsuite/libitm.c/dropref-2.c: Same.
1845 * testsuite/libitm.c/dropref.c: Same.
1846
18472011-06-30 Torvald Riegel <triegel@redhat.com>
1848
1849 * config/generic/tls.h (gtm_disp): Rename to abi_disp.
1850 * config/generic/tls.h (set_gtm_disp): Rename to set_abi_disp.
1851 * libitm_i.h: Rename gtm_dispatch to abi_dispatch.
1852 * alloc_c.cc: Same.
1853 * barrier.tpl: Same.
1854 * beginend.c: Same.
1855 * config/generic/tls.h: Same.
1856 * config/x86/tls.h: Same.
1857 * libitm_i.h: Same.
1858 * memcpy.cc: Same.
1859 * memset.cc: Same.
1860 * method-readonly.cc: Same.
1861 * method-serial.cc: Same.
1862 * method-wbetl.cc: Same.
1863 * retry.cc: Same.
1864
18652011-03-03 Richard Henderson <rth@redhat.com>
1866
1867 * config/posix/rwlock.cc (write_upgrade): Add missing case.
1868 From Patrik Marlier <patrick.marlier@unine.ch>.
1869
18702011-02-03 Richard Henderson <rth@redhat.com>
1871
1872 * acinclude.m4 (LIBITM_CHECK_SIZE_T_MANGLING): New.
1873 * configure.ac: Use it.
1874 * configure, config.h.in: Rebuild.
1875 * alloc_cpp.cc (_ZnwX): Use MANGLE_SIZE_T in constructing the name.
1876 (_ZnaX, _ZnwXRKSt9nothrow_t, _ZnaXRKSt9nothrow_t, _ZGTtnwX,
1877 _ZGTtnaX, _ZGTtnwXRKSt9nothrow_t, _ZGTtnaXRKSt9nothrow_t): Likewise.
1878 * libitm.map: Use wildcards to match size_t mangling.
1879
18802010-12-14 Richard Henderson <rth@redhat.com>
1881
1882 * beginend.cc (GTM::gtm_transaction::begin_transaction): Allocate
1883 blocks of TIDs per thread.
1884 * config/generic/tls.h (struct gtm_thread): Add local_tid member.
1885 (setup_gtm_thr): Return the thread structure.
1886 * config/x86/tls.h (setup_gtm_thr): Likewise.
1887
18882010-12-14 Richard Henderson <rth@redhat.com>
1889
1890 * clone.cc (table_lock): Remove.
1891 (find_clone): Don't take it.
1892 (ExcludeTransaction): New helper class.
1893 (_ITM_registerTMCloneTable): Use it.
1894 (_ITM_deregisterTMCloneTable): Likewise.
1895
18962010-12-14 Richard Henderson <rth@redhat.com>
1897
1898 * config/x86/tls.h: New file.
1899
19002010-07-15 Richard Henderson <rth@redhat.com>
1901
1902 * Makefile.am (AM_CXXFLAGS): Add -funwind-tables.
1903 * Makefile.in: Rebuild.
1904
19052010-07-13 Aldy Hernandez <aldyh@redhat.com>
1906
1907 * method-wbetl.cc (trydropreference): Fix source line.
1908
19092010-07-13 Aldy Hernandez <aldyh@redhat.com>
1910
1911 * libitm.h: Add comment.
1912 * libitm_i.h (begin_transaction): Add ITM_REGPARM.
1913
19142010-07-07 Aldy Hernandez <aldyh@redhat.com>
1915
1916 * configure.ac: Call LIBITM_CHECK_64BIT_SYNC_BUILTINS.
1917 * beginend.cc (begin_transaction): If 64-bit sync builtins are not
1918 available, use pthread mutexes.
1919 * acinclude.m4 (LIBITM_CHECK_64BIT_SYNC_BUILTINS): New.
1920 * config.h.in: Regenerate.
1921 * configure: Regenerate.
1922
19232010-07-06 Aldy Hernandez <aldyh@redhat.com>
1924
1925 * libitm.h (ITM_PURE): Define.
1926 Declare _ITM_malloc, _ITM_calloc, and _ITM_free.
1927
19282010-06-28 Aldy Hernandez <aldyh@redhat.com>
1929
1930 * method-wbetl.cc (class wbetl_dispatch): Add trydropreference.
1931 (validate): Add comment.
1932 (trydropreference): New.
1933 * method-readonly.cc (class readonly_dispatch): Add
1934 trydropreference.
1935 * alloc_c.cc (_ITM_dropReferences): Remove const attribute.
1936 Call trydropreference().
1937 * libitm.h (_ITM_dropReferences): Remove const attribute.
1938 * method-serial.cc (class serial_dispatch): Add trydropreference.
1939 * libitm_i.h (struct gtm_dispatch): Add trydropreference.
1940
19412010-06-28 Aldy Hernandez <aldyh@redhat.com>
1942
1943 * memcpy.cc (do_memcpy): Comment.
1944
19452010-06-25 Aldy Hernandez <aldyh@redhat.com>
1946
1947 * barrier.tpl: Add comments throughout.
1948
19492010-06-24 Aldy Hernandez <aldyh@redhat.com>
1950
1951 * method-wbetl.cc (struct w_entry): Add comments.
1952 (trycommit): Same.
1953 (rollback): Same.
1954
19552010-06-24 Aldy Hernandez <aldyh@redhat.com>
1956
1957 * alloc_c.cc (_ITM_dropReferences): New.
1958 * libitm.map (_ITM_dropReferences): Add.
1959 * libitm.h (_ITM_dropReferences): Add transaction_pure attribute.
1960 * libitm_i.h (struct gtm_transaction): Declare
1961 drop_references_allocations and drop_references_local.
1962 * local.cc (rollback_local): Ignore memory when applicable.
1963 (drop_references_local): New.
1964
19652010-06-23 Richard Henderson <rth@redhat.com>
1966
1967 * barrier.tpl, beginend.cc, clone.cc, tls.h, memcpy.cc,
1968 memset.cc, method-serial.cc: Revert the 2010-06-16 change.
1969 * config/x86/target.h (struct gtm_jmpbuf): Change CFA type to void*.
1970 * config/alpha/target.h: Likewise.
1971 * config/generic/tls.cc (gtm_mask_stack): Use it.
1972
19732010-06-23 Richard Henderson <rth@redhat.com>
1974
1975 * config/posix/cachepage.cc (gtm_cacheline_page::operator new): Use
1976 a mutex instead of trying a lock-free compare-and-swap on the list.
1977 (gtm_cacheline_page::operator delete): Likewise.
1978
19792010-06-16 Richard Henderson <rth@redhat.com>
1980
1981 * method-wbetl.cc (wbetl_dispatch::trycommit): Discard changes
1982 that overlap the libitm stack.
1983 * barrier.tpl: Mark incoming stack.
1984 * beginend.cc (_ITM_rollbackTransaction, _ITM_abortTransaction,
1985 _ITM_commitTransaction, _ITM_commitTransactionEH): Likewise.
1986 * clone.cc (_ITM_getTMCloneOrIrrevocable): Likewise.
1987 * memcpy.cc, memset.cc: Likewise.
1988 * method-serial.cc (_ITM_changeTransactionMode): Likewise.
1989 * config/generic/tls.h (gtm_thread): Add stack_top member.
1990 (gtm_stack_top, set_gtm_stack_top, struct gtm_stack_marker): New.
1991 * libitm_i.h (gtm_mask_stack): Declare.
1992 * config/generic/tls.cc: New file.
1993 * Makefile.am (libitm_la_SOURCES): Add it.
1994 (AM_CXXFLAGS): Turn off exceptions.
1995 * Makefile.in: Rebuild.
1996
19972010-06-16 Richard Henderson <rth@redhat.com>
1998
1999 * alloc.cc (struct gtm_alloc_action): Move definition ...
2000 * libitm_i.h: ... here.
2001 (class gtm_transaction): Declare new and delete.
2002 * beginend.cc (alloc_tx): Reformulate as operator new.
2003 (free_tx): Reformulate as operator delete.
2004 * config/generic/tls.h (gtm_thread): Change free_tx member to void *.
2005
20062010-06-11 Richard Henderson <rth@redhat.com>
2007
2008 * clone.cc (clone_entry_compare): Fix typo.
2009 From Patrik Marlier <patrick.marlier@unine.ch>.
2010
20112010-05-13 Richard Henderson <rth@redhat.com>
2012
2013 * alloc_c.cc (_ITM_malloc, _ITM_calloc, _ITM_free): Wrap functions
2014 in extern "C".
2015
20162010-05-07 Aldy Hernandez <aldyh@redhat.com>
2017
2018 * libitm_i.h (struct gtm_transaction): Remove
2019 get_allocation_size.
2020 (record_allocation): Remove size parameter.
2021 * libitm.map (_ITM_realloc): Remove.
2022 * alloc_c.cc (_ITM_realloc): Remove.
2023 (_ITM_malloc): Remove size argument to record_allocation.
2024 (_ITM_calloc): Same.
2025 * alloc_cpp.cc (_ZGTtnwm): Same.
2026 (_ZGTtnwmRKSt9nothrow_t): Same.
2027 (_ZGTtnam): Same.
2028 (_ZGTtnamRKSt9nothrow_t): Same.
2029 * alloc.cc (struct gtm_alloc_action): Remove size.
2030 (get_allocation_size): Remove.
2031 (commit_allocations): Add comment.
2032 (record_allocation): Remove size parameter.
2033 (forget_allocation): Remove set of size.
2034
20352010-04-19 Aldy Hernandez <aldyh@redhat.com>
2036
2037 * Makefile.am (abi_version): New.
2038 (AM_CXXFLAGS): Pass abi_version.
2039 * Makefile.in: Regenerate.
2040 * config/x86/unaligned.h: Remove always_inline kludge for vectors.
2041
20422010-04-06 Aldy Hernandez <aldyh@redhat.com>
2043
2044 * clone.cc (_ITM_getTMCloneOrIrrevocable): Rename from
2045 _ITM_getTMCloneOrIrrevokable.
2046 * libitm.h (_ITM_getTMCloneOrIrrevocable): Same.
2047 * libitm.map (_ITM_getTMCloneOrIrrevocable): Same.
2048
20492010-03-26 Aldy Hernandez <aldyh@redhat.com>
2050
2051 * configure.ac: Remove Linux futex support.
2052 * configure.tgt (config_path): Same.
2053 * Makefile.am: Same.
2054 * config/linux: Remove entire directory.
2055 * configure: Rebuild.
2056 * Makefile.in: Rebuild.
2057 * testsuite/Makefile.in: Rebuild.
2058
20592010-03-09 Aldy Hernandez <aldyh@redhat.com>
2060
2061 * retry.cc (decide_retry_strategy): Set state to STATE_SERIAL when
2062 switching to serial mode.
2063 * beginend.cc (trycommit_and_finalize): Unlock serial_lock.
2064
20652010-03-03 Aldy Hernandez <aldyh@redhat.com>
2066
2067 * configure.tgt: Add emacs -*- tags.
2068 * barrier.tpl: Same.
2069
20702010-02-23 Aldy Hernandez <aldyh@redhat.com>
2071
2072 * Makefile.am: Rename serial.cc to method-serial.cc.
2073 * Makefile.in: Regenerate with automake 1.11.1.
2074 * testsuite/Makefile.in: Same.
2075 * aclocal.m4: Regenerate with aclocal 1.11.1.
2076 * method-serial.cc: Rename from serial.cc.
2077 * libitm_i.h (struct gtm_transaction): Update comment on
2078 serialirr_mode.
2079
20802010-02-22 Aldy Hernandez <aldyh@redhat.com>
2081
2082 * libitm_i.h (GTM_longjmp): Add ITM_REGPARM.
2083 * config/linux/rwlock.h (class gtm_rwlock): Add comments.
2084
20852010-02-11 Aldy Hernandez <aldyh@redhat.com>
2086
2087 * configure: Rebuild.
2088
20892009-11-12 Richard Henderson <rth@redhat.com>
2090
2091 * Rewrite everything in C++.
2092
20932009-11-03 Richard Henderson <rth@redhat.com>
2094
2095 * config/x86/x86_sse.c, config/x86/x86_avx.c: New files.
2096 * Makefile.am (libitm_la_SOURCES): Add them.
2097 * configure.ac (ARCH_X86): New conditional.
2098 * Makefile.in, configure: Rebuild.
2099 * configure.tgt: Set up ARCH; do cflags setup at the same time.
2100 Move futex setup into "other system configury" case.
2101 * local.c (rollback_local): Merge into ...
2102 (GTM_rollback_local): ... here.
2103 (GTM_LB): Rename from GTM_alloc_local; do the memcpy here.
2104 (_ITM_LB): Define as an alias to GTM_LB.
2105
21062009-11-03 Richard Henderson <rth@redhat.com>
2107
2108 * method-readonly.c: New file.
2109 * Makefile.am (libitm_la_SOURCES): Add it.
2110 * Makefile.in: Rebuild.
2111 * beginend.c (gtm_stmlock_array, gtm_clock): New.
2112 (GTM_begin_transaction): Use dispatch_readonly for read-only txn.
2113 * libitm_i.h (gtm_stmlock, gtm_version): Move from method-wbetl.c.
2114 (GTM_VERSION_MAX, GTM_VERSION_INVALID, gtm_stmlock_owned_p,
2115 gtm_stmlock_set_owned, gtm_stmlock_get_addr,
2116 gtm_stmlock_get_version, gtm_stmlock_set_version, LOCK_ARRAY_SIZE,
2117 gtm_stmlock_array, gtm_get_stmlock, gtm_clock, RESTART_NOT_READONLY,
2118 gtm_get_clock, gtm_inc_clock): New.
2119 * method-wbetl.c (gtm_version, gtm_stmlock, OWNED_MASK, VERSION_MAX,
2120 LOCK_GET_OWNED, LOCK_SET_ADDR, LOCK_GET_ADDR, LOCK_GET_TIMESTAMP,
2121 LOCK_SET_TIMESTAMP, LOCK_ARRAY_SIZE, LOCK_MASK, LOCK_IDX, GET_LOCK,
2122 locks, gclock, CLOCK, GET_CLOCK, FETCH_AND_INC_CLOCK): Remove and
2123 replace uses with new libitm_i.h symbols.
2124 (dispatch_wbetl): Rename from wbetl_dispatch.
2125 * retry.c (GTM_decide_retry_strategy): If RESTART_NOT_READONLY, move
2126 away from dispatch_readonly; abort if the beginTransaction call
2127 asserted that the transaction was readonly.
2128
21292009-11-03 Richard Henderson <rth@redhat.com>
2130
2131 * memset.c: New file.
2132 * Makefile.am (libitm_la_SOURCES): Add it.
2133 * Makefile.in: Rebuild.
2134 * testsuite/libitm.c/memset-1.c: New.
2135
21362009-11-03 Richard Henderson <rth@redhat.com>
2137
2138 * dispatch.c: Remove file.
2139 * useraction.c (struct gtm_user_action): Move from libitm.h.
2140 * serial.c (GTM_null_read_lock, GTM_null_write_lock): New.
2141 (serial_memset, serial_memmove, serial_memcpy): Remove.
2142 (serial_W*, serial_R*): Remove.
2143 (serial_dispatch): Update to match.
2144 * configure.ac: Move Werror down below configure checks. Don't
2145 check for sys/loadavg.h, do check for malloc.h. Don't check for
2146 getloadavg and clock_gettime; do check for memalign, posix_memalign.
2147 Use GCC_AC_FUNC_MMAP_BLACKLIST
2148 * libitm.h: Split out all internal items to...
2149 * libitm_i.h: ... here. New file.
2150 * copymask.c: New file.
2151 * local.c (struct gtm_local_undo): Move from libitm.h.
2152 (GTM_alloc_local): Rename from alloc_local; export.
2153 * memcpy.c: New file.
2154 * alloc_c.c (_ITM_realloc): Use _ITM_memcpyRnWt directly.
2155 * config/posix/page.c: New file.
2156 * config/posix/target_tls.h: Remove file.
2157 * barrier.c: New file.
2158 * Makefile.am (libitm_la_SOURCES): Add barrier.c, memcpy.c,
2159 copymask.c, page.c.
2160 * alloc.c (struct gtm_alloc_action): Move from libitm.h.
2161 * method-wbetl.c: Rewrite for new cacheline methods.
2162 * Makefile.in, configure, testsuite/Makefile.in, config.h.in: Rebuild.
2163
2164 * config/alpha/sjlj.S: Fix typo.
2165 * config/alpha/target_i.h: Copy functions from alpha/target.h.
2166 * config/alpha/copymask.c: New file.
2167 * config/alpha/target.h (CACHELINE_SIZE): New.
2168 (STRICT_ALIGNMENT, PAGE_SIZE, FIXED_PAGE_SIZE): New.
2169
2170 * config/x86/target_i.h: Copy functions from x86/target.h.
2171 * config/x86/copymask.c: New file.
2172 * config/x86/target.h (_ITM_ALL_TARGET_TYPES): Remove.
2173 (CACHELINE_SIZE, STRICT_ALIGNMENT): New.
2174 (PAGE_SIZE, FIXED_PAGE_SIZE): New.
2175 * config/x86/target_tls.h: Move contents to target_i.h.
2176
2177 * testsuite/libitm.c/clone-1.c: Include libitm.h.
2178 * testsuite/libitm.c/memcpy-1.c: New.
2179
21802009-10-22 Richard Henderson <rth@redhat.com>
2181
2182 * Makefile.am (CCAS, CCASFLAGS, LTCCASCOMPILE): Remove.
2183 (AM_CCASFLAGS): New.
2184 * configure.ac: Add AM_PROG_AS. Use m4_rename_force for
2185 saving/restoring _AC_ARG_VAR_PRECIOUS.
2186 * Makefile.in, aclocal.m4, config.h.in, configure,
2187 testsuite/Makefile.in: Rebuild with automake 1.11; autoconf 2.64.
2188
21892009-10-22 Richard Henderson <rth@redhat.com>
2190
2191 * testsuite/*: Update for new compiler syntax.
2192
21932009-10-21 Richard Henderson <rth@redhat.com>
2194
2195 * libitm.h (_ITM_abortReason): Add outerAbort.
2196
21972009-08-03 Richard Henderson <rth@redhat.com>
2198
2199 * libitm.map (_ITM_commitTransactionEH, _ITM_cxa_allocate_exception,
2200 _ITM_cxa_begin_catch, _ITM_cxa_end_catch, _ITM_cxa_throw): Export.
2201 * method-wbetl.c (struct w_entry): Remove mask.
2202 (wbetl_write, wbetl_load): Return pointer to word containing the data;
2203 adjust all callers.
2204
22052009-07-22 Richard Henderson <rth@redhat.com>
2206
2207 * eh_cpp.c: New file.
2208 * Makefile.am (libitm_la_SOURCES): Add it.
2209 * Makefile.in: Rebuild.
2210 * beginend.c (GTM_rollback_transaction): Undo exception state.
2211 (GTM_trycommit_transaction): Mark inline.
2212 (GTM_trycommit_and_finalize_transaction): Split out from ...
2213 (_ITM_commitTransaction): ... here.
2214 (_ITM_commitTransactionEH): New function.
2215 * libitm.h (struct gtm_transaction): Add cxa_catch_count,
2216 cxa_unthrown, eh_in_flight; reorder.
2217
2218 * testsuite/libitm.c++/c++.exp: New.
2219 * testsuite/libitm.c++/eh-1.C: New.
2220
2221 * aatree.c (aa_free): Remove REGPARM.
2222 * aatree.h: Remove all REGPARM.
2223
22242009-07-18 Richard Henderson <rth@redhat.com>
2225
2226 * aatree.c, aatree.h, alloc.c, alloc_c.c, alloc_cpp.c: New files.
2227 * Makefile.am (libitm_la_SOURCES): Add them.
2228 * Makefile.in: Rebuild.
2229 * beginend.c (GTM_rollback_transaction): Use GTM_commit_allocations.
2230 (GTM_trycommit_transaction): Likewise.
2231 * libitm.h: Include aatree.h
2232 (struct gtm_alloc_action): New.
2233 (struct gtm_transaction): Add alloc_actions.
2234 (GTM_record_allocation, GTM_forget_allocation): Declare.
2235 (GTM_get_allocation_size, GTM_commit_allocations): Declare.
2236 * libitm.map (_ITM_malloc, _ITM_calloc, _ITM_realloc, _ITM_free,
2237 _ZGTtnwm, _ZGTtnam, _ZGTtdlPv, _ZGTtdaPv, _ZGTtnwmRKSt9nothrow_t,
2238 _ZGTtnamRKSt9nothrow_t, _ZGTtdlPvRKSt9nothrow_t,
2239 _ZGTtdaPvRKSt9nothrow_t): Export.
2240
22412009-07-18 Richard Henderson <rth@redhat.com>
2242
2243 * target_tls.h: Move ...
2244 * config/posix/target_tls.h: ... here.
2245
22462009-07-07 Richard Henderson <rth@redhat.com>
2247
2248 * config/x86/target.h (atomic_write_barrier): Use sfence if available.
2249
22502009-07-07 Richard Henderson <rth@redhat.com>
2251
2252 * Update to GPL3.
2253
22542009-07-07 Richard Henderson <rth@redhat.com>
2255
2256 * libitm.h (struct gtm_transaction): Widen id to _ITM_transactionId_t.
2257 * beginend.c (global_tid): Widen to _ITM_transactionId_t.
2258
2259 * configure.tgt: Don't use -ftls-model for x86 linux.
2260 * libitm.h: Include target.h after standard includes.
2261 (_gtm_thr): Rename from gtm_thr.
2262 (setup_gtm_thr, gtm_thr, gtm_tx, set_gtm_tx): New.
2263 (gtm_disp, set_gtm_disp): New.
2264 * beginend.c, dispatch.c, local.c, method-wbetl.c, query.c,
2265 retry.c, serial.c, useraction.c: Use accessor functions throughout.
2266 * config/alpha/target_tls.h, config/x86/target_tls.h: New files.
2267
22682009-07-07 Richard Henderson <rth@redhat.com>
2269
2270 * config/linux/rwlock.c (EZ): New define. Use it throughout.
2271
22722009-07-06 Richard Henderson <rth@redhat.com>
2273
2274 * libitm.h (_ITM_SRCLOCATION_DECL_1, _ITM_SRCLOCATION_DECL_2): Remove.
2275 (_ITM_SRCLOCATION_DEFN_1, _ITM_SRCLOCATION_DEFN_2): Remove.
2276 (_ITM_beginTransaction): Take variadic arguments.
2277 (_ITM_registerThrownObject): Declare.
2278 * beginend.c, serial.c: Update.
2279 * libitm.map: Add _ITM_registerThrownObject.
2280
22812009-01-28 Richard Henderson <rth@redhat.com>
2282
2283 * Makefile.am (libitm_la_SOURCES): Add clone.c.
2284 * Makefile.in: Rebuild.
2285 * beginend.c (_ITM_abortTransaction): Abort if irrevokable.
2286 (GTM_restart_transaction): Fix uninstrumented code check.
2287 * retry.c (GTM_decide_retry_strategy): Add serial check.
2288 * serial.c (GTM_serialmode): Add irrevokable variable. Don't
2289 automatically go irrevokable when in serial mode.
2290 * clone.c: New file.
2291 * libitm.h, libitm.map: Update.
2292
22932009-01-27 Richard Henderson <rth@redhat.com>
2294
2295 * Makefile.am (LTCCASCOMPILE): Define.
2296 (libitm_la_SOURCES): Add methid-wbetl.c.
2297 * testsuite/Makefile.am: New
2298 * configure.ac: Add testsuite/Makefile.
2299 * Makefile.in, testsuite/Makefile.in, configure: Regenerate.
2300 * beginend.c (GTM_begin_transaction): Install wbetl_dispatch.
2301 (_ITM_abortTransaction): Finalize implementation method; pass
2302 transaction properties to longjmp.
2303 (GTM_restart_transaction): Split out from ...
2304 (_ITM_commitTransaction): ... here.
2305 * config/linux/x86/futex_bits.h (cpu_relax, atomic_write_barrier):
2306 Move to config/x86/target.h.
2307 * config/linux/alpha/futex_bits.h: New.
2308 * config/x86/sjlj.S (GTM_longjmp): Fix 64-bit input register.
2309 * config/x86/target.h: Disable target types for 32-bit.
2310 * config/alpha/sjlj.S, config/alpha/target.h: New.
2311 * libitm.h (struct gtm_dispatch): Add init, fini.
2312 (enum restart_reason): New.
2313 (struct gtm_transaction): Add method and restarts.
2314 * retry.c (GTM_decide_retry_strategy): Implement.
2315 * serial.c (serial_init, serial_fini): New.
2316 (GTM_serialmode): Finialize outgoing method.
2317 * method-wbetl.c: New.
2318
23192008-12-09 Richard Henderson <rth@redhat.com>
2320
2321 * config/x86/target.h (_ITM_ALL_TARGET_TYPES, _ITM_TYPE_ATTR): New.
2322 * configure.tgt (i386-*, x86_64-*): Don't force SSE.
2323 * dispatch.c (_ITM_##R##T, _ITM_##W##T): Use _ITM_TYPE_ATTR.
2324 * libitm.h (_ITM_ALL_TARGET_TYPES, _ITM_TYPE_ATTR): Provide default.
2325 (_ITM_TYPE_M64, _ITM_TYPE_M128, _ITM_TYPE_M256): Move to x86 header.
2326 (_ITM_ALL_TYPES): Use _ITM_ALL_TARGET_TYPES.
2327 * local.c (_ITM_L##T): Use _ITM_TYPE_ATTR.
2328 * serial.c (serial_R##T, serial_W##T): Likewise.
2329
23302008-11-21 Richard Henderson <rth@redhat.com>
2331
2332 * Initial commit.
21fa2a29 2333\f
877e3c2a 2334Copyright (C) 2008-2022 Free Software Foundation, Inc.
21fa2a29
JJ
2335
2336Copying and distribution of this file, with or without modification,
2337are permitted in any medium without royalty provided the copyright
2338notice and this notice are preserved.