]> git.ipfire.org Git - thirdparty/gcc.git/blame - libitm/ChangeLog
changelog: Fix extra space after tab.
[thirdparty/gcc.git] / libitm / ChangeLog
CommitLineData
83d400bd
GA
12022-11-14 Martin Liska <mliska@suse.cz>
2
3 Revert:
4 2022-11-14 Martin Liska <mliska@suse.cz>
5
6 * doc/c-c++-language-constructs-for-tm.rst: New file.
7 * doc/conf.py: New file.
8 * doc/copyright.rst: New file.
9 * doc/enabling-libitm.rst: New file.
10 * doc/gnu-free-documentation-license.rst: New file.
11 * doc/index.rst: New file.
12 * doc/indices-and-tables.rst: New file.
13 * doc/internals.rst: New file.
14 * doc/locking-conventions.rst: New file.
15 * doc/nesting-flat-vs-closed.rst: New file.
16 * doc/the-libitm-abi.rst: New file.
17 * doc/the-libitm-abi/function-list.rst: New file.
18 * doc/the-libitm-abi/future-enhancements-to-the-abi.rst: New file.
19 * doc/the-libitm-abi/library-design-principles.rst: New file.
20 * doc/the-libitm-abi/memory-model.rst: New file.
21 * doc/the-libitm-abi/non-objectives.rst: New file.
22 * doc/the-libitm-abi/objectives.rst: New file.
23 * doc/the-libitm-abi/sample-code.rst: New file.
24 * doc/the-libitm-abi/types-and-macros-list.rst: New file.
25 * doc/tm-methods-and-method-groups.rst: New file.
26
272022-11-14 Martin Liska <mliska@suse.cz>
28
29 Revert:
30 2022-11-14 Martin Liska <mliska@suse.cz>
31
32 * Makefile.in: Support Sphinx based documentation.
33
342022-11-14 Martin Liska <mliska@suse.cz>
35
36 Revert:
37 2022-11-14 Martin Liska <mliska@suse.cz>
38
39 * libitm.texi: Removed.
40
412022-11-14 Martin Liska <mliska@suse.cz>
42
43 Revert:
44 2022-11-14 Martin Liska <mliska@suse.cz>
45
46 * Makefile.in: Support --with-sphinx-build.
47 * configure.ac: Likewise.
48 * configure: Regenerate.
49
502022-11-14 Martin Liska <mliska@suse.cz>
51
52 Revert:
53 2022-11-14 Martin Liska <mliska@suse.cz>
54
55 * Makefile.in: Build info pages conditionally.
56
572022-11-14 Martin Liska <mliska@suse.cz>
58
59 Revert:
60 2022-11-14 Martin Liska <mliska@suse.cz>
61
62 * doc/c-c++-language-constructs-for-tm.rst:
3d3b561f 63 Add trailing newline.
83d400bd 64 * doc/copyright.rst:
3d3b561f 65 Add trailing newline.
83d400bd 66 * doc/enabling-libitm.rst:
3d3b561f 67 Add trailing newline.
83d400bd 68 * doc/gnu-free-documentation-license.rst:
3d3b561f 69 Add trailing newline.
83d400bd 70 * doc/index.rst:
3d3b561f 71 Add trailing newline.
83d400bd 72 * doc/indices-and-tables.rst:
3d3b561f 73 Add trailing newline.
83d400bd 74 * doc/internals.rst:
3d3b561f 75 Add trailing newline.
83d400bd 76 * doc/locking-conventions.rst:
3d3b561f 77 Add trailing newline.
83d400bd 78 * doc/nesting-flat-vs-closed.rst:
3d3b561f 79 Add trailing newline.
83d400bd 80 * doc/the-libitm-abi.rst:
3d3b561f 81 Add trailing newline.
83d400bd 82 * doc/the-libitm-abi/function-list.rst:
3d3b561f 83 Add trailing newline.
83d400bd 84 * doc/the-libitm-abi/future-enhancements-to-the-abi.rst:
3d3b561f 85 Add trailing newline.
83d400bd 86 * doc/the-libitm-abi/library-design-principles.rst:
3d3b561f 87 Add trailing newline.
83d400bd 88 * doc/the-libitm-abi/memory-model.rst:
3d3b561f 89 Add trailing newline.
83d400bd 90 * doc/the-libitm-abi/non-objectives.rst:
3d3b561f 91 Add trailing newline.
83d400bd 92 * doc/the-libitm-abi/objectives.rst:
3d3b561f 93 Add trailing newline.
83d400bd 94 * doc/the-libitm-abi/sample-code.rst:
3d3b561f 95 Add trailing newline.
83d400bd 96 * doc/the-libitm-abi/types-and-macros-list.rst:
3d3b561f 97 Add trailing newline.
83d400bd 98 * doc/tm-methods-and-method-groups.rst:
3d3b561f 99 Add trailing newline.
83d400bd
GA
100
1012022-11-14 Martin Liska <mliska@suse.cz>
102
103 Revert:
104 2022-11-14 Martin Liska <mliska@suse.cz>
105
106 * Makefile.in: Add missing HAS_SPHINX_BUILD.
107
1082022-11-14 Martin Liska <mliska@suse.cz>
109
110 Revert:
111 2022-11-14 Martin Liska <mliska@suse.cz>
112
113 * doc/conf.py: Add newline at last line.
114
1152022-11-14 Martin Liska <mliska@suse.cz>
116
117 Revert:
118 2022-11-14 Martin Liska <mliska@suse.cz>
119
120 PR other/107620
121 * configure: Regenerate.
122 * configure.ac: Always set sphinx-build.
123
eefbfbc7
GA
1242022-11-13 Martin Liska <mliska@suse.cz>
125
126 PR other/107620
127 * configure: Regenerate.
128 * configure.ac: Always set sphinx-build.
129
f225b813
GA
1302022-11-10 Martin Liska <mliska@suse.cz>
131
132 * doc/conf.py: Add newline at last line.
133
1cdfd0e5
GA
1342022-11-09 Martin Liska <mliska@suse.cz>
135
136 * Makefile.in: Add missing HAS_SPHINX_BUILD.
137
1382022-11-09 Martin Liska <mliska@suse.cz>
139
140 * doc/c-c++-language-constructs-for-tm.rst:
3d3b561f 141 Add trailing newline.
1cdfd0e5 142 * doc/copyright.rst:
3d3b561f 143 Add trailing newline.
1cdfd0e5 144 * doc/enabling-libitm.rst:
3d3b561f 145 Add trailing newline.
1cdfd0e5 146 * doc/gnu-free-documentation-license.rst:
3d3b561f 147 Add trailing newline.
1cdfd0e5 148 * doc/index.rst:
3d3b561f 149 Add trailing newline.
1cdfd0e5 150 * doc/indices-and-tables.rst:
3d3b561f 151 Add trailing newline.
1cdfd0e5 152 * doc/internals.rst:
3d3b561f 153 Add trailing newline.
1cdfd0e5 154 * doc/locking-conventions.rst:
3d3b561f 155 Add trailing newline.
1cdfd0e5 156 * doc/nesting-flat-vs-closed.rst:
3d3b561f 157 Add trailing newline.
1cdfd0e5 158 * doc/the-libitm-abi.rst:
3d3b561f 159 Add trailing newline.
1cdfd0e5 160 * doc/the-libitm-abi/function-list.rst:
3d3b561f 161 Add trailing newline.
1cdfd0e5 162 * doc/the-libitm-abi/future-enhancements-to-the-abi.rst:
3d3b561f 163 Add trailing newline.
1cdfd0e5 164 * doc/the-libitm-abi/library-design-principles.rst:
3d3b561f 165 Add trailing newline.
1cdfd0e5 166 * doc/the-libitm-abi/memory-model.rst:
3d3b561f 167 Add trailing newline.
1cdfd0e5 168 * doc/the-libitm-abi/non-objectives.rst:
3d3b561f 169 Add trailing newline.
1cdfd0e5 170 * doc/the-libitm-abi/objectives.rst:
3d3b561f 171 Add trailing newline.
1cdfd0e5 172 * doc/the-libitm-abi/sample-code.rst:
3d3b561f 173 Add trailing newline.
1cdfd0e5 174 * doc/the-libitm-abi/types-and-macros-list.rst:
3d3b561f 175 Add trailing newline.
1cdfd0e5 176 * doc/tm-methods-and-method-groups.rst:
3d3b561f 177 Add trailing newline.
1cdfd0e5
GA
178
1792022-11-09 Martin Liska <mliska@suse.cz>
180
181 * Makefile.in: Build info pages conditionally.
182
1832022-11-09 Martin Liska <mliska@suse.cz>
184
185 * Makefile.in: Support --with-sphinx-build.
186 * configure.ac: Likewise.
187 * configure: Regenerate.
188
1892022-11-09 Martin Liska <mliska@suse.cz>
190
191 * libitm.texi: Removed.
192
1932022-11-09 Martin Liska <mliska@suse.cz>
194
195 * Makefile.in: Support Sphinx based documentation.
196
1972022-11-09 Martin Liska <mliska@suse.cz>
198
199 * doc/c-c++-language-constructs-for-tm.rst: New file.
200 * doc/conf.py: New file.
201 * doc/copyright.rst: New file.
202 * doc/enabling-libitm.rst: New file.
203 * doc/gnu-free-documentation-license.rst: New file.
204 * doc/index.rst: New file.
205 * doc/indices-and-tables.rst: New file.
206 * doc/internals.rst: New file.
207 * doc/locking-conventions.rst: New file.
208 * doc/nesting-flat-vs-closed.rst: New file.
209 * doc/the-libitm-abi.rst: New file.
210 * doc/the-libitm-abi/function-list.rst: New file.
211 * doc/the-libitm-abi/future-enhancements-to-the-abi.rst: New file.
212 * doc/the-libitm-abi/library-design-principles.rst: New file.
213 * doc/the-libitm-abi/memory-model.rst: New file.
214 * doc/the-libitm-abi/non-objectives.rst: New file.
215 * doc/the-libitm-abi/objectives.rst: New file.
216 * doc/the-libitm-abi/sample-code.rst: New file.
217 * doc/the-libitm-abi/types-and-macros-list.rst: New file.
218 * doc/tm-methods-and-method-groups.rst: New file.
219
9a8b868d
GA
2202022-10-31 Xiongchuan Tan <xc-tan@outlook.com>
221
222 * configure.tgt: Add riscv support.
223 * config/riscv/asm.h: New file.
224 * config/riscv/sjlj.S: New file.
225 * config/riscv/target.h: New file.
226
621a911d
GA
2272022-10-13 Lulu Cheng <chenglulu@loongson.cn>
228
229 * config/loongarch/sjlj.S: Add a soft floating point condition to the
230 register recovery part of the code.
231
781f477a
GA
2322022-10-12 Martin Liska <mliska@suse.cz>
233
234 * configure: Regenerate.
235
ab332cd7
GA
2362022-10-11 Olivier Hainque <hainque@adacore.com>
237 Olivier Hainque <hainque@adacore.com>
238
239 * configure: Regenerate.
240
9e79a25b
GA
2412022-09-28 Lulu Cheng <chenglulu@loongson.cn>
242 Yang Yujie <yangyujie@loongson.cn>
243
244 * configure.tgt: Add loongarch support.
245 * config/loongarch/asm.h: New file.
246 * config/loongarch/sjlj.S: New file.
247 * config/loongarch/target.h: New file.
248
542c60c4
GA
2492022-08-31 Martin Liska <mliska@suse.cz>
250
251 * configure: Regenerate.
252
2532022-08-31 Martin Liska <mliska@suse.cz>
254
255 * configure: Regenerate.
256
b168441c
GA
2572022-06-02 David Malcolm <dmalcolm@redhat.com>
258
259 * testsuite/lib/libitm.exp: Add load_gcc_lib of scansarif.exp.
260
682ede39
GA
2612022-02-03 David Seifert <soap@gentoo.org>
262 Jakub Jelinek <jakub@redhat.com>
263
264 * configure.ac: Support --disable-werror.
265 * configure: Regenerate.
266
1bb52662
GA
2672022-01-31 Martin Liska <mliska@suse.cz>
268
269 * acinclude.m4: Detect *_ld_is_mold and use it.
270 * configure: Regenerate.
271
a4ae8c37
GA
2722022-01-03 Jakub Jelinek <jakub@redhat.com>
273
274 * libitm.texi: Bump @copying's copyright year.
275
f4ed2e3a
GA
2762021-11-26 Iain Sandoe <iain@sandoe.co.uk>
277
278 * eh_cpp.cc (GTM::gtm_thread::init_cpp_exceptions): If the
279 target does not support HAVE_ELF_STYLE_WEAKREF then do not
280 try to test the __cxa_get_globals against NULL.
281
688359a2
GA
2822021-06-17 Jonathan Wakely <jwakely@redhat.com>
283
284 PR libstdc++/91488
285 * testsuite/libitm.c++/libstdc++-pr91488.C: New test.
286
2f7f0d32
GA
2872021-01-15 Jakub Jelinek <jakub@redhat.com>
288
289 PR target/70454
290 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
291 be added through preprocessor check on
292 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
293
651b8a50
GA
2942021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
295
296 * configure: Re-generate.
297
b6dd195a
GA
2982021-01-01 Jakub Jelinek <jakub@redhat.com>
299
300 * libitm.texi: Bump @copying's copyright year.
301
6e1edf48
GA
3022020-12-05 Iain Sandoe <iain@sandoe.co.uk>
303
304 PR target/97865
305 * configure.tgt: Add dynamic_lookup to XLDFLAGS for Darwin.
306 * configure: Regenerate.
307
a9625c50
GA
3082020-11-29 John David Anglin <danglin@gcc.gnu.org>
309
310 * configure: Regenerate.
311
6c2675fa
GA
3122020-10-01 Alan Modra <amodra@gmail.com>
313
314 * config/powerpc/sjlj.S: Support __PCREL__ code.
315
53256ee3
GA
3162020-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
317
318 * config/aarch64/sjlj.S: Add conditional pac-ret protection.
319
3f8ca9cb
GA
3202020-07-09 Szabolcs Nagy <szabolcs.nagy@arm.com>
321
322 * config/aarch64/sjlj.S: Add BTI marking and related definitions,
323 and add BTI c to function entries.
324
3252020-07-09 Szabolcs Nagy <szabolcs.nagy@arm.com>
326
327 * config/aarch64/sjlj.S: Add stack note if __FreeBSD__ is defined.
328
885ef72f
GA
3292020-05-29 H.J. Lu <hjl.tools@gmail.com>
330
331 PR bootstrap/95413
332 * configure: Regenerated.
333
4c1a5d8b
L
3342020-05-15 H.J. Lu <hongjiu.lu@intel.com>
335
336 PR bootstrap/95147
337 * configure: Regenerated.
338
8d286dd1
L
3392020-05-14 H.J. Lu <hongjiu.lu@intel.com>
340
341 * configure: Regenerated.
342
f0de5d83
NS
3432020-05-12 Nathan Sidwell <nathan@acm.org>
344
345 Fix throw specifiers on interface.
346 * libitm/libitm.h (_ITM_NOTHROW): Define.
347 (_ITM_cxa_allocate_exception, _ITM_cxa_free_exception)
348 (_ITM_cxa_begin_catch): Use it.
349 * eh_cpp.cc: Add throw() to __cxa_allocate_exception,
350 __cxa_free_exception, __cxa_begin_catch, __cxa_tm_cleanup,
351 __cxa_get_globals.
352 (_ITM_cxa_allocate_exception, _ITM_cxa_free_exception)
353 (_ITM_cxa_begin_catch): Likewise.
354
1136ba01
NS
3552020-05-05 Nathan Sidwell <nathan@acm.org>
356
357 * testsuite/lib/libitm.exp (libitm_init): Add
358 -fdiagnostics-color=never to options.
359
02ce382c
SL
3602020-02-12 Sandra Loosemore <sandra@codesourcery.com>
361
362 PR libstdc++/79193
363 PR libstdc++/88999
364
365 * configure: Regenerated.
366
e8e66971
MR
3672020-01-24 Maciej W. Rozycki <macro@wdc.com>
368
369 * configure.ac: Handle `--with-toolexeclibdir='.
370 * Makefile.in: Regenerate.
371 * aclocal.m4: Regenerate.
372 * configure: Regenerate.
373 * testsuite/Makefile.in: Regenerate.
374
7e7065b9
JJ
3752020-01-01 Jakub Jelinek <jakub@redhat.com>
376
8d9254fc
JJ
377 Update copyright years.
378
7e7065b9
JJ
379 * libitm.texi: Bump @copying's copyright year.
380
00484365
SN
3812019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
382
383 PR libgomp/91938
384 * configure.tgt: Avoid IE tls on *-*-musl*.
385
e9085da5
MR
3862019-09-27 Maciej W. Rozycki <macro@wdc.com>
387
388 * configure: Regenerate.
389
b1e21e5a
CL
3902019-09-10 Christophe Lyon <christophe.lyon@st.com>
391
a360a359
CL
392 * config/arm/sjlj.S (ldaddr): Add FDPIC support.
393
3942019-09-10 Christophe Lyon <christophe.lyon@st.com>
395
396 * configure.tgt: Handle *-*-uclinux*.
397 * configure: Regenerate.
b1e21e5a 398
3c086f8d
FW
3992019-09-06 Florian Weimer <fweimer@redhat.com>
400
401 * configure: Regenerate.
402
c6c2d1bc
CLT
4032019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
404
405 PR other/79543
406 * acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Fix GNU ld --version
407 scanning to conform to the GNU Coding Standards.
408 * configure: Regenerate.
409
061a799b
JJ
4102019-05-03 Jakub Jelinek <jakub@redhat.com>
411
412 * Makefile.am (finclude): Remove.
413 * Makefile.in: Regenerated.
414
a5544970
JJ
4152019-01-01 Jakub Jelinek <jakub@redhat.com>
416
417 Update copyright years.
418
3f27508c
JJ
4192019-01-01 Jakub Jelinek <jakub@redhat.com>
420
421 * libitm.texi: Bump @copying's copyright year.
422
784417d1
JJ
4232018-12-16 Jakub Jelinek <jakub@redhat.com>
424
425 PR c++/88482
426 * eh_cpp.cc (__cxa_throw): Change DEST argument type from
427 void * to void (*) (void *).
428 (_ITM_cxa_throw): Likewise.
429 * libitm.h (_ITM_cxa_throw): Likewise.
430 * libitm.texi (_ITM_cxa_throw): Likewise.
431
d1573fe0
PB
4322018-12-13 Peter Bergner <bergner@linux.ibm.com>
433
434 * config/powerpc/target.h (htm_available): Add support for
435 PPC_FEATURE2_HTM_NO_SUSPEND. Use __builtin_cpu_supports if available.
436
22e05272
JM
4372018-10-31 Joseph Myers <joseph@codesourcery.com>
438
439 PR bootstrap/82856
440 * Makefile.am: Include multilib.am.
441 (AUTOMAKE_OPTIONS): Add info-in-builddir.
442 (CLEANFILES): Remove libitm.info.
443 * configure.ac: Remove AC_PREREQ.
444 * testsuite/Makefile.am (RUNTEST): Remove quotes.
445 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
446 Regenerate.
447
1f82422a
NK
4482018-10-30 Nicholas Krause <xerofoify@gmail.com>
449
a2e0398a 450 PR libitm/86293
1f82422a
NK
451 * method-serial.cc: Mark varible as potentially unused
452 to silence warning.
453
f6a9dfd3
ST
4542018-08-03 Sergei Trofimovich <slyfox@gentoo.org>
455
456 * config/sh/sjlj.S: Adjust to use PIC vs normal code to avoid
457 absolute relocation in a shared library.
458
97cad511
L
4592018-06-12 H.J. Lu <hongjiu.lu@intel.com>
460
461 PR libitm/85988
462 * config/linux/x86/tls.h (SEG_READ): Use the offset of
463 __private_tm as base.
464 (SEG_WRITE): Likewise.
465 (SEG_ENCODE_WRITE): Correct the offset of pointer_guard for x32.
466 (gtm_thr): Replace SEG_READ(10) with SEG_READ(0).
467 (set_gtm_thr): Replace SEG_WRITE(10) with SEG_WRITE(0).
468 (abi_disp): Replace SEG_DECODE_READ(11) with SEG_DECODE_READ(1).
469 (set_abi_disp): Replace SEG_ENCODE_WRITE(11) with
470
b46b715d
JM
4712018-05-17 Jason Merrill <jason@redhat.com>
472
473 * beginend.cc (save): Disable -Werror=deprecated-copy.
474
9220b511
TV
4752018-05-02 Tom de Vries <tom@codesourcery.com>
476
477 PR testsuite/85106
478 * testsuite/lib/libitm.exp: Include scanltranstree.exp.
479
6c3c13c1
TV
4802018-05-02 Tom de Vries <tom@codesourcery.com>
481
482 PR testsuite/85106
483 * testsuite/lib/libitm.exp: Include scanwpaipa.exp.
484
ffc2fc06
L
4852018-04-24 H.J. Lu <hongjiu.lu@intel.com>
486
487 * config/x86/sjlj.S (_ITM_beginTransaction): Add
488 (__CET__ & 2) != 0 check for shadow stack.
489 (GTM_longjmp): Likewise.
490
7b47ecf2
L
4912018-04-24 H.J. Lu <hongjiu.lu@intel.com>
492
493 * configure: Regenerated.
494
0ef9f21d
L
4952018-04-23 H.J. Lu <hongjiu.lu@intel.com>
496
497 PR target/85489
498 * config/x86/sjlj.S (GTM_longjmp): Replace jle/jg with jbe/ja.
499
a0e1df88
JJ
5002018-04-19 Jakub Jelinek <jakub@redhat.com>
501
502 * configure: Regenerated.
503
001ddaa8
DM
5042018-04-18 David Malcolm <dmalcolm@redhat.com>
505
506 PR jit/85384
507 * configure: Regenerate.
508
14e335ed
IT
5092018-02-14 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
510
511 PR target/84148
512 * configure: Regenerate.
513
65e6aea3
JJ
5142018-01-03 Jakub Jelinek <jakub@redhat.com>
515
85ec4feb
JJ
516 Update copyright years.
517
65e6aea3
JJ
518 * libitm.texi: Bump @copying's copyright year.
519
c51081fc
IT
5202017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
521
522 * Makefile.in: Regenerate.
523 * acinclude.m4: Add enable.m4 and cet.m4.
524 * config/x86/sjlj.S: Include cet.h.
525 (_ITM_beginTransaction): Add _CET_ENDBR.
526 Save Shadow Stack pointer.
527 (GTM_longjmp): Add _CET_ENDBR. Restore Shadow Stack pointer.
528 * config/x86/target.h (struct gtm_jmpbuf):
529 Add new field for Shadow Stack pointer.
530 * configure: Regenerate.
531 * configure.ac: Set CET_FLAGS. Update XCFLAGS.
532 * configure.ac: Update libtool_VERSION for x86.
533 * testsuite/Makefile.in: Regenerate.
534
cc03e55b
IT
5352017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
536
537 * libitm/config/x86/target.h: Add new field (ssp).
538 * libitm/config/x86/sjlj.S: Change offsets.
539
62ffe920
RO
5402017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
541
542 * testsuite/lib/libitm.exp: Load scanlang.exp.
543
5764ee3c
JW
5442017-04-03 Jonathan Wakely <jwakely@redhat.com>
545
546 * libitm_i.h (sutrct gtm_thread): Fix typo in comment.
547
73aa401e
JJ
5482017-01-21 Jakub Jelinek <jakub@redhat.com>
549
550 PR other/79046
551 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
552 of cat to get version from BASE-VER file.
553 * testsuite/Makefile.in: Regenerated.
554
16a34ca6
UB
5552017-01-19 Uros Bizjak <ubizjak@gmail.com>
556
557 * config/x86/target.h (htm_available): Determine vendor from
558 __get_cpuid_max return. Use signature_INTEL_ebx. Cleanup.
559
f8a94453
TR
5602017-01-18 Torvald Riegel <triegel@redhat.com>
561
562 * config/x86/target.h (htm_available): Add check for some processors
563 on which TSX is broken.
564
3c36aa6b
JJ
5652017-01-17 Jakub Jelinek <jakub@redhat.com>
566
567 PR other/79046
568 * configure.ac: Add GCC_BASE_VER.
569 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
570 get version from BASE-VER file.
571 * testsuite/Makefile.in: Regenerated.
572 * configure: Regenerated.
573 * Makefile.in: Regenerated.
574
8f56cb51
AM
5752017-01-04 Alan Modra <amodra@gmail.com>
576
577 * Makefile.in: Regenerate.
578 * testsuite/Makefile.in: Regenerate.
579
c1a9c369
JJ
5802017-01-01 Jakub Jelinek <jakub@redhat.com>
581
cbe34bb5
JJ
582 Update copyright years.
583
c1a9c369
JJ
584 * libitm.texi: Bump @copying's copyright year.
585
66dbcf2d
RO
5862016-12-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
587
588 * acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Remove.
589 * aclocal.m4: Regenerate.
590 * configure.ac: Call GCC_CHECK_LINKER_HWCAP instead of
591 LIBITM_CHECK_LINKER_HWCAP.
592
84c1b9d3
MK
5932016-11-15 Matthias Klose <doko@ubuntu.com>
594
595 * configure: Regenerate.
596
831698b8
L
5972016-04-19 H.J. Lu <hongjiu.lu@intel.com>
598
599 PR libitm/70456
600 * util.cc (xmalloc): Use posix_memalign to allocate memory on
601 on cache line if requested.
602
edcbda7e
DV
6032016-03-03 Dominik Vogt <vogt@linux.vnet.ibm.com>
604
605 * config/s390/target.h (TARGET_BEGIN_TRANSACTION_ATTRIBUTE): Define
606 function attribute to disable floating point in begin_transaction() on
607 S/390.
608 * beginend.cc (begin_transaction): Use
609 TARGET_BEGIN_TRANSACTION_ATTRIBUTE.
610
6041f70a
TR
6112016-01-22 Torvald Riegel <triegel@redhat.com>
612
613 * beginend.cc (GTM::gtm_thread::serial_lock): Put on cacheline
614 boundary.
615 (htm_fastpath): Remove.
616 (gtm_thread::begin_transaction): Fix HTM fastpath.
617 (_ITM_commitTransaction): Adapt.
618 (_ITM_commitTransactionEH): Adapt.
619 * libitm/config/linux/rwlock.h (gtm_rwlock): Add htm_fastpath member
620 and accessors.
621 * libitm/config/posix/rwlock.h (gtm_rwlock): Likewise.
622 * libitm/config/posix/rwlock.cc (gtm_rwlock::gtm_rwlock): Adapt.
623 * libitm/config/x86/sjlj.S (_ITM_beginTransaction): Fix HTM fastpath.
624 * libitm/libitm_i.h (htm_fastpath): Remove declaration.
625 * libitm/method-serial.cc (htm_mg): Adapt.
626 (gtm_thread::serialirr_mode): Adapt.
627 * libitm/query.cc (_ITM_inTransaction, _ITM_getTransactionId): Adapt.
628
0b96ffdb
TR
6292016-01-21 Torvald Riegel <triegel@redhat.com>
630
631 * testsuite/libitm.c++/libstdc++-safeexc.C: Not supported on darwin
632 or AIX.
633
b1de98e3
RH
6342016-01-19 Richard Henderson <rth@redhat.com>
635
636 PR bootstrap/69343
637 PR bootstrap/69339
638 Revert:
639 2016-01-13 Richard Henderson <rth@redhat.com>
640
641 * Makefile.am (libitm_la_SOURCES) [ARCH_AARCH64]: Add vect128.cc
642 (libitm_la_SOURCES) [ARCH_ARM]: Add neon.cc
643 (libitm_la_SOURCES) [ARCH_PPC]: Add vect128.cc
644 (libitm_la_SOURCES) [ARCH_S390]: Add vect128.cc
645 * configure.ac (ARCH_AARCH64): New conditional.
646 (ARCH_PPC, ARCH_S390): Likewise.
647 * Makefile.in, configure: Rebuild.
648
649 * libitm.h (_ITM_TYPE_M128): Always define.
650 * vect64.cc: Split ...
651 * vect128.cc: ... out of...
652 * config/x86/x86_sse.cc: ... here.
653 * config/arm/neon.cc: New file.
654
f57fc960
TR
6552016-01-19 Torvald Riegel <triegel@redhat.com>
656
657 * local_type_traits: Remove file.
658 * libitm_i.h: Don't include it anymore.
659 (sized_integral): Remove.
660
d2653984
TR
6612016-01-16 Torvald Riegel <triegel@redhat.com>
662
663 * method-gl.cc (gl_wt_dispatch::trycommit): Ensure proxy privatization
664 safety.
665 * method-ml.cc (ml_wt_dispatch::trycommit): Likewise.
666 * libitm/testsuite/libitm.c/priv-1.c: New.
667
a04d5fc9
TR
6682015-01-15 Torvald Riegel <triegel@redhat.com>
669
670 testsuite/libitm.c++/libstdc++-safeexc.C: New.
671
e89137ce
TR
6722016-01-13 Torvald Riegel <triegel@redhat.com>
673
674 * beginend.cc (gtm_thread::trycommit): Fix seq_cst fences.
675 * config/linux/rwlock.cc (gtm_rwlock::write_lock_generic): Likewise.
676 (gtm_rwlock::write_unlock): Likewise.
677
4c868789
RH
6782016-01-13 Richard Henderson <rth@redhat.com>
679
680 * Makefile.am (libitm_la_SOURCES) [ARCH_AARCH64]: Add vect128.cc
681 (libitm_la_SOURCES) [ARCH_ARM]: Add neon.cc
682 (libitm_la_SOURCES) [ARCH_PPC]: Add vect128.cc
683 (libitm_la_SOURCES) [ARCH_S390]: Add vect128.cc
684 * configure.ac (ARCH_AARCH64): New conditional.
685 (ARCH_PPC, ARCH_S390): Likewise.
686 * Makefile.in, configure: Rebuild.
687
688 * libitm.h (_ITM_TYPE_M128): Always define.
689 * vect64.cc: Split ...
690 * vect128.cc: ... out of...
691 * config/x86/x86_sse.cc: ... here.
692 * config/arm/neon.cc: New file.
693
629e4729
TR
6942016-01-13 Torvald Riegel <triegel@redhat.com>
695
696 * beginend.cc (gtm_thread::trycommit): Fix privatization safety.
697 * config/linux/rwlock.cc (gtm_rwlock::write_lock_generic): Likewise.
698 * config/posix/rwlock.cc (gtm_rwlock::write_lock_generic): Likewise.
699 * dispatch.h (abi_dispatch::snapshot_most_recent): New.
700 * method-gl.cc (gl_wt_dispatch::snapshot_most_recent): New.
701 * method-ml.cc (ml_wt_dispatch::snapshot_most_recent): New.
702 * method-serial.cc (serial_dispatch::snapshot_most_recent): New.
703 (serialirr_dispatch::snapshot_most_recent): New.
704 (serialirr_onwrite_dispatch::snapshot_most_recent): New.
705
0d1ed412
TR
7062016-01-12 Torvald Riegel <triegel@redhat.com>
707
708 * libitm_i.h (gtm_mask_stack): Remove.
709 * beginend.cc (gtm_stmlock_array, gtm_clock): Likewise.
710 * stmlock.h: Remove file.
711 * config/alpha/cacheline.h: Likewise.
712 * config/generic/cacheline.h: Likewise.
713 * config/powerpc/cacheline.h: Likewise.
714 * config/sparc/cacheline.h: Likewise.
715 * config/x86/cacheline.h: Likewise.
716
21fa2a29
JJ
7172016-01-04 Jakub Jelinek <jakub@redhat.com>
718
818ab71a
JJ
719 Update copyright years.
720
21fa2a29
JJ
721 * libitm.texi: Bump @copying's copyright year.
722
e7f7330f
TR
7232015-11-26 Torvald Riegel <triegel@redhat.com>
724
725 * method-ml.cc (ml_mg): Use multiplicative instead of simple hashing.
726 (ml_wt_dispatch::pre_write): Adapt.
727 (ml_wt_dispatch::pre_load): Likewise.
728
4f8a3b87
TR
7292015-11-22 Torvald Riegel <triegel@redhat.com>
730
731 * libitm_i.h (gtm_alloc_action): Remove union.
732 * testsuite/libitm.c/alloc-1.c: New.
733
258c1d07
TR
7342015-11-19 Torvald Riegel <triegel@redhat.com>
735
736 * testsuite/libitm.c++/eh-5.C: New.
737 * libitm.h (_ITM_cxa_free_exception): New.
738 * libitm.map (_ITM_cxa_free_exception): Add it.
739 * libitm.texi: Update ABI docs.
740 * libitm_i.h (gtm_transaction_cp::cxa_unthrown): Remove.
741 (gtm_transaction_cp::cxa_uncaught_count): Add.
742 (gtm_thread::cxa_unthrown): Remove.
743 (gtm_thread::cxa_uncaught_count_ptr): Add.
744 (gtm_thread::cxa_uncaught_count): Add.
745 (gtm_thread::drop_references_allocations): Rename to...
746 (gtm_thread::discard_allocation): ... this and adapt.
747 (gtm_thread::init_cpp_exceptions): New.
748 * beginend.cc (gtm_thread::gtm_thread): Adapt EH handling.
749 (gtm_thread::begin_transaction): Likewise.
750 (gtm_transaction_cp::save): Likewise.
751 (gtm_thread::trycommit): Likewise.
752 * eh_cpp.cc: Add overview comments.
753 (__cxa_eh_globals, __cxa_get_globals, __cxa_free_exception): Declare.
754 (free_any_exception, _ITM_cxa_free_exception): New.
755 (gtm_thread::init_cpp_exceptions): Define.
756 (_ITM_cxa_allocate_exception, _ITM_cxa_throw): Adapt.
757 (_ITM_cxa_begin_catch, _ITM_cxa_end_catch): Likewise.
758 (gtm_thread::revert_cpp_exceptions): Likewise.
759
c518678b
TR
7602015-11-09 Torvald Riegel <triegel@redhat.com>
761
762 * alloc_cpp.cc (_ZdlPvX, _ZdlPvXRKSt9nothrow_t, _ZGTtdlPvX,
763 _ZGTtdlPvXRKSt9nothrow_t, delsz_opnt): New.
764 * libitm.map: Add _ZGTtdlPvX and _ZGTtdlPvXRKSt9nothrow_t.
765 * libitm_i.h (gtm_alloc_action): Add free_fn_sz and sz. Add comments.
766 (gtm_thread::forget_allocations): New overload with size_t argument.
767 * alloc.c (gtm_thread::forget_allocation): Define new overload and
768 adapt existing one.
769 (gtm_thread::record_allocation): Adapt.
770 (gtm_thread::commit_allocations_1): Adapt.
771 (gtm_thread::commit_allocations_2): Adapt.
772 * testsuite/libitm.c++/newdelete.C: New.
773
1e44e857
DJ
7742015-10-27 Daniel Jacobowitz <dan@codesourcery.com>
775 Joseph Myers <joseph@codesourcery.com>
776 Mark Shinwell <shinwell@codesourcery.com>
777 Andrew Stubbs <ams@codesourcery.com>
778 Rich Felker <dalias@libc.org>
779
780 * config/sh/sjlj.S (_ITM_beginTransaction): Bypass PLT calling
781 GTM_begin_transaction for compatibility with FDPIC.
782
9e531d37
DM
7832015-10-09 David Malcolm <dmalcolm@redhat.com>
784
785 * testsuite/lib/libitm.exp: Load multiline.exp before prune.exp,
786 using load_gcc_lib.
787
c629c246
GFM
7882015-08-20 Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org> (tiny change)
789
790 PR libitm/61164
791 * local_atomic (__always_inline): Rename to...
792 (__libitm_always_inline): ... this.
793
cd5a9a74
CSLL
7942015-07-03 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
795
796 PR target/52482
797 * config/powerpc/sjlj.S: Port to Xcode 2.5.
798
ea023bcf
UB
7992015-05-27 Uros Bizjak <ubizjak@gmail.com>
800
d778b5a0
UB
801 * config/linux/x86/futex_bits.h (sys_futex0) [__x86_64__]: Change
802 operands "op" and "val" to int.
803
8042015-05-27 Uros Bizjak <ubizjak@gmail.com>
805
806 * config/linux/sh/futex_bits.h (sys_futex0) Change operands
807 "op" and "val" to int.
808
8092015-05-27 Uros Bizjak <ubizjak@gmail.com>
810
811 * config/linux/alpha/futex_bits.h (sys_futex0) Change operands
812 "op" and "val" to int.
813
8142015-05-27 Uros Bizjak <ubizjak@gmail.com>
815
816 * config/linux/futex.cc (gtm_futex_wait, gtm_futex_wake):
817 Declare as static int.
818 (FUTEX_PRIVATE_FLAG): Remove L suffix.
819 * config/linux/futex_bits.h (sys_futex0) Change operand "op" to int.
820
8212015-05-27 Uros Bizjak <ubizjak@gmail.com>
822
823 * config/linux/x86/futex_bits.h (sys_futex0) [__PIC__]: Remove
824 sys_futex0 function.
ea023bcf 825
503902f9
MH
8262015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
827
828 * Makefile.in: Regenerated with automake-1.11.6.
829 * aclocal.m4: Likewise.
830 * configure: Likewise.
831 * testsuite/Makefile.in: Likewise.
832
96ce40cb
GR
8332015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
834
835 * config/arm/hwcap.cc: Use fcntl.h instead of sys/fcntl.h.
836 * config/linux/x86/tls.h: Only use __GLIBC_PREREQ if defined.
837
3a07b160
L
8382015-01-15 H.J. Lu <hongjiu.lu@intel.com>
839
840 PR libitm/64360
841 * libitm.c/stackundo.c (test2): Make it static.
842 (test1): Likewise.
843
5624e564
JJ
8442015-01-05 Jakub Jelinek <jakub@redhat.com>
845
846 Update copyright years.
847
b67cd4e3
JJ
8482015-01-05 Jakub Jelinek <jakub@redhat.com>
849
850 * libitm.texi: Bump @copying's copyright year.
851
69aef6dc
KT
8522014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
853
854 * testsuite/lib/libitm.exp: Load target-utils.exp.
855 Move load of target-supports.exp earlier.
856
68bc9270
UB
8572014-12-03 Uros Bizjak <ubizjak@gmail.com>
858
859 * configure.tgt (x86_64): Tune -m32 multilib to generic.
860
a699d672
L
8612014-11-21 H.J. Lu <hongjiu.lu@intel.com>
862
863 PR bootstrap/63784
864 * configure: Regenerated.
865
ebf6d33b
FXC
8662014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
867
868 PR target/63610
869 * configure: Regenerate.
870
99183741
MP
8712014-10-06 Marek Polacek <polacek@redhat.com>
872
873 * testsuite/libitm.c/memcpy-1.c: Declare getpagesize.
874 * testsuite/libitm.c/memset-1.c: Likewise.
875
b6334cf4
RH
8762014-07-24 Richard Henderson <rth@redhat.com>
877
878 * config/aarch64/sjlj.S (_ITM_beginTransaction): Use post-inc
879 addressing mode in epilogue.
880
3c698bf0
RO
8812014-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
882
883 * acinclude.m4 (LIBITM_CHECK_LINKER_HWCAP): Check for
884 -mclear-hwcap instead.
885 * configure: Regenerate.
886 * clearcap.map: Remove.
887
dbed5a9b
JM
8882014-05-21 John Marino <gnugcc@marino.st>
889
890 * configure.tgt (*-*-dragonfly*): New target.
891
b17f08dd
RH
8922014-05-19 Richard Henderson <rth@redhat.com>
893
894 * config/aarch64/sjlj.S: New file.
895 * config/aarch64/target.h: New file.
896 * configure.tgt: Enable aarch64.
897
5e1f630a
RO
8982014-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
899
900 * config/generic/asmcfi.h: Also check for
901 __GCC_HAVE_DWARF2_CFI_ASM.
902
84c2f4b0
RH
9032013-04-02 Richard Henderson <rth@redhat.com>
904
905 * config/alpha/target.h (PAGE_SIZE, FIXED_PAGE_SIZE): Remove.
906 * config/arm/target.h, config/sh/target.h: Likewise.
907 * config/sparc/target.h, config/x86/target.h: Likewise.
908
7cc51d64
JJ
9092014-03-26 Jakub Jelinek <jakub@redhat.com>
910
911 * config/linux/futex_bits.h: Include errno.h.
912 (sys_futex0): If syscall returns -1, return -errno rather than
913 -1.
914
c288ec8f
JM
9152014-03-26 Joseph Myers <joseph@codesourcery.com>
916
917 * libitm.texi (Index): Rename to Library Index.
918
ed100f5d
L
9192014-01-13 H.J. Lu <hongjiu.lu@intel.com>
920
921 PR libitm/53113
922 * Makefile.am (x86_sse.lo): Append -msse to CXXFLAGS.
923 (x86_avx.lo): Append -mavx to CXXFLAGS.
924 * Makefile.in: Regenerate.
925
f93608e6
RS
9262014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
927
928 Update copyright years
929
98db73df
TB
9302014-01-02 Tobias Burnus <burnus@net-b.de>
931
932 * libitm.texi: Bump @copying's copyright year.
933
b54214fe
UW
9342013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
935
936 * config/powerpc/sjlj.S [__powerpc64__ && _CALL_ELF == 2]:
937 (FUNC): Define ELFv2 variant.
938 (END): Likewise.
939 (HIDDEN): Likewise.
940 (CALL): Likewise.
941 (BASE): Likewise.
942 (LR_SAVE): Likewise.
943
3cbe17f7
AM
9442013-09-20 Alan Modra <amodra@gmail.com>
945
946 * configure: Regenerate.
947
6fb471d8
TR
9482013-08-30 Torvald Riegel <triegel@redhat.com>
949
950 * config/posix/rwlock.cc: Fix initialization order.
951
bec9ec3f
TR
9522013-08-30 Torvald Riegel <triegel@redhat.com>
953
954 * libitm_i.h (gtm_thread): Assign an asm name to serial_lock.
955 (htm_fastpath): Assign an asm name.
956 * libitm.h (_ITM_codeProperties): Add non-ABI flags used by custom
957 HTM fast paths.
958 (_ITM_actions): Likewise.
959 * config/x86/target.h (HTM_CUSTOM_FASTPATH): Enable custom fastpath on
960 x86_64.
961 * config/x86/sjlj.S (_ITM_beginTransaction): Add custom HTM fast path.
962 * config/posix/rwlock.h (gtm_rwlock): Update comments. Move summary
963 field to the start of the structure.
964 * config/linux/rwlock.h (gtm_rwlock): Update comments.
965 * beginend.cc (gtm_thread::begin_transaction): Add retry policy
966 handling for custom HTM fast paths.
967
1869217f
AK
9682013-08-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
969 Revert:
970 2013-08-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
971
972 * configure.tgt: Add -msoft-float to XCFLAGS.
973
d62d5152
AK
9742013-08-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
975
976 * configure.tgt: Add -msoft-float to XCFLAGS.
977
aaaffb2a
AK
9782013-07-29 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
979
980 * config/s390/target.h (htm_begin, htm_commit, htm_abort)
981 (htm_transaction_active): Enable zEC12 instructions in the
982 assembler.
983 * configure.tgt: Remove -Wa,-march=zEC12 from XCFLAGS.
984
167f68ed
AK
9852013-07-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
986
987 * acinclude.m4: Add htm asm check for s390.
988 * configure.tgt: Add -mhtm and -Wa,-march=zEC12 to the options.
989 * configure: Regenerate.
990 * config/s390/target.h: Remove __HTM__ check.
991 (htm_available): Call getauxval to get hwcaps and check whether
992 HTM is available or not.
993
0258b6e4
PB
9942013-07-15 Peter Bergner <bergner@vnet.ibm.com>
995
996 * acinclude.m4 (LIBITM_CHECK_AS_HTM): New.
997 * configure.ac: Use it.
998 (AC_CHECK_HEADERS): Check for sys/auxv.h.
999 (AC_CHECK_FUNCS): Check for getauxval.
1000 * config.h.in, configure: Rebuild.
1001 * configure.tgt (target_cpu): Add -mhtm to XCFLAGS.
1002 * config/powerpc/target.h: Include sys/auxv.h and htmintrin.h.
1003 (USE_HTM_FASTPATH): Define.
1004 (_TBEGIN_STARTED, _TBEGIN_INDETERMINATE, _TBEGIN_PERSISTENT,
1005 _HTM_RETRIES) New macros.
1006 (htm_abort, htm_abort_should_retry, htm_available, htm_begin, htm_init,
1007 htm_begin_success, htm_commit, htm_transaction_active): New functions.
1008
5a3fe9b6
AK
10092013-06-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1010
1011 * config/s390/target.h: Include htmintrin.h.
1012 (_HTM_ITM_RETRIES): New macro definition.
1013 (htm_available, htm_init, htm_begin, htm_begin_success)
1014 (htm_commit, htm_abort, htm_abort_should_retry): New functions.
1015
6c84d576
IS
10162013-06-20 Iain Sandoe <iain@codesourcery.com>
1017 Cesar Philippidis <cesar@codesourcery.com>
1018
1019 * testsuite/lib/libitm.exp: Reorder lib loads into dependency order.
1020 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
1021 * testsuite/libitm.c/c.exp: load_gcc_lib gcc-dg.exp.
1022 * testsuite/libitm.c++/c++.exp: load_gcc_lib gcc-dg.exp.
1023
480c696b
TR
10242013-06-20 Torvald Riegel <triegel@redhat.com>
1025
1026 * query.cc (_ITM_inTransaction): Abort when using the HTM fastpath.
1027 (_ITM_getTransactionId): Same.
1028 * config/x86/target.h (htm_transaction_active): New.
1029
b1db457b
TR
10302013-06-20 Torvald Riegel <triegel@redhat.com>
1031
1032 PR libitm/57643
1033 * beginend.cc (gtm_thread::begin_transaction): Handle reentrancy in
1034 the HTM fastpath.
1035
51249377
GP
10362013-03-31 Gerald Pfeifer <gerald@pfeifer.com>
1037
1038 PR bootstrap/56714
1039 * local_atomic (__always_inline): Always define our version.
1040 (__calculate_memory_order): Mark inline.
1041 (atomic_thread_fence): Ditto.
1042 (atomic_signal_fence): Ditto.
1043 (atomic_bool::atomic_flag_test_and_set_explicit): Ditto.
1044 (atomic_bool::atomic_flag_clear_explicit): Ditto.
1045 (atomic_bool::atomic_flag_test_and_set): Ditto.
1046 (atomic_bool::atomic_flag_clear): Ditto.
1047
f818478b
JJ
10482013-04-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1049
1050 * config/s390/sjlj.S: New file.
1051 * config/s390/target.h: New file.
1052 * configure.tgt: Set options for S/390.
1053
ab4425be
AK
10542013-03-23 Andi Kleen <ak@linux.intel.com>
1055
1056 * local_atomic (__always_inline): Add.
1057 (__calculate_memory_order, atomic_thread_fence,
3d3b561f
ML
1058 atomic_signal_fence, test_and_set, clear, store, load,
1059 exchange, compare_exchange_weak, compare_exchange_strong,
1060 fetch_add, fetch_sub, fetch_and, fetch_or, fetch_xor):
ab4425be
AK
1061 Add __always_inline to force inlining.
1062
6c59ffd1
IS
10632013-02-11 Iain Sandoe <iain@codesourcery.com>
1064 Jack Howarth <howarth@bromo.med.uc.edu>
1065 Patrick Marlier <patrick.marlier@gmail.com>
1066
1067 PR libitm/55693
1068 * alloc_cpp.cc: Enable function declarations on darwin.
1069 * eh_cpp.cc: Likewise.
1070
75f9527c
RS
10712013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
1072
1073 Update copyright years.
1074
64fbcc74
TR
10752012-11-09 Torvald Riegel <triegel@redhat.com>
1076
1077 * beginend.cc (htm_fastpath): New.
1078 (gtm_thread::begin_transaction, _ITM_commitTransaction,
1079 _ITM_commitTransactionEH): Add HTM fastpath handling.
1080 * config/linux/rwlock.h (gtm_rwlock.is_write_locked): New.
1081 * config/posix/rwlock.h (gtm_rwlock.is_write_locked): New.
1082 * config/x86/target.h (htm_available, htm_init, htm_begin_success,
1083 htm_begin, htm_commit, htm_abort, htm_abort_should_retry): New.
1084 * configure.tgt: Add -mrtm to XCFLAGS.
1085 * method-serial.cc (htm_mg, o_htm_mg, htm_dispatch, dispatch_htm): New.
1086 (gtm_thread::serialirr_mode): Add HTM fastpath handling.
1087 * libitm_i.h (htm_fastpath, dispatch_htm): Declare.
1088 * retry.cc (parse_default_method): Add HTM method parsing.
1089 (gtm_thread::number_of_threads_changed): Use HTM by default if
1090 available.
1091
b9efc877
TS
10922012-11-04 Thomas Schwinge <thomas@codesourcery.com>
1093
1094 * configure: Regenerate.
1095
07d3b5c8
RH
10962012-10-31 Richard Henderson <rth@redhat.com>
1097
1098 * acinclude.m4 (LIBITM_CHECK_AS_RTM): New.
1099 * configure.ac: Use it.
1100 * config.h.in, configure: Rebuild.
1101 * testsuite/Makefile.in: Rebuild.
1102
eb00e959
TR
11032012-10-24 Torvald Riegel <triegel@redhat.com>
1104
1105 * libitm.texi: Clarify ABI requirements for data-logging functions.
1106
b679c813
TR
11072012-10-24 Torvald Riegel <triegel@redhat.com>
1108
1109 * retry.cc (gtm_thread::decide_begin_dispatch): Ask dispatch whether
1110 it requires serial mode instead of assuming that for certain
1111 dispatchs.
1112 * dispatch.h (abi_dispatch::requires_serial): New.
1113 (abi_dispatch::abi_dispatch): Adapt.
1114 * method-gl.cc (gl_wt_dispatch::gl_wt_dispatch): Adapt.
1115 * method-ml.cc (ml_wt_dispatch::ml_wt_dispatch): Same.
1116 * method-serial.cc (serialirr_dispatch::serialirr_dispatch,
1117 serial_dispatch::serial_dispatch,
1118 serialirr_onwrite_dispatch::serialirr_onwrite_dispatch): Same.
1119
0c609a21
UB
11202012-10-02 Uros Bizjak <ubizjak@gmail.com>
1121
1122 * config/x86/target.h (struct gtm_jmpbuf): Merge x86_64
1123 and ia32 declarations some more.
1124 * config/x86/sjlj.S (_ITM_beginTransaction): Move ret to common code.
1125
c0758df9
JJ
11262012-09-20 Jakub Jelinek <jakub@redhat.com>
1127
1128 PR other/43620
1129 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
1130 * configure: Regenerate.
1131 * Makefile.in: Regenerate.
1132
690c45b8
DE
11332012-09-14 David Edelsohn <dje.gcc@gmail.com>
1134
1135 * configure: Regenerated.
1136
68a12ef3
UB
11372012-07-31 Uros Bizjak <ubizjak@gmail.com>
1138
1139 * config/x86/target.h (cpu_relax): Use __builtin_ia32_pause.
1140
f2f9a097
PM
11412012-05-21 Patrick Marlier <patrick.marlier@gmail.com>
1142
1143 * eh_cpp.cc: Fix __cxa_end_catch declaration.
1144
e6d5f8c9
L
11452012-05-16 H.J. Lu <hongjiu.lu@intel.com>
1146
1147 * configure: Regenerated.
1148
0100e3b3
L
11492012-04-04 H.J. Lu <hongjiu.lu@intel.com>
1150
1151 PR libitm/52854
1152 * config/x86/target.h (gtm_jmpbuf): Replace long with long long
1153 for x86-64.
1154
2f6935f4
TG
11552012-04-03 Tristan Gingold <gingold@adacore.com>
1156
1157 * configure: Regenerate.
1158
b9c23a61
L
11592012-03-31 H.J. Lu <hongjiu.lu@intel.com>
1160
1161 PR bootstrap/52812
1162 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
1163
6a26a74d
BRF
11642012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1165
1166 * testsuite/lib/libitm.exp: load fortran-modules.exp
1167
b24513a1
RO
11682012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1169
1170 * configure.tgt (*-*-irix6*): Remove.
1171
0d23faac
TR
11722012-03-13 Torvald Riegel <triegel@redhat.com>
1173
1174 PR libitm/52526
1175 * config/linux/rwlock.cc (GTM::gtm_rwlock::read_lock): Fix lost
1176 wake-up.
1177
5c30094f
RO
11782012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1179
1180 * configure.tgt (*-*-osf*): Remove.
1181 * configure: Regenerate.
1182
d28b0b08
TR
11832012-03-05 Torvald Riegel <triegel@redhat.com>
1184
1185 * dispatch.h (CREATE_DISPATCH_METHODS_MEM): Don't execute
1186 memtransfer/memset if size isn't larger than zero.
1187
034209bc
TR
11882012-03-02 Torvald Riegel <triegel@redhat.com>
1189
1190 * libitm.texi: Link to specification and add a usage example.
1191
bc8da6ba
TR
11922012-02-24 Torvald Riegel <triegel@redhat.com>
1193
1194 * retry.cc (GTM::gtm_thread::number_of_threads_changed): Change
1195 default dispatch for more than 1 thread to ml_wt.
1196
63b08143
TR
11972012-02-20 Torvald Riegel <triegel@redhat.com>
1198
1199 * method-gl.cc (gl_wt_dispatch::orec): Put on separate cacheline.
1200
4c9bd6ac
TR
12012012-02-20 Torvald Riegel <triegel@redhat.com>
1202
1203 * method-gl.cc (gl_wt_dispatch::rollback): Optimize memory orders.
1204
651ff415
TR
12052012-02-20 Torvald Riegel <triegel@redhat.com>
1206
1207 * method-gl.cc (gl_wt_dispatch::trycommit): Remove handling of
1208 serial mode corner cases made obsolete by prior gtm_rwlock changes.
1209 (gl_wt_dispatch.rollback): Same.
1210
efee0113
TR
12112012-02-20 Torvald Riegel <triegel@redhat.com>
1212
1213 * method-gl.cc (gl_wt_dispatch::pre_write): Optimize memory orders.
1214
33a03827
TR
12152012-02-20 Torvald Riegel <triegel@redhat.com>
1216
1217 * method-gl.cc (gl_wt_dispatch::memtransfer_static): Add missing undo
1218 for RfW src. Optimize number of calls to gtm_thr.
1219
a19db3f2
TR
12202012-02-20 Torvald Riegel <triegel@redhat.com>
1221
1222 * beginend.cc (GTM::gtm_thread::begin_transaction): Move serial lock
1223 acquisition to ...
1224 * retry.cc (GTM::gtm_thread::decide_begin_dispatch): ... here.
1225 (default_dispatch): Make atomic.
1226 (GTM::gtm_thread::set_default_dispatch): Access atomically.
1227 (GTM::gtm_thread::decide_retry_strategy): Access atomically and
1228 use decide_begin_dispatch() if default_dispatch might have changed.
1229 (GTM::gtm_thread::number_of_threads_changed): Initialize
1230 default_dispatch here.
1231
e948a1fb
IS
12322012-02-15 Iain Sandoe <iains@gcc.gnu.org>
1233 Patrick Marlier <patrick.marlier@gmail.com>
1234
1235 PR libitm/52220
1236 * alloc_cpp.cc: No dummy definitions for darwin.
1237 * eh_cpp.cc: Likewise.
1238
72824d5e
RH
12392012-02-14 Richard Henderson <rth@redhat.com>
1240
1241 * config/x86/target.h (GTM_longjmp): Correct the .cfi corrections.
1242
1f319dba
UB
12432012-02-14 Uros Bizjak <ubizjak@gmail.com>
1244
1245 * config/x86/target.h (GTM_longjmp): Correct .cfi directives.
1246
31772c95
TR
12472012-02-14 Torvald Riegel <triegel@redhat.com>
1248
1249 * libitm_i.h (GTM::gtm_rwlog_entry): New.
1250 (GTM::gtm_thread): Add read and write logs.
1251 (GTM::dispatch_ml_wt): Declare.
1252 * retry.cc (parse_default_method): Support ml_wt.
1253 * method-ml.cc: New file.
1254 * Makefile.am: Add method-ml.cc.
1255 * Makefile.in: Regenerate.
1256
5b9cf5d2
TR
12572012-02-14 Torvald Riegel <triegel@redhat.com>
1258
1259 * dispatch.h (GTM::abi_dispatch::supports): New.
1260 (GTM::method_group::reinit): New.
1261 * retry.cc (GTM::gtm_thread::decide_retry_strategy): Use reinit().
1262 (GTM::gtm_thread::number_of_threads_changed): Check that the method
1263 supports the current situation.
1264
7d33bcb7
TR
12652012-02-14 Torvald Riegel <triegel@redhat.com>
1266
1267 * util.cc (GTM::xcalloc): New.
1268 * common.h (GTM::xcalloc): Declare.
1269
62513f7b
EB
12702012-02-14 Eric Botcazou <ebotcazou@adacore.com>
1271
1272 * config/sparc/target.h (cpu_relax): Read from CC register.
1273 * config/sparc/sjlj.S (GTM_longjmp): Restore %fp atomically.
1274
12752012-02-14 Uros Bizjak <ubizjak@gmail.com>
d4a698d4
UB
1276
1277 * config/x86/target.h (GTM_longjmp): Jump indirect from memory address.
1278
f3f5e3c3
EB
12792012-02-13 Eric Botcazou <ebotcazou@adacore.com>
1280
62513f7b 1281 * configure.tgt (target_cpu): Handle sparc and sparc64/sparcv9.
f3f5e3c3
EB
1282 * config/sparc/cacheline.h: New file.
1283 * config/sparc/target.h: Likewise.
1284 * config/sparc/sjlj.S: Likewise.
1285 * config/linux/sparc/futex_bits.h: Likewise.
1286
12872012-02-13 Eric Botcazou <ebotcazou@adacore.com>
255a9a1b
EB
1288
1289 * configure.ac (link_itm): Fix comment.
1290 * configure: Regenerate.
1291 * testsuite/lib/libitm.exp: Do not pass -litm for the link.
1292
681355e3
RO
12932012-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1294
fc985d2f 1295 PR libitm/51822
62513f7b 1296 * testsuite/libitm.c++/c++.exp (lang_link_flags): Add -shared-libgcc.
681355e3
RO
1297 Correct libgomp references.
1298
999bcff5
TR
12992012-01-24 Torvald Riegel <triegel@redhat.com>
1300
1301 * config/linux/rwlock.cc (GTM::gtm_rwlock::write_unlock): Fix reader
1302 wake-up.
1303
9848887a
UB
13042012-01-24 Uros Bizjak <ubizjak@gmail.com>
1305
1306 * config/x86/target.h (gtm_jmpbuf) [__x86_64__]: Move rip to the
1307 end of structure.
1308 * config/x86/sjlj.S (_ITM_beginTransaction) [__x86_64__]: Update
1309 offset values. Do not copy return address. Decrement stack
1310 by 56 bytes only.
1311 (GTM_longjump) [__x86_64__]: Update offset values.
1312
5752c591
UB
13132012-01-23 Uros Bizjak <ubizjak@gmail.com>
1314
1315 PR libitm/51830
1316 * config/x86/sjlj.S (_ITM_beginTransaction) [!__x86_64__]: Load
1317 the first function argument to %eax.
1318
61e72ca4
RO
13192012-01-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1320
1321 * libitm.h (_ITM_getThreadnum): Remove.
1322 * libitm.map (_ITM_getThreadnum): Remove from LIBITM_1.0.
1323
9ce91011
RO
13242012-01-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1325
1326 * clearcap.map: New file.
1327 * acinclude.m4 (LIBITM_CHECK_LINKER_HWCAP): New test.
1328 * configure.ac: Call it.
1329 Clear HWCAP_LDFLAGS if defaulting to -mavx.
1330 * Makefile.am (AM_LDFLAGS): Add $(HWCAP_LDFLAGS)
1331 * configure: Regenerate.
1332 * Makefile.in: Regenerate.
1333 * testsuite/Makefile.in: Regenerate.
1334
3b4f05ec
RO
13352012-01-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1336
1337 PR libitm/51173
1338 * testsuite/libitm.c++/static_ctor.C: Skip test, note PR, remove
1339 include, exclude options.
1340
aab74ee9
TR
13412012-01-14 Torvald Riegel <triegel@redhat.com>
1342
1343 * local.cc (GTM::gtm_undolog::rollback): Truncate undo log after
1344 rolling back.
1345 * containers.h (GTM::vector::set_size): New.
1346
07b6642b
TR
13472012-01-14 Torvald Riegel <triegel@redhat.com>
1348
1349 PR libitm/51855
1350 * config/generic/tls.h (GTM::mask_stack_top): New.
1351 (GTM::mask_stack_bottom): Declare.
1352 * config/generic/tls.c (GTM::mask_stack_bottom): New.
1353 * local.cc (gtm_undolog::rollback): Filter out any updates that
1354 overlap the libitm stack. Add current transaction as parameter.
1355 * libitm_i.h (GTM::gtm_undolog::rollback): Adapt.
1356 * beginend.cc (GTM::gtm_thread::rollback): Adapt.
1357 * testsuite/libitm.c/stackundo.c: New test.
1358
8377e5e5
RH
13592012-01-10 Richard Henderson <rth@redhat.com>
1360
1361 * libitm_i.h (_Unwind_DeleteException): Declare weak.
1362 * eh_cpp.cc (_Unwind_DeleteException): Define for
1363 !HAVE_ELF_STYLE_WEAKREF.
1364
11f30bb0
TR
13652012-01-08 Torvald Riegel <triegel@redhat.com>
1366
1367 * local.cc (GTM_LB): Use GTM::gtm_undolog.
1368 (GTM::gtm_thread::drop_references_undolog): Remove.
1369 (GTM::gtm_thread::commit_undolog,
1370 GTM::gtm_thread::rollback_undolog): Move to ...
1371 * libitm_i.h (GTM::gtm_undolog): ...here. New.
1372 (GTM::gtm_undolog_entry): Remove.
1373 (GTM::gtm_thread): Adapt.
1374 * beginend.cc (GTM::gtm_thread::rollback): Adapt.
1375 (GTM::gtm_thread::trycommit): Adapt.
1376 * method-serial.cc (serial_dispatch::log): Adapt.
1377 * method-gl.cc (gl_wt_dispatch::pre_write): Adapt.
1378 (gl_wt_dispatch::store): Fix likely/unlikely.
1379 * containers.h (GTM::vector::resize): Add additional_capacity
1380 parameter and handle it.
1381 (GTM::vector::resize_noinline): New/adapt.
1382 (GTM::vector::push): New.
1383
a32e5e93
RH
13842012-01-06 Richard Henderson <rth@redhat.com>
1385
1386 * configure.tgt: Support powerpc-linux and powerpc-darwin.
1387 * config/linux/powerpc/futex_bits.h: New file.
1388 * config/powerpc/cacheline.h: New file.
1389 * config/powerpc/sjlj.S: New file.
1390 * config/powerpc/target.h: New file.
1391 * config/generic/asmcfi.h (cfi_offset): New.
1392 (cfi_restore, cfi_undefined): New.
1393
1f53a8e6
AH
13942012-01-05 Aldy Hernandez <aldyh@redhat.com>
1395
1396 PR other/51171
1397 * testsuite/libitm.c/reentrant.c: Remove xfail.
1398 (thread): Pass x to pure().
be223aaf 1399 From Patrik Marlier <patrick.marlier@gmail.com>.
1f53a8e6 1400
c898f7b8
TR
14012011-12-24 Torvald Riegel <triegel@redhat.com>
1402
1403 * beginend.cc (GTM::gtm_thread::trycommit): Don't enforce
1404 privatization safety if already in serial mode.
1405
610e3901
TR
14062011-12-24 Torvald Riegel <triegel@redhat.com>
1407
1408 * beginend.cc (GTM::gtm_thread::restart): Add and handle
1409 finish_serial_upgrade parameter.
1410 * libitm.h (GTM::gtm_thread::restart): Adapt declaration.
1411 * config/linux/rwlock.cc (GTM::gtm_rwlock::write_lock_generic):
1412 Don't unset reader flag.
1413 (GTM::gtm_rwlock::write_upgrade_finish): New.
1414 * config/posix/rwlock.cc: Same.
1415 * config/linux/rwlock.h (GTM::gtm_rwlock::write_upgrade_finish):
1416 Declare.
1417 * config/posix/rwlock.h: Same.
1418 * method-serial.cc (GTM::gtm_thread::serialirr_mode): Unset reader
1419 flag after commit or after rollback when restarting.
1420
799142bf
TR
14212011-12-24 Torvald Riegel <triegel@redhat.com>
1422
1423 * beginend.cc (GTM::gtm_thread::begin_transaction): Add comment.
1424 (GTM::gtm_thread::try_commit): Changed memory order.
1425 * config/linux/alpha/futex_bits.h (sys_futex0): Take atomic int
1426 as parameter.
1427 * config/linux/x86/futex_bits.h (sys_futex0): Same.
1428 * config/linux/sh/futex_bits.h (sys_futex0): Same.
1429 * config/linux/futex_bits.h (sys_futex0): Same.
1430 * config/linux/futex.cc (futex_wait, futex_wake): Same.
1431 * config/linux/futex.h (futex_wait, futex_wake): Same.
1432 * config/linux/rwlock.h (gtm_rwlock::writers,
1433 gtm_rwlock::writer_readers, gtm_rwlock::readers): Change to atomic
1434 ints.
1435 * config/linux/rwlock.cc (gtm_rwlock::read_lock,
1436 gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock,
1437 gtm_rwlock::write_unlock): Fix memory orders and fences.
1438 * config/posix/rwlock.cc (gtm_rwlock::read_lock,
1439 gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock,
1440 gtm_rwlock::write_unlock): Same.
1441 * config/linux/rwlock.h (gtm_rwlock::summary): Change to atomic int.
1442 * method-gl.cc (gl_mg::init, gl_wt_dispatch::memtransfer_static,
1443 gl_wt_dispatch::memset_static, gl_wt_dispatch::begin_or_restart):
1444 Add comments.
1445 (gl_wt_dispatch::pre_write, gl_wt_dispatch::validate,
1446 gl_wt_dispatch::load, gl_wt_dispatch::store,
1447 gl_wt_dispatch::try_commit, gl_wt_dispatch::rollback): Fix memory
1448 orders and fences. Add comments.
1449
b0f96e35
JJ
14502011-12-21 Jakub Jelinek <jakub@redhat.com>
1451
1452 * Makefile.am (AM_CXXFLAGS): Put $(XCFLAGS) first.
1453 * Makefile.in: Regenerated.
1454
cc163247
KK
14552011-12-17 Kaz Kojima <kkojima@gcc.gnu.org>
1456
1457 * configure.tgt: Add sh* case.
1458 * config/sh/target.h: New file.
1459 * config/sh/sjlj.S: New file.
1460 * config/linux/sh/futex_bits.h: New file.
1461
aebac0ca
RH
14622011-12-14 Richard Henderson <rth@redhat.com>
1463
1464 * config/arm/hwcap.h, config/arm/hwcap.cc: New files.
1465 * config/arm/sjlj.S, config/arm/target.h: New files.
1466 * config/generic/asmcfi.h (cfi_adjust_cfa_offset): New.
1467 (cfi_rel_offset): New.
1468 * config/linux/futex_bits.h: New file.
1469 * config/linux/futex.cc: Include futex_bits.h here...
1470 * config/linux/futex.h: ... not here.
1471 * Makefile.am (libitm_la_SOURCES) <ARCH_ARM>: Add hwcap.cc.
1472 * configure.ac (ARCH_AM): New conditional.
1473 * Makefile.in, configure: Rebuild.
1474 * configure.tgt: Handle ARM.
1475
36cfbee1
RH
14762011-12-13 Richard Henderson <rth@redhat.com>
1477
5d9d05d3
RH
1478 * config/posix/rwlock.cc (gtm_rwlock::write_lock_generic): Fix
1479 signed/unsigned comparison werror.
1480
36cfbee1
RH
1481 * local_atomic: New file.
1482 * libitm_i.h: Include it.
1483 (gtm_thread::shared_state): Use atomic template.
1484 * beginend.cc (GTM::gtm_clock): Use atomic template.
1485 (global_tid): Use atomic template if 64-bit atomics available.
1486 (gtm_thread::gtm_thread): Update shared_state access.
1487 (gtm_thread::trycommit): Likewise.
1488 (choose_code_path): Update global_tid access.
1489 * method-gl.cc (gl_mg::orec): Use atomic template. Update all users.
1490 * stmlock.h (GTM::gtm_clock): Use atomic template.
1491 (gtm_get_clock, gtm_inc_clock): Update accesses.
1492 * config/linux/rwlock.cc (gtm_rwlock::read_lock): Remove
1493 redundant __sync_synchronize after atomic shared_state access.
1494 * config/posix/rwlock.cc (gtm_rwlock::read_lock): Likewise.
1495 (gtm_rwlock::write_lock_generic): Likewise.
1496 (gtm_rwlock::read_unlock): Likewise.
1497 * config/alpha/target.h (atomic_read_barrier): Remove.
1498 (atomic_write_barrier): Remove.
1499 * config/x86/target.h (atomic_read_barrier): Remove.
1500 (atomic_write_barrier): Remove.
1501
062f93f2
RH
15022011-11-30 Richard Henderson <rth@redhat.com>
1503
1504 * libitm_i.h (GTM_longjmp): Swap first and second arguments.
1505 * beginend.c (_ITM_abortTransaction): Update to match.
1506 (GTM::gtm_thread::restart): Likewise.
1507 * config/alpha/sjlj.S (GTM_longjmp): Likewise.
1508 * config/x86/sjlj.S (GTM_longjmp): Likewise.
1509
bd8aaa86
IS
15102011-11-23 Iain Sandoe <iains@gcc.gnu.org>
1511
1512 * Makefile.am (libitm_la_LDFLAGS): Remove "-no-undefined".
1513 * Makefile.in: Regenerate.
1514
8cf36bb3
IS
15152011-11-22 Iain Sandoe <iains@gcc.gnu.org>
1516
1517 * configure.ac: Use GCC_CHECK_ELF_STYLE_WEAKREF.
1518 * alloc_cpp.cc: Generate dummy functions if we don't
1519 HAVE_ELF_STYLE_WEAKREF.
1520 * eh_cpp.cc: Likewise.
1521 * configure: Regenerate.
1522 * aclocal.m4: Likewise.
1523 * config.h.in: Likewise.
1524 * Makefile.in: Likewise.
1525 * testsuite/Makefile.in: Likewise.
1526
0b41ebef
IS
15272011-11-22 Iain Sandoe <iains@gcc.gnu.org>
1528
1529 * config/x86/sjlj.S (CONCAT1, CONCAT2, SYM): Respond to
1530 __USER_LABEL_PREFIX__ for targets that use it.
8cf36bb3 1531 (TYPE, SIZE, HIDDEN): New macros to assist on non-elf targets.
0b41ebef
IS
1532 (_ITM_beginTransaction): Use SYM, TYPE, SIZE macros to assist
1533 in portability to non-elf targets.
8cf36bb3 1534 (GTM_longjmp): Likewise.
0b41ebef
IS
1535 * libitm_i.h (begin_transaction): Apply __USER_LABEL_PREFIX__
1536 where required.
1537
9c9d352a
IS
15382011-11-22 Iain Sandoe <iains@gcc.gnu.org>
1539
1540 * testsuite/libitm.c/memcpy-1.c: Allow for MAP_ANON spelling.
1541 * testsuite/libitm.c/memset-1.c: Likewise.
1542
c6084f68
AT
15432011-11-21 Andreas Tobler <andreast@fgznet.ch>
1544
1545 * configure: Regenerate.
1546
adcd36bc
RO
15472011-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1548
1549 * acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Handle gold.
1550 (LIBITM_ENABLE_SYMVERS): Handle sun style.
1551 * Makefile.am: Handle sun style versioning.
1552 (libitm_la_LINK): Add $(libitm_la_LDFLAGS).
1553 * configure: Regenerate.
1554 * Makefile.in: Regenerate.
1555
59659b59
RO
15562011-11-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1557
1558 * config/generic/asmcfi.h: Fix comment.
1559 * config/x86/sjlj.S (_ITM_beginTransaction): Provide ELF PIC code
1560 sequence without .hidden support, error for non-ELF targets.
1561 (GTM_longjmp) [__ELF__]: Only use .hidden if
1562 HAVE_ATTRIBUTE_VISIBILITY.
1563
d846e425
RO
15642011-11-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1565
1566 * alloc_cpp.cc [__osf__] (_ZnwX, _ZdlPv, _ZnaX, _ZdaPv,
1567 _ZnwXRKSt9nothrow_t, _ZdlPvRKSt9nothrow_t, _ZdaPvRKSt9nothrow_t):
1568 Dummy functions.
1569 * eh_cpp.cc [__osf__] (__cxa_allocate_exception, __cxa_throw,
1570 __cxa_begin_catch, __cxa_end_catch, __cxa_tm_cleanup): Likewise.
1571
80713347
UB
15722011-11-16 Uros Bizjak <ubizjak@gmail.com>
1573
1574 PR bootstrap/51098
1575 * acinclude.m4 (LIBITM_CHECK_AS_AVX): Fix target selector.
1576 * configure: Regenerate.
1577
2841f85e
L
15782011-11-14 H.J. Lu <hongjiu.lu@intel.com>
1579
1580 * testsuite/lib/libitm.exp: Check ia32 instead of ilp32.
1581
8851b429
RO
15822011-11-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1583
1584 * config/alpha/sjlj.S (_ITM_beginTransaction) [!__ELF__]: Don't use
1585 .hidden.
1586 (.note.GNU-stack): Only use if __linux__.
1587 * alloc_cpp.cc [!__osf__] (_ZnaXRKSt9nothrow_t): Dummy function.
1588 * testsuite/libitm.c/notx.c: Use dg-options "-pthread".
1589 * testsuite/libitm.c/reentrant.c: Likewise.
1590 * testsuite/libitm.c/simple-2.c: Likewise.
1591 * testsuite/libitm.c/txrelease.c: Likewise.
1592 * testsuite/libitm.c++/static_ctor.C: Likewise.
1593
d4b17902
RH
15942011-11-10 Richard Henderson <rth@redhat.com>
1595
1596 * config/x86/x86_avx.cc: Remove #undef __AVX__ hack. Tidy comments.
1597 * Makefile.am (x86_avx.lo): Only add -mavx if ARCH_X86_AVX.
1598 * configure.ac (ARCH_X86_AVX): New conditional.
1599 * Makefile.in, configure: Rebuild.
1600
430616e7
RH
16012011-11-09 Richard Henderson <rth@redhat.com>
1602
1603 * acinclude.m4 (LIBITM_CHECK_AS_AVX): New.
1604 * configure.ac: Use it.
1605 * config.h.in, configure: Rebuild.
1606 * config/x86/x86_avx.cc: Handle !HAVE_AS_AVX.
1607
79b1edb6
RH
16082011-11-09 Richard Henderson <rth@redhat.com>
1609
1610 * barrier.tpl, memcpy.cc, memset.cc, method-wbetl.cc: Remove file.
1611 * config/alpha/unaligned.h: Remove file.
1612 * config/generic/unaligned.h: Remove file.
1613 * config/x86/unaligned.h: Remove file.
1614 * config/generic/cachepage.h: Remove file.
1615 * config/posix/cachepage.cc: Remove file.
1616 * config/generic/cacheline.cc: Remove file.
1617 * config/x86/cacheline.cc: Remove file.
1618 * config/generic/cacheline.h (gtm_cacheline): Remove the
1619 store_mask, copy_mask, copy_mask_wb methods.
1620 * config/x86/cacheline.h: Likewise.
1621 * config/alpha/cacheline.h: Fall back to generic after setting size.
1622 * config/generic/tls.cc (gtm_mask_stack): Remove.
1623 * config/x86/x86_avx.cc (GTM_vpperm_shift): Remove.
1624 (GTM_vpalignr_table): Remove.
1625 * config/x86/x86_sse.cc (GTM_palignr_table): Remove.
1626 (GTM_pshift_table): Remove.
1627 * config/libitm_i.h: Don't include cachepage.h.
1628 * Makefile.am (libitm_la_SOURCES): Remove cacheline.cc, cachepage.cc
1629 * Makefile.in, testsuite/Makefile.in: Rebuild.
1630
4bdd090f
RH
16312011-11-09 Richard Henderson <rth@redhat.com>
1632
8ee9fac2
RH
1633 * config/x86/cacheline.h (gtm_cacheline::store_mask): Use .byte
1634 to emit branch prediction hint.
1635
9bdc6343
RH
1636 * config/x86/sjlj.S: Protect elf directives with __ELF__.
1637 Protect .note.GNU-stack with __linux__.
1638
4bdd090f
RH
1639 * configure.ac (GCC_AS_CFI_PSEUDO_OP): Test it.
1640 * configure, aclocal.m4, config.h.in: Rebuild.
1641 * config/generic/asmcfi.h: New file.
1642 * config/x86/sjlj.S: Use it.
1643
4408b086
RH
16442011-11-08 Richard Henderson <rth@redhat.com>
1645
1646 * local.cc (_ITM_LB): Use a normal call, not a function alias.
1647
01f3428c
RH
16482011-11-08 Richard Henderson <rth@redhat.com>
1649
3d3b05ff
RH
1650 * configure.tgt: Test correct directory for supported cpus.
1651
01f3428c
RH
1652 * configure.ac: Exit if unsupported.
1653 * configure: Rebuild.
1654 * configure.tgt: Delete boilerplate from libgomp for unsupported
1655 targets. Set UNSUPPORTED for unsupported targets.
1656
07f03cd3
RO
16572011-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1658
1659 * configure.tgt: Handle i386 like i[456]86.
1660 * config/generic/tls.h [!HAVE_ARCH_GTM_THREAD] (gtm_thr): Don't
1661 take address.
1662 * config/generic/tls.cc [!HAVE_ARCH_GTM_THREAD ||
1663 !HAVE_ARCH_GTM_THREAD_DISP] (_gtm_thr_tls): New variable.
1664
0a35513e
AH
16652011-11-05 Aldy Hernandez <aldyh@redhat.com>
1666
1667 * method-wbetl.cc: Update copyright notice.
1668 * aatree.cc: Same.
1669 * util.cc: Same.
1670 * libitm.h: Same.
1671 * memset.cc: Same.
1672 * eh_cpp.cc: Same.
1673 * barrier.tpl: Same.
1674 * useraction.cc: Same.
1675 * stmlock.h: Same.
1676 * memcpy.cc: Same.
1677 * common.h: Same.
1678 * config/generic/tls.cc: Same.
1679 * config/generic/cacheline.h: Same.
1680 * config/generic/cachepage.h: Same.
1681 * config/generic/cacheline.cc: Same.
1682 * config/generic/unaligned.h: Same.
1683 * config/x86/cacheline.h: Same.
1684 * config/x86/cacheline.cc: Same.
1685 * config/x86/unaligned.h: Same.
1686 * config/alpha/cacheline.h: Same.
1687 * config/alpha/unaligned.h: Same.
1688 * config/alpha/sjlj.S: Same.
1689 * config/posix/cachepage.cc: Same.
1690 * config/linux/futex.h: Same.
1691 * config/linux/alpha/futex_bits.h: Same.
1692
16932011-11-04 Torvald Riegel <triegel@redhat.com>
1694
1695 * libitm.texi: No cover text and invariant sections.
1696
16972011-11-03 Richard Henderson <rth@redhat.com>
1698
1699 * local_type_traits: New file.
1700 * libitm_i.h: Use it. Use C headers, not C++ wrappers.
1701
17022011-11-03 Richard Henderson <rth@redhat.com>
1703
1704 * configure.ac: Don't test for gfortran.
1705 * configure: Rebuild.
1706
1707 * testsuite/lib/libitm.exp: Don't include gfortran-dg.exp.
1708 * testsuite/libitm.c++/c++.exp: Don't use gfortran-dg-runtest.
1709
17102011-11-03 Aldy Hernandez <aldyh@redhat.com>
1711
1712 * testsuite/libitm.c/memcpy-1.c: Add copyright notice.
1713 * testsuite/libitm.c/memset-1.c: Same.
1714 * testsuite/libitm.c/c.exp: Same.
1715 * testsuite/lib/libitm-dg.exp: Same.
1716 * testsuite/lib/libitm.exp: Same.
1717 * testsuite/libitm.c++/c++.exp: Same.
1718
17192011-11-03 Aldy Hernandez <aldyh@redhat.com>
1720
1721 * testsuite/config/default.exp: Update copyright date.
1722 * configure.ac: Add copyright info.
1723 * configure.tgt: Same.
1724
17252011-11-03 Aldy Hernandez <aldyh@redhat.com>
1726
1727 * testsuite/libitm.c/reentrant.c: XFAIL.
1728 * testsuite/libitm.c++/static_ctor.C: XFAIL.
1729
17302011-10-29 Torvald Riegel <triegel@redhat.com>
1731
1732 * beginend.cc (GTM::gtm_thread::rollback): Add aborting flag and
1733 handle aborts.
1734 (_ITM_abortTransaction): Handle aborts of outer transactions.
1735 * libitm_i.h: Same.
1736 * eh_cpp.cc (GTM::gtm_thread::revert_cpp_exceptions): Fix assertion.
1737 * libitm.texi: Document aborts of outer transactions.
1738 * testsuite/libitm.c/cancel.c: New file.
1739
17402011-10-19 Torvald Riegel <triegel@redhat.com>
1741
1742 * testsuite/*: Change __transaction to __transaction_atomic or
1743 __transaction_relaxed.
1744
17452011-10-19 Torvald Riegel <triegel@redhat.com>
1746
1747 * config/linux/x86/tls.h (abi_disp): Make TLS slot read volatile.
1748 (gtm_thr): Same.
1749
17502011-10-19 Torvald Riegel <triegel@redhat.com>
1751
1752 * libitm_i.h: Add gl_wt dispatch.
1753 * retry.cc (parse_default_method): Same.
1754 * method-gl.cc: New file.
1755 * Makefile.am: Use method-gl.cc.
1756 * Makefile.in: Rebuild.
1757
17582011-10-19 Torvald Riegel <triegel@redhat.com>
1759
1760 * beginend.cc (GTM::gtm_thread::trycommit): Ensure privatization
1761 safety if requested by a TM method.
1762 * dispatch.h (GTM::abi_dispatch::trycommit): Add parameter for
1763 privatization safety.
1764 * method-serial.cc: Same.
1765
17662011-10-19 Torvald Riegel <triegel@redhat.com>
1767
1768 * libitm_i.h: Renamed gtm_local_undo to gtm_undolog_entry.
1769 (GTM::gtm_thread): Renamed local_undo to undolog. Renamed
1770 undolog-related member functions from *_local to *_undolog.
1771 * local.cc (gtm_thread::commit_undolog): Same.
1772 * beginend.cc (GTM::gtm_thread::trycommit): Same.
1773 (GTM::gtm_thread::rollback): Roll back undolog before
1774 dispatch-specific rollback.
1775
17762011-10-19 Torvald Riegel <triegel@redhat.com>
1777
1778 * retry.cc (GTM::gtm_thread::decide_retry_strategy): Handle
1779 re-initialization of the current method group.
1780 * libitm_i.h (GTM::gtm_restart_reason): Add restart reason for this.
1781
17822011-10-19 Torvald Riegel <triegel@redhat.com>
1783
1784 * alloc.cc (commit_allocations_2): Do not free transaction-local
1785 memory when committing a nested transaction.
1786
17872011-10-19 Torvald Riegel <triegel@redhat.com>
1788
1789 * method-serial.cc (GTM::gtm_thread::serialirr_mode): Fixed: Use
1790 serial-irrevocable dispatch, not serial.
1791
17922011-10-19 Torvald Riegel <triegel@redhat.com>
1793
1794 * libitm_i.h (GTM::gtm_restart_reason): Re-arrange and clean up
1795 declarations.
1796 * dispatch.h (GTM::abi_dispatch::begin_or_restart): New.
1797 * method-serial.cc: Implement begin_or_restart().
1798 * beginend.cc (GTM::gtm_thread::begin_transaction): Call
1799 dispatch-specific begin_or_restart().
1800 (GTM::gtm_thread::restart): Same.
1801
18022011-08-23 Torvald Riegel <triegel@redhat.com>
1803
1804 * retry.cc (GTM::gtm_thread::decide_retry_strategy): Cleanup. Fix
1805 restarting without switching to serial mode.
1806 (GTM::gtm_thread::decide_begin_dispatch): Let the caller set the
1807 transaction state. Choose closed-nesting alternative if available.
1808 (GTM::gtm_thread::set_default_dispatch): New.
1809 (parse_default_method): New.
1810 (GTM::gtm_thread::number_of_threads_changed): New.
1811 * method-serial.cc (GTM::serial_mg): New method group class.
1812 (GTM::serialirr_dispatch): Belongs to serial_mg. Remove reinit and
1813 fini.
1814 (GTM::serial_dispatch): Same.
1815 (GTM::serialirr_onwrite_dispatch): Same.
1816 (GTM::gtm_thread::serialirr_mode): Remove calls to fini.
1817 * beginend.cc (GTM::gtm_thread::~gtm_thread): Maintain number of
1818 registered threads.
1819 (GTM::gtm_thread::gtm_thread): Same.
1820 (_ITM_abortTransaction): Remove calls to abi_dispatch::fini().
1821 (GTM::gtm_thread::trycommit): Same. Reset number of restarts.
1822 (GTM::gtm_thread::begin_transaction): Let decide_begin_dispatch()
1823 choose dispatch but set state according to dispatch here.
1824 * dispatch.h (GTM::abi_dispatch::fini): Move to method group.
1825 (GTM::method_group): New class.
1826 (GTM::abi_dispatch): Add comments. Maintain pointer to method_group.
1827 * libitm_i.h (GTM::gtm_thread): Add declarations for new members.
1828 * libitm.texi: Document TM methods, method groups, method life cycle.
1829 Rename method sets to method groups.
1830
18312011-08-23 Torvald Riegel <triegel@redhat.com>
1832
1833 * config/x86/tls.h: Moved to ...
1834 * config/linux/x86/tls.h: ... here.
1835
18362011-08-23 Torvald Riegel <triegel@redhat.com>
1837
1838 * config/x86/tls.h: Use __x86_64__ instead of __LP64__.
1839 Add X32 support.
1840 * config/x86/sjlj.S: Same.
1841
18422011-08-19 Torvald Riegel <triegel@redhat.com>
1843
1844 * config/linux/rwlock.h: New file.
1845 * config/linux/rwlock.c: New file.
1846 * configure.ac: Reenable futex support (undo SVN rev 157758).
1847 * Makefile.am: Same.
1848 * configure.tgt: Same.
1849 * config/linux/alpha/futex_bits.h: Same.
1850 * config/linux/futex.h: Same. Return number of woken processes.
1851 * config/linux/futex.cc: Same.
1852 (futex_wait): Remove spinning.
1853 * config/linux/x86/futex_bits.h: Same. Set futex timeout to zero.
1854 Use __x86_64__ instead of __LP64__.
1855 * aclocal.m4: Include generic futex checks.
1856 * configure: Rebuild.
1857 * Makefile.in: Rebuild.
1858 * testsuite/Makefile.in: Rebuild.
1859 * beginend.cc: Include pthread.h.
1860 * config/posix/cachepage.cc: Same.
1861
18622011-08-12 Torvald Riegel <triegel@redhat.com>
1863
1864 * config/x86/tls.h (gtm_tx, set_gtm_tx, setup_gtm_thr): Removed.
1865 (abi_disp, set_abi_disp): Move to tx's TLS slot.
1866 (set_gtm_thr): New.
1867 * config/generic/tls.h (gtm_tx, set_gtm_tx, setup_gtm_thr): Removed.
1868 (set_gtm_thr): New.
1869 (GTM::gtm_thread::thread_num): Removed.
1870 (GTM::gtm_thread): Renamed to GTM::gtm_thread_tls.
1871 * libitm_i.h (GTM::gtm_transaction): Renamed to GTM::gtm_thread. More
1872 tx-to-thread renaming.
1873 * beginend.cc: Adapted to tx-to-thread renaming.
1874 (GTM::gtm_thread::~gtm_thread): Extracted from thread_exit_handler().
1875 (GTM::gtm_thread::gtm_thread): Extracted from begin_transaction().
1876 * query.cc (_ITM_getTransactionId, _ITM_inTransaction): Renamed
1877 gtm_transaction to gtm_thread.
1878 (_ITM_getThreadnum): Removed. Not supported anymore.
1879 * testsuite/libitm.c/notx.c (main): Removed _ITM_getThreadnum call.
1880 * libitm.texi: Documented that _ITM_getThreadnum is not supported.
1881 * useraction.cc: Renamed gtm_transaction to gtm_thread. Adapted to
1882 gtm_tx-to-gtm_thr renaming if necessary.
1883 * eh_cpp.cc: Same.
1884 * local.cc: Same.
1885 * retry.cc: Same.
1886 * clone.cc: Same.
1887 * alloc.cc: Same.
1888 * alloc_c.cc: Same.
1889 * alloc_cpp.cc: Same.
1890 * method-serial.cc: Same.
1891 * config/generic/tls.cc: Same.
1892 * config/posix/rwlock.h (gtm_rwlock): Same.
1893 * config/posix/rwlock.cc: Same. Adapted to more tx-to-thread renaming.
1894
18952011-08-12 Torvald Riegel <triegel@redhat.com>
1896
1897 * config/posix/rwlock.cc (gtm_rwlock::read_lock): Changed locking
1898 implementation.
1899 (gtm_rwlock::read_unlock): Same.
1900 (gtm_rwlock::write_lock_generic): New. Generalized from ...
1901 (gtm_rwlock::write_lock, gtm_rwlock::write_upgrade): ... these.
1902 * libitm_i.h (GTM::gtm_transaction): Added shared_state.
1903 * config/posix/rwlock.h (GTM::gtm_rwlock): Removed a_reader and
1904 w_upgrade. Replaced by per-transaction flags (in shared_state).
1905 Added c_confirmed_writers.
1906 (GTM::gtm_rwlock::read_lock, GTM::gtm_rwlock::read_unlock,
1907 GTM::gtm_rwlock::write_upgrade): Add tx parameter.
1908 * retry.cc (GTM::gtm_transaction::decide_retry_strategy): Same.
1909 * method-serial.cc (GTM::gtm_transaction::serialirr_mode): Same.
1910 * beginend.cc (GTM::gtm_transaction::begin_transaction,
1911 _ITM_abortTransaction, GTM::gtm_transaction::trycommit): Same.
1912 * libitm.texi: Document locking conventions and implementations in
1913 libitm.
1914
19152011-08-12 Torvald Riegel <triegel@redhat.com>
1916
1917 * libitm_i.h (next_tx): Add list of all threads' transaction.
1918 * beginend.cc (GTM::gtm_transaction::begin_transaction): Register
1919 transaction with list of transactions and ...
1920 (thread_exit_handler): ... deregister here.
1921 * config/alpha/target.h: Add HW_CACHELINE_SIZE setting.
1922 * config/x86/target.h: Same.
1923
19242011-08-12 Torvald Riegel <triegel@redhat.com>
1925
1926 * testsuite/libitm.c++/static_ctor.C: New file.
1927
19282011-08-12 Torvald Riegel <triegel@redhat.com>
1929
1930 * testsuite/libitm.c/reentrant.c: New file.
1931
19322011-08-12 Torvald Riegel <triegel@redhat.com>
1933
1934 * config/generic/tls.h: Remove the free list for transactions and ...
1935 * beginend.cc (GTM::gtm_transaction::operator new): ... allocate ...
1936 (GTM::gtm_transaction::operator delete): ... and release here.
1937 (thread_exit_handler): New. Delete tx when thread terminates.
1938 (thread_exit_init): New.
1939 (GTM::gtm_transaction::begin_transaction): Set up on-exit handler.
1940 * testsuite/libitm.c/txrelease.c: New file.
1941
19422011-08-12 Torvald Riegel <triegel@redhat.com>
1943
1944 * query.cc (_ITM_getThreadnum): Set up gtm_thread if necessary.
1945 * testsuite/libitm.c/notx.c: New file.
1946
19472011-08-12 Torvald Riegel <triegel@redhat.com>
1948
1949 * config/generic/tls.h (gtm_thread): Move local_tid from here ...
1950 * libitm_i.h (local_tid): ... to here.
1951 * beginend.cc (GTM::gtm_transaction::begin_transaction): Same.
1952 (GTM::gtm_transaction::operator new): Set up gtm_thread if necessary.
1953
19542011-08-12 Torvald Riegel <triegel@redhat.com>
1955
1956 * retry.cc (GTM::gtm_transaction::decide_begin_dispatch): Use
1957 serialirr_onwrite_dispatch as new default for now.
1958 * method-serial.cc (serialirr_onwrite_dispatch): New.
1959 (GTM::dispatch_serialirr_onwrite): New.
1960 * libitm_i.h: Same.
1961
19622011-08-12 Torvald Riegel <triegel@redhat.com>
1963
1964 * beginend.cc (GTM::gtm_transaction::rollback): Roll back tx id as well.
1965 * query.cc (_ITM_getTransactionId): There is no active transaction if
1966 the current nesting level is zero.
1967
19682011-07-28 Torvald Riegel <triegel@redhat.com>
1969
1970 * beginend.cc (GTM::gtm_transaction::rollback): Fix nesting level
1971 rollback.
1972
19732011-07-28 Torvald Riegel <triegel@redhat.com>
1974
1975 * retry.cc (GTM::gtm_transaction::decide_begin_dispatch): Get
1976 transaction properties from the caller instead of from the
1977 transaction object.
1978 * libitm_i.h: Same.
1979 * beginend.cc (GTM::gtm_transaction::begin_transaction): Same.
1980
19812011-07-28 Torvald Riegel <triegel@redhat.com>
1982
1983 * local.cc (gtm_transaction::rollback_local): Support closed nesting.
1984 * eh_cpp.cc (GTM::gtm_transaction::revert_cpp_exceptions): Same.
1985 * dispatch.h: Same.
1986 * method-serial.cc: Same.
1987 * beginend.cc (GTM::gtm_transaction::begin_transaction): Change to
1988 flat nesting as default, and closed nesting on demand.
1989 (GTM::gtm_transaction::rollback): Same.
1990 (_ITM_abortTransaction): Same.
1991 (GTM::gtm_transaction::restart): Same.
1992 (GTM::gtm_transaction::trycommit): Same.
1993 (GTM::gtm_transaction::trycommit_and_finalize): Removed.
1994 (choose_code_path): New.
1995 (GTM::gtm_transaction_cp::save): New.
1996 (GTM::gtm_transaction_cp::commit): New.
1997 * query.cc (_ITM_inTransaction): Support flat nesting.
1998 * libitm_i.h (GTM::gtm_transaction_cp): New helper struct for nesting.
1999 (GTM::gtm_transaction): Support flat and closed nesting.
2000 * alloc.cc (commit_allocations_2): New.
2001 (commit_cb_data): New helper struct.
2002 (GTM::gtm_transaction::commit_allocations): Handle nested
2003 commits/rollbacks.
2004 * libitm.texi: Update user action section, add description of nesting.
2005
20062011-07-28 Torvald Riegel <triegel@redhat.com>
2007
2008 * libitm_i.h: Add closed nesting as restart reason.
2009 * retry.cc (GTM::gtm_transaction::decide_retry_strategy): Same.
2010
20112011-07-28 Torvald Riegel <triegel@redhat.com>
2012
2013 * useraction.cc: Use vector instead of list to store actions.
2014 Also support partial rollbacks for closed nesting.
2015 * libitm_i.h (GTM::gtm_transaction::user_action): Same.
2016 * beginend.cc: Same.
2017
20182011-07-28 Torvald Riegel <triegel@redhat.com>
2019
2020 * dispatch.h (GTM::abi_dispatch): Add can_run_uninstrumented_code and
2021 closed_nesting flags, as well as a closed nesting alternative.
2022 * method-serial.cc: Same.
2023 (serial_dispatch): Renamed to serialirr_dispatch.
2024 (GTM::dispatch_serialirr): Same.
2025 (serial_dispatch_ul): Renamed to serial_dispatch.
2026 (GTM::dispatch_serial): Same.
2027
20282011-07-28 Torvald Riegel <triegel@redhat.com>
2029
2030 * libitm.h (_ITM_codeProperties): Change pr_hasElse to the ABI's value.
2031
20322011-07-28 Torvald Riegel <triegel@redhat.com>
2033
2034 * aatree.h (aa_tree::remove): New.
2035 (aa_tree::operator new): Add placement new.
2036
20372011-07-02 Torvald Riegel <triegel@redhat.com>
2038
2039 * containers.h: New file.
2040 * util.cc (xmalloc, xrealloc): Accept cacheline-alloc flag.
2041 * libitm_i.h (xmalloc, xrealloc): Moved declarations from here ...
2042 * common.h: ... to here.
2043 (local_undo): Use GTM::vector for gtm_transaction::local_undo.
2044 * local.cc: Same.
2045
20462011-06-30 Torvald Riegel <triegel@redhat.com>
2047
2048 * libitm_i.h (STATE_ABORTING): Remove.
2049 * beginend.cc (_ITM_abortTransaction): Same.
2050 (GTM::gtm_transaction::trycommit_and_finalize): Same.
2051 * libitm.h (_ITM_registerThrownObject, _ITM_tryCommitTransaction): Remove.
2052 (_ITM_rollbackTransaction): Remove.
2053 * beginend.cc: Same.
2054 * libitm.map: Same.
2055 * libitm.texi: Document these ABI changes.
2056
20572011-06-30 Torvald Riegel <triegel@redhat.com>
2058
2059 * libitm.texi: New file.
2060 * Makefile.am: Add libitm.texi.
2061 * Makefile.in: Rebuild.
2062
20632011-06-30 Torvald Riegel <triegel@redhat.com>
2064
2065 * libitm_i.h: Move parts to common.h and dispatch.h.
2066 * common.h: New file.
2067 * dispatch.h: New file, new dispatch class.
2068 Rename GTM::abi_dispatch::lock_type to ls_modifier.
2069 RenameGTM::abi_dispatch::NOLOCK to NONTXNAL.
2070 * beginend.cc (GTM::gtm_transaction::begin_transaction): Delegate mode
2071 decision to retry.cc.
2072 * retry.cc (GTM::gtm_transaction::decide_retry_strategy): Use serial mode
2073 only.
2074 (GTM::gtm_transaction::decide_begin_dispatch): Same.
2075 * method-serial.cc: Adapt to new dispatch. Add serial mode with undo
2076 logging.
2077 * barrier.cc: Use new barriers definitions.
2078 (abi_dispatch::memmove_overlap_check): New.
2079 * config/x86/x86_sse.cc: Same.
2080 * config/x86/x86_avx.cc: Same.
2081 * Makefile.am: Don't build readonly and wbetl methods, memset.cc and
2082 memcpy.cc.
2083 * Makefile.in: Rebuild.
2084 * method-readonly.cc: Remove.
2085 * method-wbetl.cc: Rename GTM::abi_dispatch::lock_type to ls_modifier.
2086 Rename GTM::abi_dispatch::NOLOCK to NONTXNAL.
2087
20882011-06-30 Torvald Riegel <triegel@redhat.com>
2089
2090 * alloc_c.cc (_ITM_dropReferences): Don't support it anymore.
2091 * testsuite/libitm.c++/dropref.C: _ITM_dropReferences is expected to fail.
2092 * testsuite/libitm.c/dropref-2.c: Same.
2093 * testsuite/libitm.c/dropref.c: Same.
2094
20952011-06-30 Torvald Riegel <triegel@redhat.com>
2096
2097 * config/generic/tls.h (gtm_disp): Rename to abi_disp.
2098 * config/generic/tls.h (set_gtm_disp): Rename to set_abi_disp.
2099 * libitm_i.h: Rename gtm_dispatch to abi_dispatch.
2100 * alloc_c.cc: Same.
2101 * barrier.tpl: Same.
2102 * beginend.c: Same.
2103 * config/generic/tls.h: Same.
2104 * config/x86/tls.h: Same.
2105 * libitm_i.h: Same.
2106 * memcpy.cc: Same.
2107 * memset.cc: Same.
2108 * method-readonly.cc: Same.
2109 * method-serial.cc: Same.
2110 * method-wbetl.cc: Same.
2111 * retry.cc: Same.
2112
21132011-03-03 Richard Henderson <rth@redhat.com>
2114
2115 * config/posix/rwlock.cc (write_upgrade): Add missing case.
2116 From Patrik Marlier <patrick.marlier@unine.ch>.
2117
21182011-02-03 Richard Henderson <rth@redhat.com>
2119
2120 * acinclude.m4 (LIBITM_CHECK_SIZE_T_MANGLING): New.
2121 * configure.ac: Use it.
2122 * configure, config.h.in: Rebuild.
2123 * alloc_cpp.cc (_ZnwX): Use MANGLE_SIZE_T in constructing the name.
2124 (_ZnaX, _ZnwXRKSt9nothrow_t, _ZnaXRKSt9nothrow_t, _ZGTtnwX,
2125 _ZGTtnaX, _ZGTtnwXRKSt9nothrow_t, _ZGTtnaXRKSt9nothrow_t): Likewise.
2126 * libitm.map: Use wildcards to match size_t mangling.
2127
21282010-12-14 Richard Henderson <rth@redhat.com>
2129
2130 * beginend.cc (GTM::gtm_transaction::begin_transaction): Allocate
2131 blocks of TIDs per thread.
2132 * config/generic/tls.h (struct gtm_thread): Add local_tid member.
2133 (setup_gtm_thr): Return the thread structure.
2134 * config/x86/tls.h (setup_gtm_thr): Likewise.
2135
21362010-12-14 Richard Henderson <rth@redhat.com>
2137
2138 * clone.cc (table_lock): Remove.
2139 (find_clone): Don't take it.
2140 (ExcludeTransaction): New helper class.
2141 (_ITM_registerTMCloneTable): Use it.
2142 (_ITM_deregisterTMCloneTable): Likewise.
2143
21442010-12-14 Richard Henderson <rth@redhat.com>
2145
2146 * config/x86/tls.h: New file.
2147
21482010-07-15 Richard Henderson <rth@redhat.com>
2149
2150 * Makefile.am (AM_CXXFLAGS): Add -funwind-tables.
2151 * Makefile.in: Rebuild.
2152
21532010-07-13 Aldy Hernandez <aldyh@redhat.com>
2154
2155 * method-wbetl.cc (trydropreference): Fix source line.
2156
21572010-07-13 Aldy Hernandez <aldyh@redhat.com>
2158
2159 * libitm.h: Add comment.
2160 * libitm_i.h (begin_transaction): Add ITM_REGPARM.
2161
21622010-07-07 Aldy Hernandez <aldyh@redhat.com>
2163
2164 * configure.ac: Call LIBITM_CHECK_64BIT_SYNC_BUILTINS.
2165 * beginend.cc (begin_transaction): If 64-bit sync builtins are not
2166 available, use pthread mutexes.
2167 * acinclude.m4 (LIBITM_CHECK_64BIT_SYNC_BUILTINS): New.
2168 * config.h.in: Regenerate.
2169 * configure: Regenerate.
2170
21712010-07-06 Aldy Hernandez <aldyh@redhat.com>
2172
2173 * libitm.h (ITM_PURE): Define.
2174 Declare _ITM_malloc, _ITM_calloc, and _ITM_free.
2175
21762010-06-28 Aldy Hernandez <aldyh@redhat.com>
2177
2178 * method-wbetl.cc (class wbetl_dispatch): Add trydropreference.
2179 (validate): Add comment.
2180 (trydropreference): New.
2181 * method-readonly.cc (class readonly_dispatch): Add
2182 trydropreference.
2183 * alloc_c.cc (_ITM_dropReferences): Remove const attribute.
2184 Call trydropreference().
2185 * libitm.h (_ITM_dropReferences): Remove const attribute.
2186 * method-serial.cc (class serial_dispatch): Add trydropreference.
2187 * libitm_i.h (struct gtm_dispatch): Add trydropreference.
2188
21892010-06-28 Aldy Hernandez <aldyh@redhat.com>
2190
2191 * memcpy.cc (do_memcpy): Comment.
2192
21932010-06-25 Aldy Hernandez <aldyh@redhat.com>
2194
2195 * barrier.tpl: Add comments throughout.
2196
21972010-06-24 Aldy Hernandez <aldyh@redhat.com>
2198
2199 * method-wbetl.cc (struct w_entry): Add comments.
2200 (trycommit): Same.
2201 (rollback): Same.
2202
22032010-06-24 Aldy Hernandez <aldyh@redhat.com>
2204
2205 * alloc_c.cc (_ITM_dropReferences): New.
2206 * libitm.map (_ITM_dropReferences): Add.
2207 * libitm.h (_ITM_dropReferences): Add transaction_pure attribute.
2208 * libitm_i.h (struct gtm_transaction): Declare
2209 drop_references_allocations and drop_references_local.
2210 * local.cc (rollback_local): Ignore memory when applicable.
2211 (drop_references_local): New.
2212
22132010-06-23 Richard Henderson <rth@redhat.com>
2214
2215 * barrier.tpl, beginend.cc, clone.cc, tls.h, memcpy.cc,
2216 memset.cc, method-serial.cc: Revert the 2010-06-16 change.
2217 * config/x86/target.h (struct gtm_jmpbuf): Change CFA type to void*.
2218 * config/alpha/target.h: Likewise.
2219 * config/generic/tls.cc (gtm_mask_stack): Use it.
2220
22212010-06-23 Richard Henderson <rth@redhat.com>
2222
2223 * config/posix/cachepage.cc (gtm_cacheline_page::operator new): Use
2224 a mutex instead of trying a lock-free compare-and-swap on the list.
2225 (gtm_cacheline_page::operator delete): Likewise.
2226
22272010-06-16 Richard Henderson <rth@redhat.com>
2228
2229 * method-wbetl.cc (wbetl_dispatch::trycommit): Discard changes
2230 that overlap the libitm stack.
2231 * barrier.tpl: Mark incoming stack.
2232 * beginend.cc (_ITM_rollbackTransaction, _ITM_abortTransaction,
2233 _ITM_commitTransaction, _ITM_commitTransactionEH): Likewise.
2234 * clone.cc (_ITM_getTMCloneOrIrrevocable): Likewise.
2235 * memcpy.cc, memset.cc: Likewise.
2236 * method-serial.cc (_ITM_changeTransactionMode): Likewise.
2237 * config/generic/tls.h (gtm_thread): Add stack_top member.
2238 (gtm_stack_top, set_gtm_stack_top, struct gtm_stack_marker): New.
2239 * libitm_i.h (gtm_mask_stack): Declare.
2240 * config/generic/tls.cc: New file.
2241 * Makefile.am (libitm_la_SOURCES): Add it.
2242 (AM_CXXFLAGS): Turn off exceptions.
2243 * Makefile.in: Rebuild.
2244
22452010-06-16 Richard Henderson <rth@redhat.com>
2246
2247 * alloc.cc (struct gtm_alloc_action): Move definition ...
2248 * libitm_i.h: ... here.
2249 (class gtm_transaction): Declare new and delete.
2250 * beginend.cc (alloc_tx): Reformulate as operator new.
2251 (free_tx): Reformulate as operator delete.
2252 * config/generic/tls.h (gtm_thread): Change free_tx member to void *.
2253
22542010-06-11 Richard Henderson <rth@redhat.com>
2255
2256 * clone.cc (clone_entry_compare): Fix typo.
2257 From Patrik Marlier <patrick.marlier@unine.ch>.
2258
22592010-05-13 Richard Henderson <rth@redhat.com>
2260
2261 * alloc_c.cc (_ITM_malloc, _ITM_calloc, _ITM_free): Wrap functions
2262 in extern "C".
2263
22642010-05-07 Aldy Hernandez <aldyh@redhat.com>
2265
2266 * libitm_i.h (struct gtm_transaction): Remove
2267 get_allocation_size.
2268 (record_allocation): Remove size parameter.
2269 * libitm.map (_ITM_realloc): Remove.
2270 * alloc_c.cc (_ITM_realloc): Remove.
2271 (_ITM_malloc): Remove size argument to record_allocation.
2272 (_ITM_calloc): Same.
2273 * alloc_cpp.cc (_ZGTtnwm): Same.
2274 (_ZGTtnwmRKSt9nothrow_t): Same.
2275 (_ZGTtnam): Same.
2276 (_ZGTtnamRKSt9nothrow_t): Same.
2277 * alloc.cc (struct gtm_alloc_action): Remove size.
2278 (get_allocation_size): Remove.
2279 (commit_allocations): Add comment.
2280 (record_allocation): Remove size parameter.
2281 (forget_allocation): Remove set of size.
2282
22832010-04-19 Aldy Hernandez <aldyh@redhat.com>
2284
2285 * Makefile.am (abi_version): New.
2286 (AM_CXXFLAGS): Pass abi_version.
2287 * Makefile.in: Regenerate.
2288 * config/x86/unaligned.h: Remove always_inline kludge for vectors.
2289
22902010-04-06 Aldy Hernandez <aldyh@redhat.com>
2291
2292 * clone.cc (_ITM_getTMCloneOrIrrevocable): Rename from
2293 _ITM_getTMCloneOrIrrevokable.
2294 * libitm.h (_ITM_getTMCloneOrIrrevocable): Same.
2295 * libitm.map (_ITM_getTMCloneOrIrrevocable): Same.
2296
22972010-03-26 Aldy Hernandez <aldyh@redhat.com>
2298
2299 * configure.ac: Remove Linux futex support.
2300 * configure.tgt (config_path): Same.
2301 * Makefile.am: Same.
2302 * config/linux: Remove entire directory.
2303 * configure: Rebuild.
2304 * Makefile.in: Rebuild.
2305 * testsuite/Makefile.in: Rebuild.
2306
23072010-03-09 Aldy Hernandez <aldyh@redhat.com>
2308
2309 * retry.cc (decide_retry_strategy): Set state to STATE_SERIAL when
2310 switching to serial mode.
2311 * beginend.cc (trycommit_and_finalize): Unlock serial_lock.
2312
23132010-03-03 Aldy Hernandez <aldyh@redhat.com>
2314
2315 * configure.tgt: Add emacs -*- tags.
2316 * barrier.tpl: Same.
2317
23182010-02-23 Aldy Hernandez <aldyh@redhat.com>
2319
2320 * Makefile.am: Rename serial.cc to method-serial.cc.
2321 * Makefile.in: Regenerate with automake 1.11.1.
2322 * testsuite/Makefile.in: Same.
2323 * aclocal.m4: Regenerate with aclocal 1.11.1.
2324 * method-serial.cc: Rename from serial.cc.
2325 * libitm_i.h (struct gtm_transaction): Update comment on
2326 serialirr_mode.
2327
23282010-02-22 Aldy Hernandez <aldyh@redhat.com>
2329
2330 * libitm_i.h (GTM_longjmp): Add ITM_REGPARM.
2331 * config/linux/rwlock.h (class gtm_rwlock): Add comments.
2332
23332010-02-11 Aldy Hernandez <aldyh@redhat.com>
2334
2335 * configure: Rebuild.
2336
23372009-11-12 Richard Henderson <rth@redhat.com>
2338
2339 * Rewrite everything in C++.
2340
23412009-11-03 Richard Henderson <rth@redhat.com>
2342
2343 * config/x86/x86_sse.c, config/x86/x86_avx.c: New files.
2344 * Makefile.am (libitm_la_SOURCES): Add them.
2345 * configure.ac (ARCH_X86): New conditional.
2346 * Makefile.in, configure: Rebuild.
2347 * configure.tgt: Set up ARCH; do cflags setup at the same time.
2348 Move futex setup into "other system configury" case.
2349 * local.c (rollback_local): Merge into ...
2350 (GTM_rollback_local): ... here.
2351 (GTM_LB): Rename from GTM_alloc_local; do the memcpy here.
2352 (_ITM_LB): Define as an alias to GTM_LB.
2353
23542009-11-03 Richard Henderson <rth@redhat.com>
2355
2356 * method-readonly.c: New file.
2357 * Makefile.am (libitm_la_SOURCES): Add it.
2358 * Makefile.in: Rebuild.
2359 * beginend.c (gtm_stmlock_array, gtm_clock): New.
2360 (GTM_begin_transaction): Use dispatch_readonly for read-only txn.
2361 * libitm_i.h (gtm_stmlock, gtm_version): Move from method-wbetl.c.
2362 (GTM_VERSION_MAX, GTM_VERSION_INVALID, gtm_stmlock_owned_p,
2363 gtm_stmlock_set_owned, gtm_stmlock_get_addr,
2364 gtm_stmlock_get_version, gtm_stmlock_set_version, LOCK_ARRAY_SIZE,
2365 gtm_stmlock_array, gtm_get_stmlock, gtm_clock, RESTART_NOT_READONLY,
2366 gtm_get_clock, gtm_inc_clock): New.
2367 * method-wbetl.c (gtm_version, gtm_stmlock, OWNED_MASK, VERSION_MAX,
2368 LOCK_GET_OWNED, LOCK_SET_ADDR, LOCK_GET_ADDR, LOCK_GET_TIMESTAMP,
2369 LOCK_SET_TIMESTAMP, LOCK_ARRAY_SIZE, LOCK_MASK, LOCK_IDX, GET_LOCK,
2370 locks, gclock, CLOCK, GET_CLOCK, FETCH_AND_INC_CLOCK): Remove and
2371 replace uses with new libitm_i.h symbols.
2372 (dispatch_wbetl): Rename from wbetl_dispatch.
2373 * retry.c (GTM_decide_retry_strategy): If RESTART_NOT_READONLY, move
2374 away from dispatch_readonly; abort if the beginTransaction call
2375 asserted that the transaction was readonly.
2376
23772009-11-03 Richard Henderson <rth@redhat.com>
2378
2379 * memset.c: New file.
2380 * Makefile.am (libitm_la_SOURCES): Add it.
2381 * Makefile.in: Rebuild.
2382 * testsuite/libitm.c/memset-1.c: New.
2383
23842009-11-03 Richard Henderson <rth@redhat.com>
2385
2386 * dispatch.c: Remove file.
2387 * useraction.c (struct gtm_user_action): Move from libitm.h.
2388 * serial.c (GTM_null_read_lock, GTM_null_write_lock): New.
2389 (serial_memset, serial_memmove, serial_memcpy): Remove.
2390 (serial_W*, serial_R*): Remove.
2391 (serial_dispatch): Update to match.
2392 * configure.ac: Move Werror down below configure checks. Don't
2393 check for sys/loadavg.h, do check for malloc.h. Don't check for
2394 getloadavg and clock_gettime; do check for memalign, posix_memalign.
2395 Use GCC_AC_FUNC_MMAP_BLACKLIST
2396 * libitm.h: Split out all internal items to...
2397 * libitm_i.h: ... here. New file.
2398 * copymask.c: New file.
2399 * local.c (struct gtm_local_undo): Move from libitm.h.
2400 (GTM_alloc_local): Rename from alloc_local; export.
2401 * memcpy.c: New file.
2402 * alloc_c.c (_ITM_realloc): Use _ITM_memcpyRnWt directly.
2403 * config/posix/page.c: New file.
2404 * config/posix/target_tls.h: Remove file.
2405 * barrier.c: New file.
2406 * Makefile.am (libitm_la_SOURCES): Add barrier.c, memcpy.c,
2407 copymask.c, page.c.
2408 * alloc.c (struct gtm_alloc_action): Move from libitm.h.
2409 * method-wbetl.c: Rewrite for new cacheline methods.
2410 * Makefile.in, configure, testsuite/Makefile.in, config.h.in: Rebuild.
2411
2412 * config/alpha/sjlj.S: Fix typo.
2413 * config/alpha/target_i.h: Copy functions from alpha/target.h.
2414 * config/alpha/copymask.c: New file.
2415 * config/alpha/target.h (CACHELINE_SIZE): New.
2416 (STRICT_ALIGNMENT, PAGE_SIZE, FIXED_PAGE_SIZE): New.
2417
2418 * config/x86/target_i.h: Copy functions from x86/target.h.
2419 * config/x86/copymask.c: New file.
2420 * config/x86/target.h (_ITM_ALL_TARGET_TYPES): Remove.
2421 (CACHELINE_SIZE, STRICT_ALIGNMENT): New.
2422 (PAGE_SIZE, FIXED_PAGE_SIZE): New.
2423 * config/x86/target_tls.h: Move contents to target_i.h.
2424
2425 * testsuite/libitm.c/clone-1.c: Include libitm.h.
2426 * testsuite/libitm.c/memcpy-1.c: New.
2427
24282009-10-22 Richard Henderson <rth@redhat.com>
2429
2430 * Makefile.am (CCAS, CCASFLAGS, LTCCASCOMPILE): Remove.
2431 (AM_CCASFLAGS): New.
2432 * configure.ac: Add AM_PROG_AS. Use m4_rename_force for
2433 saving/restoring _AC_ARG_VAR_PRECIOUS.
2434 * Makefile.in, aclocal.m4, config.h.in, configure,
2435 testsuite/Makefile.in: Rebuild with automake 1.11; autoconf 2.64.
2436
24372009-10-22 Richard Henderson <rth@redhat.com>
2438
2439 * testsuite/*: Update for new compiler syntax.
2440
24412009-10-21 Richard Henderson <rth@redhat.com>
2442
2443 * libitm.h (_ITM_abortReason): Add outerAbort.
2444
24452009-08-03 Richard Henderson <rth@redhat.com>
2446
2447 * libitm.map (_ITM_commitTransactionEH, _ITM_cxa_allocate_exception,
2448 _ITM_cxa_begin_catch, _ITM_cxa_end_catch, _ITM_cxa_throw): Export.
2449 * method-wbetl.c (struct w_entry): Remove mask.
2450 (wbetl_write, wbetl_load): Return pointer to word containing the data;
2451 adjust all callers.
2452
24532009-07-22 Richard Henderson <rth@redhat.com>
2454
2455 * eh_cpp.c: New file.
2456 * Makefile.am (libitm_la_SOURCES): Add it.
2457 * Makefile.in: Rebuild.
2458 * beginend.c (GTM_rollback_transaction): Undo exception state.
2459 (GTM_trycommit_transaction): Mark inline.
2460 (GTM_trycommit_and_finalize_transaction): Split out from ...
2461 (_ITM_commitTransaction): ... here.
2462 (_ITM_commitTransactionEH): New function.
2463 * libitm.h (struct gtm_transaction): Add cxa_catch_count,
2464 cxa_unthrown, eh_in_flight; reorder.
2465
2466 * testsuite/libitm.c++/c++.exp: New.
2467 * testsuite/libitm.c++/eh-1.C: New.
2468
2469 * aatree.c (aa_free): Remove REGPARM.
2470 * aatree.h: Remove all REGPARM.
2471
24722009-07-18 Richard Henderson <rth@redhat.com>
2473
2474 * aatree.c, aatree.h, alloc.c, alloc_c.c, alloc_cpp.c: New files.
2475 * Makefile.am (libitm_la_SOURCES): Add them.
2476 * Makefile.in: Rebuild.
2477 * beginend.c (GTM_rollback_transaction): Use GTM_commit_allocations.
2478 (GTM_trycommit_transaction): Likewise.
2479 * libitm.h: Include aatree.h
2480 (struct gtm_alloc_action): New.
2481 (struct gtm_transaction): Add alloc_actions.
2482 (GTM_record_allocation, GTM_forget_allocation): Declare.
2483 (GTM_get_allocation_size, GTM_commit_allocations): Declare.
2484 * libitm.map (_ITM_malloc, _ITM_calloc, _ITM_realloc, _ITM_free,
2485 _ZGTtnwm, _ZGTtnam, _ZGTtdlPv, _ZGTtdaPv, _ZGTtnwmRKSt9nothrow_t,
2486 _ZGTtnamRKSt9nothrow_t, _ZGTtdlPvRKSt9nothrow_t,
2487 _ZGTtdaPvRKSt9nothrow_t): Export.
2488
24892009-07-18 Richard Henderson <rth@redhat.com>
2490
2491 * target_tls.h: Move ...
2492 * config/posix/target_tls.h: ... here.
2493
24942009-07-07 Richard Henderson <rth@redhat.com>
2495
2496 * config/x86/target.h (atomic_write_barrier): Use sfence if available.
2497
24982009-07-07 Richard Henderson <rth@redhat.com>
2499
2500 * Update to GPL3.
2501
25022009-07-07 Richard Henderson <rth@redhat.com>
2503
2504 * libitm.h (struct gtm_transaction): Widen id to _ITM_transactionId_t.
2505 * beginend.c (global_tid): Widen to _ITM_transactionId_t.
2506
2507 * configure.tgt: Don't use -ftls-model for x86 linux.
2508 * libitm.h: Include target.h after standard includes.
2509 (_gtm_thr): Rename from gtm_thr.
2510 (setup_gtm_thr, gtm_thr, gtm_tx, set_gtm_tx): New.
2511 (gtm_disp, set_gtm_disp): New.
2512 * beginend.c, dispatch.c, local.c, method-wbetl.c, query.c,
2513 retry.c, serial.c, useraction.c: Use accessor functions throughout.
2514 * config/alpha/target_tls.h, config/x86/target_tls.h: New files.
2515
25162009-07-07 Richard Henderson <rth@redhat.com>
2517
2518 * config/linux/rwlock.c (EZ): New define. Use it throughout.
2519
25202009-07-06 Richard Henderson <rth@redhat.com>
2521
2522 * libitm.h (_ITM_SRCLOCATION_DECL_1, _ITM_SRCLOCATION_DECL_2): Remove.
2523 (_ITM_SRCLOCATION_DEFN_1, _ITM_SRCLOCATION_DEFN_2): Remove.
2524 (_ITM_beginTransaction): Take variadic arguments.
2525 (_ITM_registerThrownObject): Declare.
2526 * beginend.c, serial.c: Update.
2527 * libitm.map: Add _ITM_registerThrownObject.
2528
25292009-01-28 Richard Henderson <rth@redhat.com>
2530
2531 * Makefile.am (libitm_la_SOURCES): Add clone.c.
2532 * Makefile.in: Rebuild.
2533 * beginend.c (_ITM_abortTransaction): Abort if irrevokable.
2534 (GTM_restart_transaction): Fix uninstrumented code check.
2535 * retry.c (GTM_decide_retry_strategy): Add serial check.
2536 * serial.c (GTM_serialmode): Add irrevokable variable. Don't
2537 automatically go irrevokable when in serial mode.
2538 * clone.c: New file.
2539 * libitm.h, libitm.map: Update.
2540
25412009-01-27 Richard Henderson <rth@redhat.com>
2542
2543 * Makefile.am (LTCCASCOMPILE): Define.
2544 (libitm_la_SOURCES): Add methid-wbetl.c.
2545 * testsuite/Makefile.am: New
2546 * configure.ac: Add testsuite/Makefile.
2547 * Makefile.in, testsuite/Makefile.in, configure: Regenerate.
2548 * beginend.c (GTM_begin_transaction): Install wbetl_dispatch.
2549 (_ITM_abortTransaction): Finalize implementation method; pass
2550 transaction properties to longjmp.
2551 (GTM_restart_transaction): Split out from ...
2552 (_ITM_commitTransaction): ... here.
2553 * config/linux/x86/futex_bits.h (cpu_relax, atomic_write_barrier):
2554 Move to config/x86/target.h.
2555 * config/linux/alpha/futex_bits.h: New.
2556 * config/x86/sjlj.S (GTM_longjmp): Fix 64-bit input register.
2557 * config/x86/target.h: Disable target types for 32-bit.
2558 * config/alpha/sjlj.S, config/alpha/target.h: New.
2559 * libitm.h (struct gtm_dispatch): Add init, fini.
2560 (enum restart_reason): New.
2561 (struct gtm_transaction): Add method and restarts.
2562 * retry.c (GTM_decide_retry_strategy): Implement.
2563 * serial.c (serial_init, serial_fini): New.
2564 (GTM_serialmode): Finialize outgoing method.
2565 * method-wbetl.c: New.
2566
25672008-12-09 Richard Henderson <rth@redhat.com>
2568
2569 * config/x86/target.h (_ITM_ALL_TARGET_TYPES, _ITM_TYPE_ATTR): New.
2570 * configure.tgt (i386-*, x86_64-*): Don't force SSE.
2571 * dispatch.c (_ITM_##R##T, _ITM_##W##T): Use _ITM_TYPE_ATTR.
2572 * libitm.h (_ITM_ALL_TARGET_TYPES, _ITM_TYPE_ATTR): Provide default.
2573 (_ITM_TYPE_M64, _ITM_TYPE_M128, _ITM_TYPE_M256): Move to x86 header.
2574 (_ITM_ALL_TYPES): Use _ITM_ALL_TARGET_TYPES.
2575 * local.c (_ITM_L##T): Use _ITM_TYPE_ATTR.
2576 * serial.c (serial_R##T, serial_W##T): Likewise.
2577
25782008-11-21 Richard Henderson <rth@redhat.com>
2579
2580 * Initial commit.
21fa2a29 2581\f
877e3c2a 2582Copyright (C) 2008-2022 Free Software Foundation, Inc.
21fa2a29
JJ
2583
2584Copying and distribution of this file, with or without modification,
2585are permitted in any medium without royalty provided the copyright
2586notice and this notice are preserved.