]> git.ipfire.org Git - thirdparty/gcc.git/blame - libitm/ChangeLog
Daily bump.
[thirdparty/gcc.git] / libitm / ChangeLog
CommitLineData
4b92dba7
GA
12023-08-07 Nick Alcock <nick.alcock@oracle.com>
2
3 * configure: Regenerate.
4
52023-08-07 Alexander von Gluck IV <kallisti5@unixzen.com>
6
7 * configure: Regenerate.
8
92023-08-07 Nick Alcock <nick.alcock@oracle.com>
10
11 * configure: Regenerate.
12
132023-08-07 Nick Alcock <nick.alcock@oracle.com>
14
15 * configure: Regenerate.
16
172023-08-07 H.J. Lu <hjl.tools@gmail.com>
18
19 * configure: Regenerate.
20
212023-08-07 H.J. Lu <hjl.tools@gmail.com>
22
23 * configure: Regenerate.
24
829d5975
GA
252023-06-02 Thomas Schwinge <thomas@codesourcery.com>
26
27 * configure.ac (PERL): Remove.
28 * configure: Regenerate.
29 * Makefile.in: Likewise.
30 * testsuite/Makefile.in: Likewise.
31
fee53a31
GA
322023-01-02 Jakub Jelinek <jakub@redhat.com>
33
34 * libitm.texi: Bump @copying's copyright year.
35
83d400bd
GA
362022-11-14 Martin Liska <mliska@suse.cz>
37
38 Revert:
39 2022-11-14 Martin Liska <mliska@suse.cz>
40
41 * doc/c-c++-language-constructs-for-tm.rst: New file.
42 * doc/conf.py: New file.
43 * doc/copyright.rst: New file.
44 * doc/enabling-libitm.rst: New file.
45 * doc/gnu-free-documentation-license.rst: New file.
46 * doc/index.rst: New file.
47 * doc/indices-and-tables.rst: New file.
48 * doc/internals.rst: New file.
49 * doc/locking-conventions.rst: New file.
50 * doc/nesting-flat-vs-closed.rst: New file.
51 * doc/the-libitm-abi.rst: New file.
52 * doc/the-libitm-abi/function-list.rst: New file.
53 * doc/the-libitm-abi/future-enhancements-to-the-abi.rst: New file.
54 * doc/the-libitm-abi/library-design-principles.rst: New file.
55 * doc/the-libitm-abi/memory-model.rst: New file.
56 * doc/the-libitm-abi/non-objectives.rst: New file.
57 * doc/the-libitm-abi/objectives.rst: New file.
58 * doc/the-libitm-abi/sample-code.rst: New file.
59 * doc/the-libitm-abi/types-and-macros-list.rst: New file.
60 * doc/tm-methods-and-method-groups.rst: New file.
61
622022-11-14 Martin Liska <mliska@suse.cz>
63
64 Revert:
65 2022-11-14 Martin Liska <mliska@suse.cz>
66
67 * Makefile.in: Support Sphinx based documentation.
68
692022-11-14 Martin Liska <mliska@suse.cz>
70
71 Revert:
72 2022-11-14 Martin Liska <mliska@suse.cz>
73
74 * libitm.texi: Removed.
75
762022-11-14 Martin Liska <mliska@suse.cz>
77
78 Revert:
79 2022-11-14 Martin Liska <mliska@suse.cz>
80
81 * Makefile.in: Support --with-sphinx-build.
82 * configure.ac: Likewise.
83 * configure: Regenerate.
84
852022-11-14 Martin Liska <mliska@suse.cz>
86
87 Revert:
88 2022-11-14 Martin Liska <mliska@suse.cz>
89
90 * Makefile.in: Build info pages conditionally.
91
922022-11-14 Martin Liska <mliska@suse.cz>
93
94 Revert:
95 2022-11-14 Martin Liska <mliska@suse.cz>
96
97 * doc/c-c++-language-constructs-for-tm.rst:
3d3b561f 98 Add trailing newline.
83d400bd 99 * doc/copyright.rst:
3d3b561f 100 Add trailing newline.
83d400bd 101 * doc/enabling-libitm.rst:
3d3b561f 102 Add trailing newline.
83d400bd 103 * doc/gnu-free-documentation-license.rst:
3d3b561f 104 Add trailing newline.
83d400bd 105 * doc/index.rst:
3d3b561f 106 Add trailing newline.
83d400bd 107 * doc/indices-and-tables.rst:
3d3b561f 108 Add trailing newline.
83d400bd 109 * doc/internals.rst:
3d3b561f 110 Add trailing newline.
83d400bd 111 * doc/locking-conventions.rst:
3d3b561f 112 Add trailing newline.
83d400bd 113 * doc/nesting-flat-vs-closed.rst:
3d3b561f 114 Add trailing newline.
83d400bd 115 * doc/the-libitm-abi.rst:
3d3b561f 116 Add trailing newline.
83d400bd 117 * doc/the-libitm-abi/function-list.rst:
3d3b561f 118 Add trailing newline.
83d400bd 119 * doc/the-libitm-abi/future-enhancements-to-the-abi.rst:
3d3b561f 120 Add trailing newline.
83d400bd 121 * doc/the-libitm-abi/library-design-principles.rst:
3d3b561f 122 Add trailing newline.
83d400bd 123 * doc/the-libitm-abi/memory-model.rst:
3d3b561f 124 Add trailing newline.
83d400bd 125 * doc/the-libitm-abi/non-objectives.rst:
3d3b561f 126 Add trailing newline.
83d400bd 127 * doc/the-libitm-abi/objectives.rst:
3d3b561f 128 Add trailing newline.
83d400bd 129 * doc/the-libitm-abi/sample-code.rst:
3d3b561f 130 Add trailing newline.
83d400bd 131 * doc/the-libitm-abi/types-and-macros-list.rst:
3d3b561f 132 Add trailing newline.
83d400bd 133 * doc/tm-methods-and-method-groups.rst:
3d3b561f 134 Add trailing newline.
83d400bd
GA
135
1362022-11-14 Martin Liska <mliska@suse.cz>
137
138 Revert:
139 2022-11-14 Martin Liska <mliska@suse.cz>
140
141 * Makefile.in: Add missing HAS_SPHINX_BUILD.
142
1432022-11-14 Martin Liska <mliska@suse.cz>
144
145 Revert:
146 2022-11-14 Martin Liska <mliska@suse.cz>
147
148 * doc/conf.py: Add newline at last line.
149
1502022-11-14 Martin Liska <mliska@suse.cz>
151
152 Revert:
153 2022-11-14 Martin Liska <mliska@suse.cz>
154
155 PR other/107620
156 * configure: Regenerate.
157 * configure.ac: Always set sphinx-build.
158
eefbfbc7
GA
1592022-11-13 Martin Liska <mliska@suse.cz>
160
161 PR other/107620
162 * configure: Regenerate.
163 * configure.ac: Always set sphinx-build.
164
f225b813
GA
1652022-11-10 Martin Liska <mliska@suse.cz>
166
167 * doc/conf.py: Add newline at last line.
168
1cdfd0e5
GA
1692022-11-09 Martin Liska <mliska@suse.cz>
170
171 * Makefile.in: Add missing HAS_SPHINX_BUILD.
172
1732022-11-09 Martin Liska <mliska@suse.cz>
174
175 * doc/c-c++-language-constructs-for-tm.rst:
3d3b561f 176 Add trailing newline.
1cdfd0e5 177 * doc/copyright.rst:
3d3b561f 178 Add trailing newline.
1cdfd0e5 179 * doc/enabling-libitm.rst:
3d3b561f 180 Add trailing newline.
1cdfd0e5 181 * doc/gnu-free-documentation-license.rst:
3d3b561f 182 Add trailing newline.
1cdfd0e5 183 * doc/index.rst:
3d3b561f 184 Add trailing newline.
1cdfd0e5 185 * doc/indices-and-tables.rst:
3d3b561f 186 Add trailing newline.
1cdfd0e5 187 * doc/internals.rst:
3d3b561f 188 Add trailing newline.
1cdfd0e5 189 * doc/locking-conventions.rst:
3d3b561f 190 Add trailing newline.
1cdfd0e5 191 * doc/nesting-flat-vs-closed.rst:
3d3b561f 192 Add trailing newline.
1cdfd0e5 193 * doc/the-libitm-abi.rst:
3d3b561f 194 Add trailing newline.
1cdfd0e5 195 * doc/the-libitm-abi/function-list.rst:
3d3b561f 196 Add trailing newline.
1cdfd0e5 197 * doc/the-libitm-abi/future-enhancements-to-the-abi.rst:
3d3b561f 198 Add trailing newline.
1cdfd0e5 199 * doc/the-libitm-abi/library-design-principles.rst:
3d3b561f 200 Add trailing newline.
1cdfd0e5 201 * doc/the-libitm-abi/memory-model.rst:
3d3b561f 202 Add trailing newline.
1cdfd0e5 203 * doc/the-libitm-abi/non-objectives.rst:
3d3b561f 204 Add trailing newline.
1cdfd0e5 205 * doc/the-libitm-abi/objectives.rst:
3d3b561f 206 Add trailing newline.
1cdfd0e5 207 * doc/the-libitm-abi/sample-code.rst:
3d3b561f 208 Add trailing newline.
1cdfd0e5 209 * doc/the-libitm-abi/types-and-macros-list.rst:
3d3b561f 210 Add trailing newline.
1cdfd0e5 211 * doc/tm-methods-and-method-groups.rst:
3d3b561f 212 Add trailing newline.
1cdfd0e5
GA
213
2142022-11-09 Martin Liska <mliska@suse.cz>
215
216 * Makefile.in: Build info pages conditionally.
217
2182022-11-09 Martin Liska <mliska@suse.cz>
219
220 * Makefile.in: Support --with-sphinx-build.
221 * configure.ac: Likewise.
222 * configure: Regenerate.
223
2242022-11-09 Martin Liska <mliska@suse.cz>
225
226 * libitm.texi: Removed.
227
2282022-11-09 Martin Liska <mliska@suse.cz>
229
230 * Makefile.in: Support Sphinx based documentation.
231
2322022-11-09 Martin Liska <mliska@suse.cz>
233
234 * doc/c-c++-language-constructs-for-tm.rst: New file.
235 * doc/conf.py: New file.
236 * doc/copyright.rst: New file.
237 * doc/enabling-libitm.rst: New file.
238 * doc/gnu-free-documentation-license.rst: New file.
239 * doc/index.rst: New file.
240 * doc/indices-and-tables.rst: New file.
241 * doc/internals.rst: New file.
242 * doc/locking-conventions.rst: New file.
243 * doc/nesting-flat-vs-closed.rst: New file.
244 * doc/the-libitm-abi.rst: New file.
245 * doc/the-libitm-abi/function-list.rst: New file.
246 * doc/the-libitm-abi/future-enhancements-to-the-abi.rst: New file.
247 * doc/the-libitm-abi/library-design-principles.rst: New file.
248 * doc/the-libitm-abi/memory-model.rst: New file.
249 * doc/the-libitm-abi/non-objectives.rst: New file.
250 * doc/the-libitm-abi/objectives.rst: New file.
251 * doc/the-libitm-abi/sample-code.rst: New file.
252 * doc/the-libitm-abi/types-and-macros-list.rst: New file.
253 * doc/tm-methods-and-method-groups.rst: New file.
254
9a8b868d
GA
2552022-10-31 Xiongchuan Tan <xc-tan@outlook.com>
256
257 * configure.tgt: Add riscv support.
258 * config/riscv/asm.h: New file.
259 * config/riscv/sjlj.S: New file.
260 * config/riscv/target.h: New file.
261
621a911d
GA
2622022-10-13 Lulu Cheng <chenglulu@loongson.cn>
263
264 * config/loongarch/sjlj.S: Add a soft floating point condition to the
265 register recovery part of the code.
266
781f477a
GA
2672022-10-12 Martin Liska <mliska@suse.cz>
268
269 * configure: Regenerate.
270
ab332cd7
GA
2712022-10-11 Olivier Hainque <hainque@adacore.com>
272 Olivier Hainque <hainque@adacore.com>
273
274 * configure: Regenerate.
275
9e79a25b
GA
2762022-09-28 Lulu Cheng <chenglulu@loongson.cn>
277 Yang Yujie <yangyujie@loongson.cn>
278
279 * configure.tgt: Add loongarch support.
280 * config/loongarch/asm.h: New file.
281 * config/loongarch/sjlj.S: New file.
282 * config/loongarch/target.h: New file.
283
542c60c4
GA
2842022-08-31 Martin Liska <mliska@suse.cz>
285
286 * configure: Regenerate.
287
2882022-08-31 Martin Liska <mliska@suse.cz>
289
290 * configure: Regenerate.
291
b168441c
GA
2922022-06-02 David Malcolm <dmalcolm@redhat.com>
293
294 * testsuite/lib/libitm.exp: Add load_gcc_lib of scansarif.exp.
295
682ede39
GA
2962022-02-03 David Seifert <soap@gentoo.org>
297 Jakub Jelinek <jakub@redhat.com>
298
299 * configure.ac: Support --disable-werror.
300 * configure: Regenerate.
301
1bb52662
GA
3022022-01-31 Martin Liska <mliska@suse.cz>
303
304 * acinclude.m4: Detect *_ld_is_mold and use it.
305 * configure: Regenerate.
306
a4ae8c37
GA
3072022-01-03 Jakub Jelinek <jakub@redhat.com>
308
309 * libitm.texi: Bump @copying's copyright year.
310
f4ed2e3a
GA
3112021-11-26 Iain Sandoe <iain@sandoe.co.uk>
312
313 * eh_cpp.cc (GTM::gtm_thread::init_cpp_exceptions): If the
314 target does not support HAVE_ELF_STYLE_WEAKREF then do not
315 try to test the __cxa_get_globals against NULL.
316
688359a2
GA
3172021-06-17 Jonathan Wakely <jwakely@redhat.com>
318
319 PR libstdc++/91488
320 * testsuite/libitm.c++/libstdc++-pr91488.C: New test.
321
2f7f0d32
GA
3222021-01-15 Jakub Jelinek <jakub@redhat.com>
323
324 PR target/70454
325 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
326 be added through preprocessor check on
327 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
328
651b8a50
GA
3292021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
330
331 * configure: Re-generate.
332
b6dd195a
GA
3332021-01-01 Jakub Jelinek <jakub@redhat.com>
334
335 * libitm.texi: Bump @copying's copyright year.
336
6e1edf48
GA
3372020-12-05 Iain Sandoe <iain@sandoe.co.uk>
338
339 PR target/97865
340 * configure.tgt: Add dynamic_lookup to XLDFLAGS for Darwin.
341 * configure: Regenerate.
342
a9625c50
GA
3432020-11-29 John David Anglin <danglin@gcc.gnu.org>
344
345 * configure: Regenerate.
346
6c2675fa
GA
3472020-10-01 Alan Modra <amodra@gmail.com>
348
349 * config/powerpc/sjlj.S: Support __PCREL__ code.
350
53256ee3
GA
3512020-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
352
353 * config/aarch64/sjlj.S: Add conditional pac-ret protection.
354
3f8ca9cb
GA
3552020-07-09 Szabolcs Nagy <szabolcs.nagy@arm.com>
356
357 * config/aarch64/sjlj.S: Add BTI marking and related definitions,
358 and add BTI c to function entries.
359
3602020-07-09 Szabolcs Nagy <szabolcs.nagy@arm.com>
361
362 * config/aarch64/sjlj.S: Add stack note if __FreeBSD__ is defined.
363
885ef72f
GA
3642020-05-29 H.J. Lu <hjl.tools@gmail.com>
365
366 PR bootstrap/95413
367 * configure: Regenerated.
368
4c1a5d8b
L
3692020-05-15 H.J. Lu <hongjiu.lu@intel.com>
370
371 PR bootstrap/95147
372 * configure: Regenerated.
373
8d286dd1
L
3742020-05-14 H.J. Lu <hongjiu.lu@intel.com>
375
376 * configure: Regenerated.
377
f0de5d83
NS
3782020-05-12 Nathan Sidwell <nathan@acm.org>
379
380 Fix throw specifiers on interface.
381 * libitm/libitm.h (_ITM_NOTHROW): Define.
382 (_ITM_cxa_allocate_exception, _ITM_cxa_free_exception)
383 (_ITM_cxa_begin_catch): Use it.
384 * eh_cpp.cc: Add throw() to __cxa_allocate_exception,
385 __cxa_free_exception, __cxa_begin_catch, __cxa_tm_cleanup,
386 __cxa_get_globals.
387 (_ITM_cxa_allocate_exception, _ITM_cxa_free_exception)
388 (_ITM_cxa_begin_catch): Likewise.
389
1136ba01
NS
3902020-05-05 Nathan Sidwell <nathan@acm.org>
391
392 * testsuite/lib/libitm.exp (libitm_init): Add
393 -fdiagnostics-color=never to options.
394
02ce382c
SL
3952020-02-12 Sandra Loosemore <sandra@codesourcery.com>
396
397 PR libstdc++/79193
398 PR libstdc++/88999
399
400 * configure: Regenerated.
401
e8e66971
MR
4022020-01-24 Maciej W. Rozycki <macro@wdc.com>
403
404 * configure.ac: Handle `--with-toolexeclibdir='.
405 * Makefile.in: Regenerate.
406 * aclocal.m4: Regenerate.
407 * configure: Regenerate.
408 * testsuite/Makefile.in: Regenerate.
409
7e7065b9
JJ
4102020-01-01 Jakub Jelinek <jakub@redhat.com>
411
8d9254fc
JJ
412 Update copyright years.
413
7e7065b9
JJ
414 * libitm.texi: Bump @copying's copyright year.
415
00484365
SN
4162019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
417
418 PR libgomp/91938
419 * configure.tgt: Avoid IE tls on *-*-musl*.
420
e9085da5
MR
4212019-09-27 Maciej W. Rozycki <macro@wdc.com>
422
423 * configure: Regenerate.
424
b1e21e5a
CL
4252019-09-10 Christophe Lyon <christophe.lyon@st.com>
426
a360a359
CL
427 * config/arm/sjlj.S (ldaddr): Add FDPIC support.
428
4292019-09-10 Christophe Lyon <christophe.lyon@st.com>
430
431 * configure.tgt: Handle *-*-uclinux*.
432 * configure: Regenerate.
b1e21e5a 433
3c086f8d
FW
4342019-09-06 Florian Weimer <fweimer@redhat.com>
435
436 * configure: Regenerate.
437
c6c2d1bc
CLT
4382019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
439
440 PR other/79543
441 * acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Fix GNU ld --version
442 scanning to conform to the GNU Coding Standards.
443 * configure: Regenerate.
444
061a799b
JJ
4452019-05-03 Jakub Jelinek <jakub@redhat.com>
446
447 * Makefile.am (finclude): Remove.
448 * Makefile.in: Regenerated.
449
a5544970
JJ
4502019-01-01 Jakub Jelinek <jakub@redhat.com>
451
452 Update copyright years.
453
3f27508c
JJ
4542019-01-01 Jakub Jelinek <jakub@redhat.com>
455
456 * libitm.texi: Bump @copying's copyright year.
457
784417d1
JJ
4582018-12-16 Jakub Jelinek <jakub@redhat.com>
459
460 PR c++/88482
461 * eh_cpp.cc (__cxa_throw): Change DEST argument type from
462 void * to void (*) (void *).
463 (_ITM_cxa_throw): Likewise.
464 * libitm.h (_ITM_cxa_throw): Likewise.
465 * libitm.texi (_ITM_cxa_throw): Likewise.
466
d1573fe0
PB
4672018-12-13 Peter Bergner <bergner@linux.ibm.com>
468
469 * config/powerpc/target.h (htm_available): Add support for
470 PPC_FEATURE2_HTM_NO_SUSPEND. Use __builtin_cpu_supports if available.
471
22e05272
JM
4722018-10-31 Joseph Myers <joseph@codesourcery.com>
473
474 PR bootstrap/82856
475 * Makefile.am: Include multilib.am.
476 (AUTOMAKE_OPTIONS): Add info-in-builddir.
477 (CLEANFILES): Remove libitm.info.
478 * configure.ac: Remove AC_PREREQ.
479 * testsuite/Makefile.am (RUNTEST): Remove quotes.
480 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
481 Regenerate.
482
1f82422a
NK
4832018-10-30 Nicholas Krause <xerofoify@gmail.com>
484
a2e0398a 485 PR libitm/86293
1f82422a
NK
486 * method-serial.cc: Mark varible as potentially unused
487 to silence warning.
488
f6a9dfd3
ST
4892018-08-03 Sergei Trofimovich <slyfox@gentoo.org>
490
491 * config/sh/sjlj.S: Adjust to use PIC vs normal code to avoid
492 absolute relocation in a shared library.
493
97cad511
L
4942018-06-12 H.J. Lu <hongjiu.lu@intel.com>
495
496 PR libitm/85988
497 * config/linux/x86/tls.h (SEG_READ): Use the offset of
498 __private_tm as base.
499 (SEG_WRITE): Likewise.
500 (SEG_ENCODE_WRITE): Correct the offset of pointer_guard for x32.
501 (gtm_thr): Replace SEG_READ(10) with SEG_READ(0).
502 (set_gtm_thr): Replace SEG_WRITE(10) with SEG_WRITE(0).
503 (abi_disp): Replace SEG_DECODE_READ(11) with SEG_DECODE_READ(1).
504 (set_abi_disp): Replace SEG_ENCODE_WRITE(11) with
505
b46b715d
JM
5062018-05-17 Jason Merrill <jason@redhat.com>
507
508 * beginend.cc (save): Disable -Werror=deprecated-copy.
509
9220b511
TV
5102018-05-02 Tom de Vries <tom@codesourcery.com>
511
512 PR testsuite/85106
513 * testsuite/lib/libitm.exp: Include scanltranstree.exp.
514
6c3c13c1
TV
5152018-05-02 Tom de Vries <tom@codesourcery.com>
516
517 PR testsuite/85106
518 * testsuite/lib/libitm.exp: Include scanwpaipa.exp.
519
ffc2fc06
L
5202018-04-24 H.J. Lu <hongjiu.lu@intel.com>
521
522 * config/x86/sjlj.S (_ITM_beginTransaction): Add
523 (__CET__ & 2) != 0 check for shadow stack.
524 (GTM_longjmp): Likewise.
525
7b47ecf2
L
5262018-04-24 H.J. Lu <hongjiu.lu@intel.com>
527
528 * configure: Regenerated.
529
0ef9f21d
L
5302018-04-23 H.J. Lu <hongjiu.lu@intel.com>
531
532 PR target/85489
533 * config/x86/sjlj.S (GTM_longjmp): Replace jle/jg with jbe/ja.
534
a0e1df88
JJ
5352018-04-19 Jakub Jelinek <jakub@redhat.com>
536
537 * configure: Regenerated.
538
001ddaa8
DM
5392018-04-18 David Malcolm <dmalcolm@redhat.com>
540
541 PR jit/85384
542 * configure: Regenerate.
543
14e335ed
IT
5442018-02-14 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
545
546 PR target/84148
547 * configure: Regenerate.
548
65e6aea3
JJ
5492018-01-03 Jakub Jelinek <jakub@redhat.com>
550
85ec4feb
JJ
551 Update copyright years.
552
65e6aea3
JJ
553 * libitm.texi: Bump @copying's copyright year.
554
c51081fc
IT
5552017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
556
557 * Makefile.in: Regenerate.
558 * acinclude.m4: Add enable.m4 and cet.m4.
559 * config/x86/sjlj.S: Include cet.h.
560 (_ITM_beginTransaction): Add _CET_ENDBR.
561 Save Shadow Stack pointer.
562 (GTM_longjmp): Add _CET_ENDBR. Restore Shadow Stack pointer.
563 * config/x86/target.h (struct gtm_jmpbuf):
564 Add new field for Shadow Stack pointer.
565 * configure: Regenerate.
566 * configure.ac: Set CET_FLAGS. Update XCFLAGS.
567 * configure.ac: Update libtool_VERSION for x86.
568 * testsuite/Makefile.in: Regenerate.
569
cc03e55b
IT
5702017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
571
572 * libitm/config/x86/target.h: Add new field (ssp).
573 * libitm/config/x86/sjlj.S: Change offsets.
574
62ffe920
RO
5752017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
576
577 * testsuite/lib/libitm.exp: Load scanlang.exp.
578
5764ee3c
JW
5792017-04-03 Jonathan Wakely <jwakely@redhat.com>
580
581 * libitm_i.h (sutrct gtm_thread): Fix typo in comment.
582
73aa401e
JJ
5832017-01-21 Jakub Jelinek <jakub@redhat.com>
584
585 PR other/79046
586 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
587 of cat to get version from BASE-VER file.
588 * testsuite/Makefile.in: Regenerated.
589
16a34ca6
UB
5902017-01-19 Uros Bizjak <ubizjak@gmail.com>
591
592 * config/x86/target.h (htm_available): Determine vendor from
593 __get_cpuid_max return. Use signature_INTEL_ebx. Cleanup.
594
f8a94453
TR
5952017-01-18 Torvald Riegel <triegel@redhat.com>
596
597 * config/x86/target.h (htm_available): Add check for some processors
598 on which TSX is broken.
599
3c36aa6b
JJ
6002017-01-17 Jakub Jelinek <jakub@redhat.com>
601
602 PR other/79046
603 * configure.ac: Add GCC_BASE_VER.
604 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
605 get version from BASE-VER file.
606 * testsuite/Makefile.in: Regenerated.
607 * configure: Regenerated.
608 * Makefile.in: Regenerated.
609
8f56cb51
AM
6102017-01-04 Alan Modra <amodra@gmail.com>
611
612 * Makefile.in: Regenerate.
613 * testsuite/Makefile.in: Regenerate.
614
c1a9c369
JJ
6152017-01-01 Jakub Jelinek <jakub@redhat.com>
616
cbe34bb5
JJ
617 Update copyright years.
618
c1a9c369
JJ
619 * libitm.texi: Bump @copying's copyright year.
620
66dbcf2d
RO
6212016-12-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
622
623 * acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Remove.
624 * aclocal.m4: Regenerate.
625 * configure.ac: Call GCC_CHECK_LINKER_HWCAP instead of
626 LIBITM_CHECK_LINKER_HWCAP.
627
84c1b9d3
MK
6282016-11-15 Matthias Klose <doko@ubuntu.com>
629
630 * configure: Regenerate.
631
831698b8
L
6322016-04-19 H.J. Lu <hongjiu.lu@intel.com>
633
634 PR libitm/70456
635 * util.cc (xmalloc): Use posix_memalign to allocate memory on
636 on cache line if requested.
637
edcbda7e
DV
6382016-03-03 Dominik Vogt <vogt@linux.vnet.ibm.com>
639
640 * config/s390/target.h (TARGET_BEGIN_TRANSACTION_ATTRIBUTE): Define
641 function attribute to disable floating point in begin_transaction() on
642 S/390.
643 * beginend.cc (begin_transaction): Use
644 TARGET_BEGIN_TRANSACTION_ATTRIBUTE.
645
6041f70a
TR
6462016-01-22 Torvald Riegel <triegel@redhat.com>
647
648 * beginend.cc (GTM::gtm_thread::serial_lock): Put on cacheline
649 boundary.
650 (htm_fastpath): Remove.
651 (gtm_thread::begin_transaction): Fix HTM fastpath.
652 (_ITM_commitTransaction): Adapt.
653 (_ITM_commitTransactionEH): Adapt.
654 * libitm/config/linux/rwlock.h (gtm_rwlock): Add htm_fastpath member
655 and accessors.
656 * libitm/config/posix/rwlock.h (gtm_rwlock): Likewise.
657 * libitm/config/posix/rwlock.cc (gtm_rwlock::gtm_rwlock): Adapt.
658 * libitm/config/x86/sjlj.S (_ITM_beginTransaction): Fix HTM fastpath.
659 * libitm/libitm_i.h (htm_fastpath): Remove declaration.
660 * libitm/method-serial.cc (htm_mg): Adapt.
661 (gtm_thread::serialirr_mode): Adapt.
662 * libitm/query.cc (_ITM_inTransaction, _ITM_getTransactionId): Adapt.
663
0b96ffdb
TR
6642016-01-21 Torvald Riegel <triegel@redhat.com>
665
666 * testsuite/libitm.c++/libstdc++-safeexc.C: Not supported on darwin
667 or AIX.
668
b1de98e3
RH
6692016-01-19 Richard Henderson <rth@redhat.com>
670
671 PR bootstrap/69343
672 PR bootstrap/69339
673 Revert:
674 2016-01-13 Richard Henderson <rth@redhat.com>
675
676 * Makefile.am (libitm_la_SOURCES) [ARCH_AARCH64]: Add vect128.cc
677 (libitm_la_SOURCES) [ARCH_ARM]: Add neon.cc
678 (libitm_la_SOURCES) [ARCH_PPC]: Add vect128.cc
679 (libitm_la_SOURCES) [ARCH_S390]: Add vect128.cc
680 * configure.ac (ARCH_AARCH64): New conditional.
681 (ARCH_PPC, ARCH_S390): Likewise.
682 * Makefile.in, configure: Rebuild.
683
684 * libitm.h (_ITM_TYPE_M128): Always define.
685 * vect64.cc: Split ...
686 * vect128.cc: ... out of...
687 * config/x86/x86_sse.cc: ... here.
688 * config/arm/neon.cc: New file.
689
f57fc960
TR
6902016-01-19 Torvald Riegel <triegel@redhat.com>
691
692 * local_type_traits: Remove file.
693 * libitm_i.h: Don't include it anymore.
694 (sized_integral): Remove.
695
d2653984
TR
6962016-01-16 Torvald Riegel <triegel@redhat.com>
697
698 * method-gl.cc (gl_wt_dispatch::trycommit): Ensure proxy privatization
699 safety.
700 * method-ml.cc (ml_wt_dispatch::trycommit): Likewise.
701 * libitm/testsuite/libitm.c/priv-1.c: New.
702
a04d5fc9
TR
7032015-01-15 Torvald Riegel <triegel@redhat.com>
704
705 testsuite/libitm.c++/libstdc++-safeexc.C: New.
706
e89137ce
TR
7072016-01-13 Torvald Riegel <triegel@redhat.com>
708
709 * beginend.cc (gtm_thread::trycommit): Fix seq_cst fences.
710 * config/linux/rwlock.cc (gtm_rwlock::write_lock_generic): Likewise.
711 (gtm_rwlock::write_unlock): Likewise.
712
4c868789
RH
7132016-01-13 Richard Henderson <rth@redhat.com>
714
715 * Makefile.am (libitm_la_SOURCES) [ARCH_AARCH64]: Add vect128.cc
716 (libitm_la_SOURCES) [ARCH_ARM]: Add neon.cc
717 (libitm_la_SOURCES) [ARCH_PPC]: Add vect128.cc
718 (libitm_la_SOURCES) [ARCH_S390]: Add vect128.cc
719 * configure.ac (ARCH_AARCH64): New conditional.
720 (ARCH_PPC, ARCH_S390): Likewise.
721 * Makefile.in, configure: Rebuild.
722
723 * libitm.h (_ITM_TYPE_M128): Always define.
724 * vect64.cc: Split ...
725 * vect128.cc: ... out of...
726 * config/x86/x86_sse.cc: ... here.
727 * config/arm/neon.cc: New file.
728
629e4729
TR
7292016-01-13 Torvald Riegel <triegel@redhat.com>
730
731 * beginend.cc (gtm_thread::trycommit): Fix privatization safety.
732 * config/linux/rwlock.cc (gtm_rwlock::write_lock_generic): Likewise.
733 * config/posix/rwlock.cc (gtm_rwlock::write_lock_generic): Likewise.
734 * dispatch.h (abi_dispatch::snapshot_most_recent): New.
735 * method-gl.cc (gl_wt_dispatch::snapshot_most_recent): New.
736 * method-ml.cc (ml_wt_dispatch::snapshot_most_recent): New.
737 * method-serial.cc (serial_dispatch::snapshot_most_recent): New.
738 (serialirr_dispatch::snapshot_most_recent): New.
739 (serialirr_onwrite_dispatch::snapshot_most_recent): New.
740
0d1ed412
TR
7412016-01-12 Torvald Riegel <triegel@redhat.com>
742
743 * libitm_i.h (gtm_mask_stack): Remove.
744 * beginend.cc (gtm_stmlock_array, gtm_clock): Likewise.
745 * stmlock.h: Remove file.
746 * config/alpha/cacheline.h: Likewise.
747 * config/generic/cacheline.h: Likewise.
748 * config/powerpc/cacheline.h: Likewise.
749 * config/sparc/cacheline.h: Likewise.
750 * config/x86/cacheline.h: Likewise.
751
21fa2a29
JJ
7522016-01-04 Jakub Jelinek <jakub@redhat.com>
753
818ab71a
JJ
754 Update copyright years.
755
21fa2a29
JJ
756 * libitm.texi: Bump @copying's copyright year.
757
e7f7330f
TR
7582015-11-26 Torvald Riegel <triegel@redhat.com>
759
760 * method-ml.cc (ml_mg): Use multiplicative instead of simple hashing.
761 (ml_wt_dispatch::pre_write): Adapt.
762 (ml_wt_dispatch::pre_load): Likewise.
763
4f8a3b87
TR
7642015-11-22 Torvald Riegel <triegel@redhat.com>
765
766 * libitm_i.h (gtm_alloc_action): Remove union.
767 * testsuite/libitm.c/alloc-1.c: New.
768
258c1d07
TR
7692015-11-19 Torvald Riegel <triegel@redhat.com>
770
771 * testsuite/libitm.c++/eh-5.C: New.
772 * libitm.h (_ITM_cxa_free_exception): New.
773 * libitm.map (_ITM_cxa_free_exception): Add it.
774 * libitm.texi: Update ABI docs.
775 * libitm_i.h (gtm_transaction_cp::cxa_unthrown): Remove.
776 (gtm_transaction_cp::cxa_uncaught_count): Add.
777 (gtm_thread::cxa_unthrown): Remove.
778 (gtm_thread::cxa_uncaught_count_ptr): Add.
779 (gtm_thread::cxa_uncaught_count): Add.
780 (gtm_thread::drop_references_allocations): Rename to...
781 (gtm_thread::discard_allocation): ... this and adapt.
782 (gtm_thread::init_cpp_exceptions): New.
783 * beginend.cc (gtm_thread::gtm_thread): Adapt EH handling.
784 (gtm_thread::begin_transaction): Likewise.
785 (gtm_transaction_cp::save): Likewise.
786 (gtm_thread::trycommit): Likewise.
787 * eh_cpp.cc: Add overview comments.
788 (__cxa_eh_globals, __cxa_get_globals, __cxa_free_exception): Declare.
789 (free_any_exception, _ITM_cxa_free_exception): New.
790 (gtm_thread::init_cpp_exceptions): Define.
791 (_ITM_cxa_allocate_exception, _ITM_cxa_throw): Adapt.
792 (_ITM_cxa_begin_catch, _ITM_cxa_end_catch): Likewise.
793 (gtm_thread::revert_cpp_exceptions): Likewise.
794
c518678b
TR
7952015-11-09 Torvald Riegel <triegel@redhat.com>
796
797 * alloc_cpp.cc (_ZdlPvX, _ZdlPvXRKSt9nothrow_t, _ZGTtdlPvX,
798 _ZGTtdlPvXRKSt9nothrow_t, delsz_opnt): New.
799 * libitm.map: Add _ZGTtdlPvX and _ZGTtdlPvXRKSt9nothrow_t.
800 * libitm_i.h (gtm_alloc_action): Add free_fn_sz and sz. Add comments.
801 (gtm_thread::forget_allocations): New overload with size_t argument.
802 * alloc.c (gtm_thread::forget_allocation): Define new overload and
803 adapt existing one.
804 (gtm_thread::record_allocation): Adapt.
805 (gtm_thread::commit_allocations_1): Adapt.
806 (gtm_thread::commit_allocations_2): Adapt.
807 * testsuite/libitm.c++/newdelete.C: New.
808
1e44e857
DJ
8092015-10-27 Daniel Jacobowitz <dan@codesourcery.com>
810 Joseph Myers <joseph@codesourcery.com>
811 Mark Shinwell <shinwell@codesourcery.com>
812 Andrew Stubbs <ams@codesourcery.com>
813 Rich Felker <dalias@libc.org>
814
815 * config/sh/sjlj.S (_ITM_beginTransaction): Bypass PLT calling
816 GTM_begin_transaction for compatibility with FDPIC.
817
9e531d37
DM
8182015-10-09 David Malcolm <dmalcolm@redhat.com>
819
820 * testsuite/lib/libitm.exp: Load multiline.exp before prune.exp,
821 using load_gcc_lib.
822
c629c246
GFM
8232015-08-20 Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org> (tiny change)
824
825 PR libitm/61164
826 * local_atomic (__always_inline): Rename to...
827 (__libitm_always_inline): ... this.
828
cd5a9a74
CSLL
8292015-07-03 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
830
831 PR target/52482
832 * config/powerpc/sjlj.S: Port to Xcode 2.5.
833
ea023bcf
UB
8342015-05-27 Uros Bizjak <ubizjak@gmail.com>
835
d778b5a0
UB
836 * config/linux/x86/futex_bits.h (sys_futex0) [__x86_64__]: Change
837 operands "op" and "val" to int.
838
8392015-05-27 Uros Bizjak <ubizjak@gmail.com>
840
841 * config/linux/sh/futex_bits.h (sys_futex0) Change operands
842 "op" and "val" to int.
843
8442015-05-27 Uros Bizjak <ubizjak@gmail.com>
845
846 * config/linux/alpha/futex_bits.h (sys_futex0) Change operands
847 "op" and "val" to int.
848
8492015-05-27 Uros Bizjak <ubizjak@gmail.com>
850
851 * config/linux/futex.cc (gtm_futex_wait, gtm_futex_wake):
852 Declare as static int.
853 (FUTEX_PRIVATE_FLAG): Remove L suffix.
854 * config/linux/futex_bits.h (sys_futex0) Change operand "op" to int.
855
8562015-05-27 Uros Bizjak <ubizjak@gmail.com>
857
858 * config/linux/x86/futex_bits.h (sys_futex0) [__PIC__]: Remove
859 sys_futex0 function.
ea023bcf 860
503902f9
MH
8612015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
862
863 * Makefile.in: Regenerated with automake-1.11.6.
864 * aclocal.m4: Likewise.
865 * configure: Likewise.
866 * testsuite/Makefile.in: Likewise.
867
96ce40cb
GR
8682015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
869
870 * config/arm/hwcap.cc: Use fcntl.h instead of sys/fcntl.h.
871 * config/linux/x86/tls.h: Only use __GLIBC_PREREQ if defined.
872
3a07b160
L
8732015-01-15 H.J. Lu <hongjiu.lu@intel.com>
874
875 PR libitm/64360
876 * libitm.c/stackundo.c (test2): Make it static.
877 (test1): Likewise.
878
5624e564
JJ
8792015-01-05 Jakub Jelinek <jakub@redhat.com>
880
881 Update copyright years.
882
b67cd4e3
JJ
8832015-01-05 Jakub Jelinek <jakub@redhat.com>
884
885 * libitm.texi: Bump @copying's copyright year.
886
69aef6dc
KT
8872014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
888
889 * testsuite/lib/libitm.exp: Load target-utils.exp.
890 Move load of target-supports.exp earlier.
891
68bc9270
UB
8922014-12-03 Uros Bizjak <ubizjak@gmail.com>
893
894 * configure.tgt (x86_64): Tune -m32 multilib to generic.
895
a699d672
L
8962014-11-21 H.J. Lu <hongjiu.lu@intel.com>
897
898 PR bootstrap/63784
899 * configure: Regenerated.
900
ebf6d33b
FXC
9012014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
902
903 PR target/63610
904 * configure: Regenerate.
905
99183741
MP
9062014-10-06 Marek Polacek <polacek@redhat.com>
907
908 * testsuite/libitm.c/memcpy-1.c: Declare getpagesize.
909 * testsuite/libitm.c/memset-1.c: Likewise.
910
b6334cf4
RH
9112014-07-24 Richard Henderson <rth@redhat.com>
912
913 * config/aarch64/sjlj.S (_ITM_beginTransaction): Use post-inc
914 addressing mode in epilogue.
915
3c698bf0
RO
9162014-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
917
918 * acinclude.m4 (LIBITM_CHECK_LINKER_HWCAP): Check for
919 -mclear-hwcap instead.
920 * configure: Regenerate.
921 * clearcap.map: Remove.
922
dbed5a9b
JM
9232014-05-21 John Marino <gnugcc@marino.st>
924
925 * configure.tgt (*-*-dragonfly*): New target.
926
b17f08dd
RH
9272014-05-19 Richard Henderson <rth@redhat.com>
928
929 * config/aarch64/sjlj.S: New file.
930 * config/aarch64/target.h: New file.
931 * configure.tgt: Enable aarch64.
932
5e1f630a
RO
9332014-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
934
935 * config/generic/asmcfi.h: Also check for
936 __GCC_HAVE_DWARF2_CFI_ASM.
937
84c2f4b0
RH
9382013-04-02 Richard Henderson <rth@redhat.com>
939
940 * config/alpha/target.h (PAGE_SIZE, FIXED_PAGE_SIZE): Remove.
941 * config/arm/target.h, config/sh/target.h: Likewise.
942 * config/sparc/target.h, config/x86/target.h: Likewise.
943
7cc51d64
JJ
9442014-03-26 Jakub Jelinek <jakub@redhat.com>
945
946 * config/linux/futex_bits.h: Include errno.h.
947 (sys_futex0): If syscall returns -1, return -errno rather than
948 -1.
949
c288ec8f
JM
9502014-03-26 Joseph Myers <joseph@codesourcery.com>
951
952 * libitm.texi (Index): Rename to Library Index.
953
ed100f5d
L
9542014-01-13 H.J. Lu <hongjiu.lu@intel.com>
955
956 PR libitm/53113
957 * Makefile.am (x86_sse.lo): Append -msse to CXXFLAGS.
958 (x86_avx.lo): Append -mavx to CXXFLAGS.
959 * Makefile.in: Regenerate.
960
f93608e6
RS
9612014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
962
963 Update copyright years
964
98db73df
TB
9652014-01-02 Tobias Burnus <burnus@net-b.de>
966
967 * libitm.texi: Bump @copying's copyright year.
968
b54214fe
UW
9692013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
970
971 * config/powerpc/sjlj.S [__powerpc64__ && _CALL_ELF == 2]:
972 (FUNC): Define ELFv2 variant.
973 (END): Likewise.
974 (HIDDEN): Likewise.
975 (CALL): Likewise.
976 (BASE): Likewise.
977 (LR_SAVE): Likewise.
978
3cbe17f7
AM
9792013-09-20 Alan Modra <amodra@gmail.com>
980
981 * configure: Regenerate.
982
6fb471d8
TR
9832013-08-30 Torvald Riegel <triegel@redhat.com>
984
985 * config/posix/rwlock.cc: Fix initialization order.
986
bec9ec3f
TR
9872013-08-30 Torvald Riegel <triegel@redhat.com>
988
989 * libitm_i.h (gtm_thread): Assign an asm name to serial_lock.
990 (htm_fastpath): Assign an asm name.
991 * libitm.h (_ITM_codeProperties): Add non-ABI flags used by custom
992 HTM fast paths.
993 (_ITM_actions): Likewise.
994 * config/x86/target.h (HTM_CUSTOM_FASTPATH): Enable custom fastpath on
995 x86_64.
996 * config/x86/sjlj.S (_ITM_beginTransaction): Add custom HTM fast path.
997 * config/posix/rwlock.h (gtm_rwlock): Update comments. Move summary
998 field to the start of the structure.
999 * config/linux/rwlock.h (gtm_rwlock): Update comments.
1000 * beginend.cc (gtm_thread::begin_transaction): Add retry policy
1001 handling for custom HTM fast paths.
1002
1869217f
AK
10032013-08-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1004 Revert:
1005 2013-08-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1006
1007 * configure.tgt: Add -msoft-float to XCFLAGS.
1008
d62d5152
AK
10092013-08-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1010
1011 * configure.tgt: Add -msoft-float to XCFLAGS.
1012
aaaffb2a
AK
10132013-07-29 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1014
1015 * config/s390/target.h (htm_begin, htm_commit, htm_abort)
1016 (htm_transaction_active): Enable zEC12 instructions in the
1017 assembler.
1018 * configure.tgt: Remove -Wa,-march=zEC12 from XCFLAGS.
1019
167f68ed
AK
10202013-07-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1021
1022 * acinclude.m4: Add htm asm check for s390.
1023 * configure.tgt: Add -mhtm and -Wa,-march=zEC12 to the options.
1024 * configure: Regenerate.
1025 * config/s390/target.h: Remove __HTM__ check.
1026 (htm_available): Call getauxval to get hwcaps and check whether
1027 HTM is available or not.
1028
0258b6e4
PB
10292013-07-15 Peter Bergner <bergner@vnet.ibm.com>
1030
1031 * acinclude.m4 (LIBITM_CHECK_AS_HTM): New.
1032 * configure.ac: Use it.
1033 (AC_CHECK_HEADERS): Check for sys/auxv.h.
1034 (AC_CHECK_FUNCS): Check for getauxval.
1035 * config.h.in, configure: Rebuild.
1036 * configure.tgt (target_cpu): Add -mhtm to XCFLAGS.
1037 * config/powerpc/target.h: Include sys/auxv.h and htmintrin.h.
1038 (USE_HTM_FASTPATH): Define.
1039 (_TBEGIN_STARTED, _TBEGIN_INDETERMINATE, _TBEGIN_PERSISTENT,
1040 _HTM_RETRIES) New macros.
1041 (htm_abort, htm_abort_should_retry, htm_available, htm_begin, htm_init,
1042 htm_begin_success, htm_commit, htm_transaction_active): New functions.
1043
5a3fe9b6
AK
10442013-06-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1045
1046 * config/s390/target.h: Include htmintrin.h.
1047 (_HTM_ITM_RETRIES): New macro definition.
1048 (htm_available, htm_init, htm_begin, htm_begin_success)
1049 (htm_commit, htm_abort, htm_abort_should_retry): New functions.
1050
6c84d576
IS
10512013-06-20 Iain Sandoe <iain@codesourcery.com>
1052 Cesar Philippidis <cesar@codesourcery.com>
1053
1054 * testsuite/lib/libitm.exp: Reorder lib loads into dependency order.
1055 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
1056 * testsuite/libitm.c/c.exp: load_gcc_lib gcc-dg.exp.
1057 * testsuite/libitm.c++/c++.exp: load_gcc_lib gcc-dg.exp.
1058
480c696b
TR
10592013-06-20 Torvald Riegel <triegel@redhat.com>
1060
1061 * query.cc (_ITM_inTransaction): Abort when using the HTM fastpath.
1062 (_ITM_getTransactionId): Same.
1063 * config/x86/target.h (htm_transaction_active): New.
1064
b1db457b
TR
10652013-06-20 Torvald Riegel <triegel@redhat.com>
1066
1067 PR libitm/57643
1068 * beginend.cc (gtm_thread::begin_transaction): Handle reentrancy in
1069 the HTM fastpath.
1070
51249377
GP
10712013-03-31 Gerald Pfeifer <gerald@pfeifer.com>
1072
1073 PR bootstrap/56714
1074 * local_atomic (__always_inline): Always define our version.
1075 (__calculate_memory_order): Mark inline.
1076 (atomic_thread_fence): Ditto.
1077 (atomic_signal_fence): Ditto.
1078 (atomic_bool::atomic_flag_test_and_set_explicit): Ditto.
1079 (atomic_bool::atomic_flag_clear_explicit): Ditto.
1080 (atomic_bool::atomic_flag_test_and_set): Ditto.
1081 (atomic_bool::atomic_flag_clear): Ditto.
1082
f818478b
JJ
10832013-04-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1084
1085 * config/s390/sjlj.S: New file.
1086 * config/s390/target.h: New file.
1087 * configure.tgt: Set options for S/390.
1088
ab4425be
AK
10892013-03-23 Andi Kleen <ak@linux.intel.com>
1090
1091 * local_atomic (__always_inline): Add.
1092 (__calculate_memory_order, atomic_thread_fence,
3d3b561f
ML
1093 atomic_signal_fence, test_and_set, clear, store, load,
1094 exchange, compare_exchange_weak, compare_exchange_strong,
1095 fetch_add, fetch_sub, fetch_and, fetch_or, fetch_xor):
ab4425be
AK
1096 Add __always_inline to force inlining.
1097
6c59ffd1
IS
10982013-02-11 Iain Sandoe <iain@codesourcery.com>
1099 Jack Howarth <howarth@bromo.med.uc.edu>
1100 Patrick Marlier <patrick.marlier@gmail.com>
1101
1102 PR libitm/55693
1103 * alloc_cpp.cc: Enable function declarations on darwin.
1104 * eh_cpp.cc: Likewise.
1105
75f9527c
RS
11062013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
1107
1108 Update copyright years.
1109
64fbcc74
TR
11102012-11-09 Torvald Riegel <triegel@redhat.com>
1111
1112 * beginend.cc (htm_fastpath): New.
1113 (gtm_thread::begin_transaction, _ITM_commitTransaction,
1114 _ITM_commitTransactionEH): Add HTM fastpath handling.
1115 * config/linux/rwlock.h (gtm_rwlock.is_write_locked): New.
1116 * config/posix/rwlock.h (gtm_rwlock.is_write_locked): New.
1117 * config/x86/target.h (htm_available, htm_init, htm_begin_success,
1118 htm_begin, htm_commit, htm_abort, htm_abort_should_retry): New.
1119 * configure.tgt: Add -mrtm to XCFLAGS.
1120 * method-serial.cc (htm_mg, o_htm_mg, htm_dispatch, dispatch_htm): New.
1121 (gtm_thread::serialirr_mode): Add HTM fastpath handling.
1122 * libitm_i.h (htm_fastpath, dispatch_htm): Declare.
1123 * retry.cc (parse_default_method): Add HTM method parsing.
1124 (gtm_thread::number_of_threads_changed): Use HTM by default if
1125 available.
1126
b9efc877
TS
11272012-11-04 Thomas Schwinge <thomas@codesourcery.com>
1128
1129 * configure: Regenerate.
1130
07d3b5c8
RH
11312012-10-31 Richard Henderson <rth@redhat.com>
1132
1133 * acinclude.m4 (LIBITM_CHECK_AS_RTM): New.
1134 * configure.ac: Use it.
1135 * config.h.in, configure: Rebuild.
1136 * testsuite/Makefile.in: Rebuild.
1137
eb00e959
TR
11382012-10-24 Torvald Riegel <triegel@redhat.com>
1139
1140 * libitm.texi: Clarify ABI requirements for data-logging functions.
1141
b679c813
TR
11422012-10-24 Torvald Riegel <triegel@redhat.com>
1143
1144 * retry.cc (gtm_thread::decide_begin_dispatch): Ask dispatch whether
1145 it requires serial mode instead of assuming that for certain
1146 dispatchs.
1147 * dispatch.h (abi_dispatch::requires_serial): New.
1148 (abi_dispatch::abi_dispatch): Adapt.
1149 * method-gl.cc (gl_wt_dispatch::gl_wt_dispatch): Adapt.
1150 * method-ml.cc (ml_wt_dispatch::ml_wt_dispatch): Same.
1151 * method-serial.cc (serialirr_dispatch::serialirr_dispatch,
1152 serial_dispatch::serial_dispatch,
1153 serialirr_onwrite_dispatch::serialirr_onwrite_dispatch): Same.
1154
0c609a21
UB
11552012-10-02 Uros Bizjak <ubizjak@gmail.com>
1156
1157 * config/x86/target.h (struct gtm_jmpbuf): Merge x86_64
1158 and ia32 declarations some more.
1159 * config/x86/sjlj.S (_ITM_beginTransaction): Move ret to common code.
1160
c0758df9
JJ
11612012-09-20 Jakub Jelinek <jakub@redhat.com>
1162
1163 PR other/43620
1164 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
1165 * configure: Regenerate.
1166 * Makefile.in: Regenerate.
1167
690c45b8
DE
11682012-09-14 David Edelsohn <dje.gcc@gmail.com>
1169
1170 * configure: Regenerated.
1171
68a12ef3
UB
11722012-07-31 Uros Bizjak <ubizjak@gmail.com>
1173
1174 * config/x86/target.h (cpu_relax): Use __builtin_ia32_pause.
1175
f2f9a097
PM
11762012-05-21 Patrick Marlier <patrick.marlier@gmail.com>
1177
1178 * eh_cpp.cc: Fix __cxa_end_catch declaration.
1179
e6d5f8c9
L
11802012-05-16 H.J. Lu <hongjiu.lu@intel.com>
1181
1182 * configure: Regenerated.
1183
0100e3b3
L
11842012-04-04 H.J. Lu <hongjiu.lu@intel.com>
1185
1186 PR libitm/52854
1187 * config/x86/target.h (gtm_jmpbuf): Replace long with long long
1188 for x86-64.
1189
2f6935f4
TG
11902012-04-03 Tristan Gingold <gingold@adacore.com>
1191
1192 * configure: Regenerate.
1193
b9c23a61
L
11942012-03-31 H.J. Lu <hongjiu.lu@intel.com>
1195
1196 PR bootstrap/52812
1197 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
1198
6a26a74d
BRF
11992012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1200
1201 * testsuite/lib/libitm.exp: load fortran-modules.exp
1202
b24513a1
RO
12032012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1204
1205 * configure.tgt (*-*-irix6*): Remove.
1206
0d23faac
TR
12072012-03-13 Torvald Riegel <triegel@redhat.com>
1208
1209 PR libitm/52526
1210 * config/linux/rwlock.cc (GTM::gtm_rwlock::read_lock): Fix lost
1211 wake-up.
1212
5c30094f
RO
12132012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1214
1215 * configure.tgt (*-*-osf*): Remove.
1216 * configure: Regenerate.
1217
d28b0b08
TR
12182012-03-05 Torvald Riegel <triegel@redhat.com>
1219
1220 * dispatch.h (CREATE_DISPATCH_METHODS_MEM): Don't execute
1221 memtransfer/memset if size isn't larger than zero.
1222
034209bc
TR
12232012-03-02 Torvald Riegel <triegel@redhat.com>
1224
1225 * libitm.texi: Link to specification and add a usage example.
1226
bc8da6ba
TR
12272012-02-24 Torvald Riegel <triegel@redhat.com>
1228
1229 * retry.cc (GTM::gtm_thread::number_of_threads_changed): Change
1230 default dispatch for more than 1 thread to ml_wt.
1231
63b08143
TR
12322012-02-20 Torvald Riegel <triegel@redhat.com>
1233
1234 * method-gl.cc (gl_wt_dispatch::orec): Put on separate cacheline.
1235
4c9bd6ac
TR
12362012-02-20 Torvald Riegel <triegel@redhat.com>
1237
1238 * method-gl.cc (gl_wt_dispatch::rollback): Optimize memory orders.
1239
651ff415
TR
12402012-02-20 Torvald Riegel <triegel@redhat.com>
1241
1242 * method-gl.cc (gl_wt_dispatch::trycommit): Remove handling of
1243 serial mode corner cases made obsolete by prior gtm_rwlock changes.
1244 (gl_wt_dispatch.rollback): Same.
1245
efee0113
TR
12462012-02-20 Torvald Riegel <triegel@redhat.com>
1247
1248 * method-gl.cc (gl_wt_dispatch::pre_write): Optimize memory orders.
1249
33a03827
TR
12502012-02-20 Torvald Riegel <triegel@redhat.com>
1251
1252 * method-gl.cc (gl_wt_dispatch::memtransfer_static): Add missing undo
1253 for RfW src. Optimize number of calls to gtm_thr.
1254
a19db3f2
TR
12552012-02-20 Torvald Riegel <triegel@redhat.com>
1256
1257 * beginend.cc (GTM::gtm_thread::begin_transaction): Move serial lock
1258 acquisition to ...
1259 * retry.cc (GTM::gtm_thread::decide_begin_dispatch): ... here.
1260 (default_dispatch): Make atomic.
1261 (GTM::gtm_thread::set_default_dispatch): Access atomically.
1262 (GTM::gtm_thread::decide_retry_strategy): Access atomically and
1263 use decide_begin_dispatch() if default_dispatch might have changed.
1264 (GTM::gtm_thread::number_of_threads_changed): Initialize
1265 default_dispatch here.
1266
e948a1fb
IS
12672012-02-15 Iain Sandoe <iains@gcc.gnu.org>
1268 Patrick Marlier <patrick.marlier@gmail.com>
1269
1270 PR libitm/52220
1271 * alloc_cpp.cc: No dummy definitions for darwin.
1272 * eh_cpp.cc: Likewise.
1273
72824d5e
RH
12742012-02-14 Richard Henderson <rth@redhat.com>
1275
1276 * config/x86/target.h (GTM_longjmp): Correct the .cfi corrections.
1277
1f319dba
UB
12782012-02-14 Uros Bizjak <ubizjak@gmail.com>
1279
1280 * config/x86/target.h (GTM_longjmp): Correct .cfi directives.
1281
31772c95
TR
12822012-02-14 Torvald Riegel <triegel@redhat.com>
1283
1284 * libitm_i.h (GTM::gtm_rwlog_entry): New.
1285 (GTM::gtm_thread): Add read and write logs.
1286 (GTM::dispatch_ml_wt): Declare.
1287 * retry.cc (parse_default_method): Support ml_wt.
1288 * method-ml.cc: New file.
1289 * Makefile.am: Add method-ml.cc.
1290 * Makefile.in: Regenerate.
1291
5b9cf5d2
TR
12922012-02-14 Torvald Riegel <triegel@redhat.com>
1293
1294 * dispatch.h (GTM::abi_dispatch::supports): New.
1295 (GTM::method_group::reinit): New.
1296 * retry.cc (GTM::gtm_thread::decide_retry_strategy): Use reinit().
1297 (GTM::gtm_thread::number_of_threads_changed): Check that the method
1298 supports the current situation.
1299
7d33bcb7
TR
13002012-02-14 Torvald Riegel <triegel@redhat.com>
1301
1302 * util.cc (GTM::xcalloc): New.
1303 * common.h (GTM::xcalloc): Declare.
1304
62513f7b
EB
13052012-02-14 Eric Botcazou <ebotcazou@adacore.com>
1306
1307 * config/sparc/target.h (cpu_relax): Read from CC register.
1308 * config/sparc/sjlj.S (GTM_longjmp): Restore %fp atomically.
1309
13102012-02-14 Uros Bizjak <ubizjak@gmail.com>
d4a698d4
UB
1311
1312 * config/x86/target.h (GTM_longjmp): Jump indirect from memory address.
1313
f3f5e3c3
EB
13142012-02-13 Eric Botcazou <ebotcazou@adacore.com>
1315
62513f7b 1316 * configure.tgt (target_cpu): Handle sparc and sparc64/sparcv9.
f3f5e3c3
EB
1317 * config/sparc/cacheline.h: New file.
1318 * config/sparc/target.h: Likewise.
1319 * config/sparc/sjlj.S: Likewise.
1320 * config/linux/sparc/futex_bits.h: Likewise.
1321
13222012-02-13 Eric Botcazou <ebotcazou@adacore.com>
255a9a1b
EB
1323
1324 * configure.ac (link_itm): Fix comment.
1325 * configure: Regenerate.
1326 * testsuite/lib/libitm.exp: Do not pass -litm for the link.
1327
681355e3
RO
13282012-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1329
fc985d2f 1330 PR libitm/51822
62513f7b 1331 * testsuite/libitm.c++/c++.exp (lang_link_flags): Add -shared-libgcc.
681355e3
RO
1332 Correct libgomp references.
1333
999bcff5
TR
13342012-01-24 Torvald Riegel <triegel@redhat.com>
1335
1336 * config/linux/rwlock.cc (GTM::gtm_rwlock::write_unlock): Fix reader
1337 wake-up.
1338
9848887a
UB
13392012-01-24 Uros Bizjak <ubizjak@gmail.com>
1340
1341 * config/x86/target.h (gtm_jmpbuf) [__x86_64__]: Move rip to the
1342 end of structure.
1343 * config/x86/sjlj.S (_ITM_beginTransaction) [__x86_64__]: Update
1344 offset values. Do not copy return address. Decrement stack
1345 by 56 bytes only.
1346 (GTM_longjump) [__x86_64__]: Update offset values.
1347
5752c591
UB
13482012-01-23 Uros Bizjak <ubizjak@gmail.com>
1349
1350 PR libitm/51830
1351 * config/x86/sjlj.S (_ITM_beginTransaction) [!__x86_64__]: Load
1352 the first function argument to %eax.
1353
61e72ca4
RO
13542012-01-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1355
1356 * libitm.h (_ITM_getThreadnum): Remove.
1357 * libitm.map (_ITM_getThreadnum): Remove from LIBITM_1.0.
1358
9ce91011
RO
13592012-01-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1360
1361 * clearcap.map: New file.
1362 * acinclude.m4 (LIBITM_CHECK_LINKER_HWCAP): New test.
1363 * configure.ac: Call it.
1364 Clear HWCAP_LDFLAGS if defaulting to -mavx.
1365 * Makefile.am (AM_LDFLAGS): Add $(HWCAP_LDFLAGS)
1366 * configure: Regenerate.
1367 * Makefile.in: Regenerate.
1368 * testsuite/Makefile.in: Regenerate.
1369
3b4f05ec
RO
13702012-01-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1371
1372 PR libitm/51173
1373 * testsuite/libitm.c++/static_ctor.C: Skip test, note PR, remove
1374 include, exclude options.
1375
aab74ee9
TR
13762012-01-14 Torvald Riegel <triegel@redhat.com>
1377
1378 * local.cc (GTM::gtm_undolog::rollback): Truncate undo log after
1379 rolling back.
1380 * containers.h (GTM::vector::set_size): New.
1381
07b6642b
TR
13822012-01-14 Torvald Riegel <triegel@redhat.com>
1383
1384 PR libitm/51855
1385 * config/generic/tls.h (GTM::mask_stack_top): New.
1386 (GTM::mask_stack_bottom): Declare.
1387 * config/generic/tls.c (GTM::mask_stack_bottom): New.
1388 * local.cc (gtm_undolog::rollback): Filter out any updates that
1389 overlap the libitm stack. Add current transaction as parameter.
1390 * libitm_i.h (GTM::gtm_undolog::rollback): Adapt.
1391 * beginend.cc (GTM::gtm_thread::rollback): Adapt.
1392 * testsuite/libitm.c/stackundo.c: New test.
1393
8377e5e5
RH
13942012-01-10 Richard Henderson <rth@redhat.com>
1395
1396 * libitm_i.h (_Unwind_DeleteException): Declare weak.
1397 * eh_cpp.cc (_Unwind_DeleteException): Define for
1398 !HAVE_ELF_STYLE_WEAKREF.
1399
11f30bb0
TR
14002012-01-08 Torvald Riegel <triegel@redhat.com>
1401
1402 * local.cc (GTM_LB): Use GTM::gtm_undolog.
1403 (GTM::gtm_thread::drop_references_undolog): Remove.
1404 (GTM::gtm_thread::commit_undolog,
1405 GTM::gtm_thread::rollback_undolog): Move to ...
1406 * libitm_i.h (GTM::gtm_undolog): ...here. New.
1407 (GTM::gtm_undolog_entry): Remove.
1408 (GTM::gtm_thread): Adapt.
1409 * beginend.cc (GTM::gtm_thread::rollback): Adapt.
1410 (GTM::gtm_thread::trycommit): Adapt.
1411 * method-serial.cc (serial_dispatch::log): Adapt.
1412 * method-gl.cc (gl_wt_dispatch::pre_write): Adapt.
1413 (gl_wt_dispatch::store): Fix likely/unlikely.
1414 * containers.h (GTM::vector::resize): Add additional_capacity
1415 parameter and handle it.
1416 (GTM::vector::resize_noinline): New/adapt.
1417 (GTM::vector::push): New.
1418
a32e5e93
RH
14192012-01-06 Richard Henderson <rth@redhat.com>
1420
1421 * configure.tgt: Support powerpc-linux and powerpc-darwin.
1422 * config/linux/powerpc/futex_bits.h: New file.
1423 * config/powerpc/cacheline.h: New file.
1424 * config/powerpc/sjlj.S: New file.
1425 * config/powerpc/target.h: New file.
1426 * config/generic/asmcfi.h (cfi_offset): New.
1427 (cfi_restore, cfi_undefined): New.
1428
1f53a8e6
AH
14292012-01-05 Aldy Hernandez <aldyh@redhat.com>
1430
1431 PR other/51171
1432 * testsuite/libitm.c/reentrant.c: Remove xfail.
1433 (thread): Pass x to pure().
be223aaf 1434 From Patrik Marlier <patrick.marlier@gmail.com>.
1f53a8e6 1435
c898f7b8
TR
14362011-12-24 Torvald Riegel <triegel@redhat.com>
1437
1438 * beginend.cc (GTM::gtm_thread::trycommit): Don't enforce
1439 privatization safety if already in serial mode.
1440
610e3901
TR
14412011-12-24 Torvald Riegel <triegel@redhat.com>
1442
1443 * beginend.cc (GTM::gtm_thread::restart): Add and handle
1444 finish_serial_upgrade parameter.
1445 * libitm.h (GTM::gtm_thread::restart): Adapt declaration.
1446 * config/linux/rwlock.cc (GTM::gtm_rwlock::write_lock_generic):
1447 Don't unset reader flag.
1448 (GTM::gtm_rwlock::write_upgrade_finish): New.
1449 * config/posix/rwlock.cc: Same.
1450 * config/linux/rwlock.h (GTM::gtm_rwlock::write_upgrade_finish):
1451 Declare.
1452 * config/posix/rwlock.h: Same.
1453 * method-serial.cc (GTM::gtm_thread::serialirr_mode): Unset reader
1454 flag after commit or after rollback when restarting.
1455
799142bf
TR
14562011-12-24 Torvald Riegel <triegel@redhat.com>
1457
1458 * beginend.cc (GTM::gtm_thread::begin_transaction): Add comment.
1459 (GTM::gtm_thread::try_commit): Changed memory order.
1460 * config/linux/alpha/futex_bits.h (sys_futex0): Take atomic int
1461 as parameter.
1462 * config/linux/x86/futex_bits.h (sys_futex0): Same.
1463 * config/linux/sh/futex_bits.h (sys_futex0): Same.
1464 * config/linux/futex_bits.h (sys_futex0): Same.
1465 * config/linux/futex.cc (futex_wait, futex_wake): Same.
1466 * config/linux/futex.h (futex_wait, futex_wake): Same.
1467 * config/linux/rwlock.h (gtm_rwlock::writers,
1468 gtm_rwlock::writer_readers, gtm_rwlock::readers): Change to atomic
1469 ints.
1470 * config/linux/rwlock.cc (gtm_rwlock::read_lock,
1471 gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock,
1472 gtm_rwlock::write_unlock): Fix memory orders and fences.
1473 * config/posix/rwlock.cc (gtm_rwlock::read_lock,
1474 gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock,
1475 gtm_rwlock::write_unlock): Same.
1476 * config/linux/rwlock.h (gtm_rwlock::summary): Change to atomic int.
1477 * method-gl.cc (gl_mg::init, gl_wt_dispatch::memtransfer_static,
1478 gl_wt_dispatch::memset_static, gl_wt_dispatch::begin_or_restart):
1479 Add comments.
1480 (gl_wt_dispatch::pre_write, gl_wt_dispatch::validate,
1481 gl_wt_dispatch::load, gl_wt_dispatch::store,
1482 gl_wt_dispatch::try_commit, gl_wt_dispatch::rollback): Fix memory
1483 orders and fences. Add comments.
1484
b0f96e35
JJ
14852011-12-21 Jakub Jelinek <jakub@redhat.com>
1486
1487 * Makefile.am (AM_CXXFLAGS): Put $(XCFLAGS) first.
1488 * Makefile.in: Regenerated.
1489
cc163247
KK
14902011-12-17 Kaz Kojima <kkojima@gcc.gnu.org>
1491
1492 * configure.tgt: Add sh* case.
1493 * config/sh/target.h: New file.
1494 * config/sh/sjlj.S: New file.
1495 * config/linux/sh/futex_bits.h: New file.
1496
aebac0ca
RH
14972011-12-14 Richard Henderson <rth@redhat.com>
1498
1499 * config/arm/hwcap.h, config/arm/hwcap.cc: New files.
1500 * config/arm/sjlj.S, config/arm/target.h: New files.
1501 * config/generic/asmcfi.h (cfi_adjust_cfa_offset): New.
1502 (cfi_rel_offset): New.
1503 * config/linux/futex_bits.h: New file.
1504 * config/linux/futex.cc: Include futex_bits.h here...
1505 * config/linux/futex.h: ... not here.
1506 * Makefile.am (libitm_la_SOURCES) <ARCH_ARM>: Add hwcap.cc.
1507 * configure.ac (ARCH_AM): New conditional.
1508 * Makefile.in, configure: Rebuild.
1509 * configure.tgt: Handle ARM.
1510
36cfbee1
RH
15112011-12-13 Richard Henderson <rth@redhat.com>
1512
5d9d05d3
RH
1513 * config/posix/rwlock.cc (gtm_rwlock::write_lock_generic): Fix
1514 signed/unsigned comparison werror.
1515
36cfbee1
RH
1516 * local_atomic: New file.
1517 * libitm_i.h: Include it.
1518 (gtm_thread::shared_state): Use atomic template.
1519 * beginend.cc (GTM::gtm_clock): Use atomic template.
1520 (global_tid): Use atomic template if 64-bit atomics available.
1521 (gtm_thread::gtm_thread): Update shared_state access.
1522 (gtm_thread::trycommit): Likewise.
1523 (choose_code_path): Update global_tid access.
1524 * method-gl.cc (gl_mg::orec): Use atomic template. Update all users.
1525 * stmlock.h (GTM::gtm_clock): Use atomic template.
1526 (gtm_get_clock, gtm_inc_clock): Update accesses.
1527 * config/linux/rwlock.cc (gtm_rwlock::read_lock): Remove
1528 redundant __sync_synchronize after atomic shared_state access.
1529 * config/posix/rwlock.cc (gtm_rwlock::read_lock): Likewise.
1530 (gtm_rwlock::write_lock_generic): Likewise.
1531 (gtm_rwlock::read_unlock): Likewise.
1532 * config/alpha/target.h (atomic_read_barrier): Remove.
1533 (atomic_write_barrier): Remove.
1534 * config/x86/target.h (atomic_read_barrier): Remove.
1535 (atomic_write_barrier): Remove.
1536
062f93f2
RH
15372011-11-30 Richard Henderson <rth@redhat.com>
1538
1539 * libitm_i.h (GTM_longjmp): Swap first and second arguments.
1540 * beginend.c (_ITM_abortTransaction): Update to match.
1541 (GTM::gtm_thread::restart): Likewise.
1542 * config/alpha/sjlj.S (GTM_longjmp): Likewise.
1543 * config/x86/sjlj.S (GTM_longjmp): Likewise.
1544
bd8aaa86
IS
15452011-11-23 Iain Sandoe <iains@gcc.gnu.org>
1546
1547 * Makefile.am (libitm_la_LDFLAGS): Remove "-no-undefined".
1548 * Makefile.in: Regenerate.
1549
8cf36bb3
IS
15502011-11-22 Iain Sandoe <iains@gcc.gnu.org>
1551
1552 * configure.ac: Use GCC_CHECK_ELF_STYLE_WEAKREF.
1553 * alloc_cpp.cc: Generate dummy functions if we don't
1554 HAVE_ELF_STYLE_WEAKREF.
1555 * eh_cpp.cc: Likewise.
1556 * configure: Regenerate.
1557 * aclocal.m4: Likewise.
1558 * config.h.in: Likewise.
1559 * Makefile.in: Likewise.
1560 * testsuite/Makefile.in: Likewise.
1561
0b41ebef
IS
15622011-11-22 Iain Sandoe <iains@gcc.gnu.org>
1563
1564 * config/x86/sjlj.S (CONCAT1, CONCAT2, SYM): Respond to
1565 __USER_LABEL_PREFIX__ for targets that use it.
8cf36bb3 1566 (TYPE, SIZE, HIDDEN): New macros to assist on non-elf targets.
0b41ebef
IS
1567 (_ITM_beginTransaction): Use SYM, TYPE, SIZE macros to assist
1568 in portability to non-elf targets.
8cf36bb3 1569 (GTM_longjmp): Likewise.
0b41ebef
IS
1570 * libitm_i.h (begin_transaction): Apply __USER_LABEL_PREFIX__
1571 where required.
1572
9c9d352a
IS
15732011-11-22 Iain Sandoe <iains@gcc.gnu.org>
1574
1575 * testsuite/libitm.c/memcpy-1.c: Allow for MAP_ANON spelling.
1576 * testsuite/libitm.c/memset-1.c: Likewise.
1577
c6084f68
AT
15782011-11-21 Andreas Tobler <andreast@fgznet.ch>
1579
1580 * configure: Regenerate.
1581
adcd36bc
RO
15822011-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1583
1584 * acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Handle gold.
1585 (LIBITM_ENABLE_SYMVERS): Handle sun style.
1586 * Makefile.am: Handle sun style versioning.
1587 (libitm_la_LINK): Add $(libitm_la_LDFLAGS).
1588 * configure: Regenerate.
1589 * Makefile.in: Regenerate.
1590
59659b59
RO
15912011-11-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1592
1593 * config/generic/asmcfi.h: Fix comment.
1594 * config/x86/sjlj.S (_ITM_beginTransaction): Provide ELF PIC code
1595 sequence without .hidden support, error for non-ELF targets.
1596 (GTM_longjmp) [__ELF__]: Only use .hidden if
1597 HAVE_ATTRIBUTE_VISIBILITY.
1598
d846e425
RO
15992011-11-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1600
1601 * alloc_cpp.cc [__osf__] (_ZnwX, _ZdlPv, _ZnaX, _ZdaPv,
1602 _ZnwXRKSt9nothrow_t, _ZdlPvRKSt9nothrow_t, _ZdaPvRKSt9nothrow_t):
1603 Dummy functions.
1604 * eh_cpp.cc [__osf__] (__cxa_allocate_exception, __cxa_throw,
1605 __cxa_begin_catch, __cxa_end_catch, __cxa_tm_cleanup): Likewise.
1606
80713347
UB
16072011-11-16 Uros Bizjak <ubizjak@gmail.com>
1608
1609 PR bootstrap/51098
1610 * acinclude.m4 (LIBITM_CHECK_AS_AVX): Fix target selector.
1611 * configure: Regenerate.
1612
2841f85e
L
16132011-11-14 H.J. Lu <hongjiu.lu@intel.com>
1614
1615 * testsuite/lib/libitm.exp: Check ia32 instead of ilp32.
1616
8851b429
RO
16172011-11-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1618
1619 * config/alpha/sjlj.S (_ITM_beginTransaction) [!__ELF__]: Don't use
1620 .hidden.
1621 (.note.GNU-stack): Only use if __linux__.
1622 * alloc_cpp.cc [!__osf__] (_ZnaXRKSt9nothrow_t): Dummy function.
1623 * testsuite/libitm.c/notx.c: Use dg-options "-pthread".
1624 * testsuite/libitm.c/reentrant.c: Likewise.
1625 * testsuite/libitm.c/simple-2.c: Likewise.
1626 * testsuite/libitm.c/txrelease.c: Likewise.
1627 * testsuite/libitm.c++/static_ctor.C: Likewise.
1628
d4b17902
RH
16292011-11-10 Richard Henderson <rth@redhat.com>
1630
1631 * config/x86/x86_avx.cc: Remove #undef __AVX__ hack. Tidy comments.
1632 * Makefile.am (x86_avx.lo): Only add -mavx if ARCH_X86_AVX.
1633 * configure.ac (ARCH_X86_AVX): New conditional.
1634 * Makefile.in, configure: Rebuild.
1635
430616e7
RH
16362011-11-09 Richard Henderson <rth@redhat.com>
1637
1638 * acinclude.m4 (LIBITM_CHECK_AS_AVX): New.
1639 * configure.ac: Use it.
1640 * config.h.in, configure: Rebuild.
1641 * config/x86/x86_avx.cc: Handle !HAVE_AS_AVX.
1642
79b1edb6
RH
16432011-11-09 Richard Henderson <rth@redhat.com>
1644
1645 * barrier.tpl, memcpy.cc, memset.cc, method-wbetl.cc: Remove file.
1646 * config/alpha/unaligned.h: Remove file.
1647 * config/generic/unaligned.h: Remove file.
1648 * config/x86/unaligned.h: Remove file.
1649 * config/generic/cachepage.h: Remove file.
1650 * config/posix/cachepage.cc: Remove file.
1651 * config/generic/cacheline.cc: Remove file.
1652 * config/x86/cacheline.cc: Remove file.
1653 * config/generic/cacheline.h (gtm_cacheline): Remove the
1654 store_mask, copy_mask, copy_mask_wb methods.
1655 * config/x86/cacheline.h: Likewise.
1656 * config/alpha/cacheline.h: Fall back to generic after setting size.
1657 * config/generic/tls.cc (gtm_mask_stack): Remove.
1658 * config/x86/x86_avx.cc (GTM_vpperm_shift): Remove.
1659 (GTM_vpalignr_table): Remove.
1660 * config/x86/x86_sse.cc (GTM_palignr_table): Remove.
1661 (GTM_pshift_table): Remove.
1662 * config/libitm_i.h: Don't include cachepage.h.
1663 * Makefile.am (libitm_la_SOURCES): Remove cacheline.cc, cachepage.cc
1664 * Makefile.in, testsuite/Makefile.in: Rebuild.
1665
4bdd090f
RH
16662011-11-09 Richard Henderson <rth@redhat.com>
1667
8ee9fac2
RH
1668 * config/x86/cacheline.h (gtm_cacheline::store_mask): Use .byte
1669 to emit branch prediction hint.
1670
9bdc6343
RH
1671 * config/x86/sjlj.S: Protect elf directives with __ELF__.
1672 Protect .note.GNU-stack with __linux__.
1673
4bdd090f
RH
1674 * configure.ac (GCC_AS_CFI_PSEUDO_OP): Test it.
1675 * configure, aclocal.m4, config.h.in: Rebuild.
1676 * config/generic/asmcfi.h: New file.
1677 * config/x86/sjlj.S: Use it.
1678
4408b086
RH
16792011-11-08 Richard Henderson <rth@redhat.com>
1680
1681 * local.cc (_ITM_LB): Use a normal call, not a function alias.
1682
01f3428c
RH
16832011-11-08 Richard Henderson <rth@redhat.com>
1684
3d3b05ff
RH
1685 * configure.tgt: Test correct directory for supported cpus.
1686
01f3428c
RH
1687 * configure.ac: Exit if unsupported.
1688 * configure: Rebuild.
1689 * configure.tgt: Delete boilerplate from libgomp for unsupported
1690 targets. Set UNSUPPORTED for unsupported targets.
1691
07f03cd3
RO
16922011-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1693
1694 * configure.tgt: Handle i386 like i[456]86.
1695 * config/generic/tls.h [!HAVE_ARCH_GTM_THREAD] (gtm_thr): Don't
1696 take address.
1697 * config/generic/tls.cc [!HAVE_ARCH_GTM_THREAD ||
1698 !HAVE_ARCH_GTM_THREAD_DISP] (_gtm_thr_tls): New variable.
1699
0a35513e
AH
17002011-11-05 Aldy Hernandez <aldyh@redhat.com>
1701
1702 * method-wbetl.cc: Update copyright notice.
1703 * aatree.cc: Same.
1704 * util.cc: Same.
1705 * libitm.h: Same.
1706 * memset.cc: Same.
1707 * eh_cpp.cc: Same.
1708 * barrier.tpl: Same.
1709 * useraction.cc: Same.
1710 * stmlock.h: Same.
1711 * memcpy.cc: Same.
1712 * common.h: Same.
1713 * config/generic/tls.cc: Same.
1714 * config/generic/cacheline.h: Same.
1715 * config/generic/cachepage.h: Same.
1716 * config/generic/cacheline.cc: Same.
1717 * config/generic/unaligned.h: Same.
1718 * config/x86/cacheline.h: Same.
1719 * config/x86/cacheline.cc: Same.
1720 * config/x86/unaligned.h: Same.
1721 * config/alpha/cacheline.h: Same.
1722 * config/alpha/unaligned.h: Same.
1723 * config/alpha/sjlj.S: Same.
1724 * config/posix/cachepage.cc: Same.
1725 * config/linux/futex.h: Same.
1726 * config/linux/alpha/futex_bits.h: Same.
1727
17282011-11-04 Torvald Riegel <triegel@redhat.com>
1729
1730 * libitm.texi: No cover text and invariant sections.
1731
17322011-11-03 Richard Henderson <rth@redhat.com>
1733
1734 * local_type_traits: New file.
1735 * libitm_i.h: Use it. Use C headers, not C++ wrappers.
1736
17372011-11-03 Richard Henderson <rth@redhat.com>
1738
1739 * configure.ac: Don't test for gfortran.
1740 * configure: Rebuild.
1741
1742 * testsuite/lib/libitm.exp: Don't include gfortran-dg.exp.
1743 * testsuite/libitm.c++/c++.exp: Don't use gfortran-dg-runtest.
1744
17452011-11-03 Aldy Hernandez <aldyh@redhat.com>
1746
1747 * testsuite/libitm.c/memcpy-1.c: Add copyright notice.
1748 * testsuite/libitm.c/memset-1.c: Same.
1749 * testsuite/libitm.c/c.exp: Same.
1750 * testsuite/lib/libitm-dg.exp: Same.
1751 * testsuite/lib/libitm.exp: Same.
1752 * testsuite/libitm.c++/c++.exp: Same.
1753
17542011-11-03 Aldy Hernandez <aldyh@redhat.com>
1755
1756 * testsuite/config/default.exp: Update copyright date.
1757 * configure.ac: Add copyright info.
1758 * configure.tgt: Same.
1759
17602011-11-03 Aldy Hernandez <aldyh@redhat.com>
1761
1762 * testsuite/libitm.c/reentrant.c: XFAIL.
1763 * testsuite/libitm.c++/static_ctor.C: XFAIL.
1764
17652011-10-29 Torvald Riegel <triegel@redhat.com>
1766
1767 * beginend.cc (GTM::gtm_thread::rollback): Add aborting flag and
1768 handle aborts.
1769 (_ITM_abortTransaction): Handle aborts of outer transactions.
1770 * libitm_i.h: Same.
1771 * eh_cpp.cc (GTM::gtm_thread::revert_cpp_exceptions): Fix assertion.
1772 * libitm.texi: Document aborts of outer transactions.
1773 * testsuite/libitm.c/cancel.c: New file.
1774
17752011-10-19 Torvald Riegel <triegel@redhat.com>
1776
1777 * testsuite/*: Change __transaction to __transaction_atomic or
1778 __transaction_relaxed.
1779
17802011-10-19 Torvald Riegel <triegel@redhat.com>
1781
1782 * config/linux/x86/tls.h (abi_disp): Make TLS slot read volatile.
1783 (gtm_thr): Same.
1784
17852011-10-19 Torvald Riegel <triegel@redhat.com>
1786
1787 * libitm_i.h: Add gl_wt dispatch.
1788 * retry.cc (parse_default_method): Same.
1789 * method-gl.cc: New file.
1790 * Makefile.am: Use method-gl.cc.
1791 * Makefile.in: Rebuild.
1792
17932011-10-19 Torvald Riegel <triegel@redhat.com>
1794
1795 * beginend.cc (GTM::gtm_thread::trycommit): Ensure privatization
1796 safety if requested by a TM method.
1797 * dispatch.h (GTM::abi_dispatch::trycommit): Add parameter for
1798 privatization safety.
1799 * method-serial.cc: Same.
1800
18012011-10-19 Torvald Riegel <triegel@redhat.com>
1802
1803 * libitm_i.h: Renamed gtm_local_undo to gtm_undolog_entry.
1804 (GTM::gtm_thread): Renamed local_undo to undolog. Renamed
1805 undolog-related member functions from *_local to *_undolog.
1806 * local.cc (gtm_thread::commit_undolog): Same.
1807 * beginend.cc (GTM::gtm_thread::trycommit): Same.
1808 (GTM::gtm_thread::rollback): Roll back undolog before
1809 dispatch-specific rollback.
1810
18112011-10-19 Torvald Riegel <triegel@redhat.com>
1812
1813 * retry.cc (GTM::gtm_thread::decide_retry_strategy): Handle
1814 re-initialization of the current method group.
1815 * libitm_i.h (GTM::gtm_restart_reason): Add restart reason for this.
1816
18172011-10-19 Torvald Riegel <triegel@redhat.com>
1818
1819 * alloc.cc (commit_allocations_2): Do not free transaction-local
1820 memory when committing a nested transaction.
1821
18222011-10-19 Torvald Riegel <triegel@redhat.com>
1823
1824 * method-serial.cc (GTM::gtm_thread::serialirr_mode): Fixed: Use
1825 serial-irrevocable dispatch, not serial.
1826
18272011-10-19 Torvald Riegel <triegel@redhat.com>
1828
1829 * libitm_i.h (GTM::gtm_restart_reason): Re-arrange and clean up
1830 declarations.
1831 * dispatch.h (GTM::abi_dispatch::begin_or_restart): New.
1832 * method-serial.cc: Implement begin_or_restart().
1833 * beginend.cc (GTM::gtm_thread::begin_transaction): Call
1834 dispatch-specific begin_or_restart().
1835 (GTM::gtm_thread::restart): Same.
1836
18372011-08-23 Torvald Riegel <triegel@redhat.com>
1838
1839 * retry.cc (GTM::gtm_thread::decide_retry_strategy): Cleanup. Fix
1840 restarting without switching to serial mode.
1841 (GTM::gtm_thread::decide_begin_dispatch): Let the caller set the
1842 transaction state. Choose closed-nesting alternative if available.
1843 (GTM::gtm_thread::set_default_dispatch): New.
1844 (parse_default_method): New.
1845 (GTM::gtm_thread::number_of_threads_changed): New.
1846 * method-serial.cc (GTM::serial_mg): New method group class.
1847 (GTM::serialirr_dispatch): Belongs to serial_mg. Remove reinit and
1848 fini.
1849 (GTM::serial_dispatch): Same.
1850 (GTM::serialirr_onwrite_dispatch): Same.
1851 (GTM::gtm_thread::serialirr_mode): Remove calls to fini.
1852 * beginend.cc (GTM::gtm_thread::~gtm_thread): Maintain number of
1853 registered threads.
1854 (GTM::gtm_thread::gtm_thread): Same.
1855 (_ITM_abortTransaction): Remove calls to abi_dispatch::fini().
1856 (GTM::gtm_thread::trycommit): Same. Reset number of restarts.
1857 (GTM::gtm_thread::begin_transaction): Let decide_begin_dispatch()
1858 choose dispatch but set state according to dispatch here.
1859 * dispatch.h (GTM::abi_dispatch::fini): Move to method group.
1860 (GTM::method_group): New class.
1861 (GTM::abi_dispatch): Add comments. Maintain pointer to method_group.
1862 * libitm_i.h (GTM::gtm_thread): Add declarations for new members.
1863 * libitm.texi: Document TM methods, method groups, method life cycle.
1864 Rename method sets to method groups.
1865
18662011-08-23 Torvald Riegel <triegel@redhat.com>
1867
1868 * config/x86/tls.h: Moved to ...
1869 * config/linux/x86/tls.h: ... here.
1870
18712011-08-23 Torvald Riegel <triegel@redhat.com>
1872
1873 * config/x86/tls.h: Use __x86_64__ instead of __LP64__.
1874 Add X32 support.
1875 * config/x86/sjlj.S: Same.
1876
18772011-08-19 Torvald Riegel <triegel@redhat.com>
1878
1879 * config/linux/rwlock.h: New file.
1880 * config/linux/rwlock.c: New file.
1881 * configure.ac: Reenable futex support (undo SVN rev 157758).
1882 * Makefile.am: Same.
1883 * configure.tgt: Same.
1884 * config/linux/alpha/futex_bits.h: Same.
1885 * config/linux/futex.h: Same. Return number of woken processes.
1886 * config/linux/futex.cc: Same.
1887 (futex_wait): Remove spinning.
1888 * config/linux/x86/futex_bits.h: Same. Set futex timeout to zero.
1889 Use __x86_64__ instead of __LP64__.
1890 * aclocal.m4: Include generic futex checks.
1891 * configure: Rebuild.
1892 * Makefile.in: Rebuild.
1893 * testsuite/Makefile.in: Rebuild.
1894 * beginend.cc: Include pthread.h.
1895 * config/posix/cachepage.cc: Same.
1896
18972011-08-12 Torvald Riegel <triegel@redhat.com>
1898
1899 * config/x86/tls.h (gtm_tx, set_gtm_tx, setup_gtm_thr): Removed.
1900 (abi_disp, set_abi_disp): Move to tx's TLS slot.
1901 (set_gtm_thr): New.
1902 * config/generic/tls.h (gtm_tx, set_gtm_tx, setup_gtm_thr): Removed.
1903 (set_gtm_thr): New.
1904 (GTM::gtm_thread::thread_num): Removed.
1905 (GTM::gtm_thread): Renamed to GTM::gtm_thread_tls.
1906 * libitm_i.h (GTM::gtm_transaction): Renamed to GTM::gtm_thread. More
1907 tx-to-thread renaming.
1908 * beginend.cc: Adapted to tx-to-thread renaming.
1909 (GTM::gtm_thread::~gtm_thread): Extracted from thread_exit_handler().
1910 (GTM::gtm_thread::gtm_thread): Extracted from begin_transaction().
1911 * query.cc (_ITM_getTransactionId, _ITM_inTransaction): Renamed
1912 gtm_transaction to gtm_thread.
1913 (_ITM_getThreadnum): Removed. Not supported anymore.
1914 * testsuite/libitm.c/notx.c (main): Removed _ITM_getThreadnum call.
1915 * libitm.texi: Documented that _ITM_getThreadnum is not supported.
1916 * useraction.cc: Renamed gtm_transaction to gtm_thread. Adapted to
1917 gtm_tx-to-gtm_thr renaming if necessary.
1918 * eh_cpp.cc: Same.
1919 * local.cc: Same.
1920 * retry.cc: Same.
1921 * clone.cc: Same.
1922 * alloc.cc: Same.
1923 * alloc_c.cc: Same.
1924 * alloc_cpp.cc: Same.
1925 * method-serial.cc: Same.
1926 * config/generic/tls.cc: Same.
1927 * config/posix/rwlock.h (gtm_rwlock): Same.
1928 * config/posix/rwlock.cc: Same. Adapted to more tx-to-thread renaming.
1929
19302011-08-12 Torvald Riegel <triegel@redhat.com>
1931
1932 * config/posix/rwlock.cc (gtm_rwlock::read_lock): Changed locking
1933 implementation.
1934 (gtm_rwlock::read_unlock): Same.
1935 (gtm_rwlock::write_lock_generic): New. Generalized from ...
1936 (gtm_rwlock::write_lock, gtm_rwlock::write_upgrade): ... these.
1937 * libitm_i.h (GTM::gtm_transaction): Added shared_state.
1938 * config/posix/rwlock.h (GTM::gtm_rwlock): Removed a_reader and
1939 w_upgrade. Replaced by per-transaction flags (in shared_state).
1940 Added c_confirmed_writers.
1941 (GTM::gtm_rwlock::read_lock, GTM::gtm_rwlock::read_unlock,
1942 GTM::gtm_rwlock::write_upgrade): Add tx parameter.
1943 * retry.cc (GTM::gtm_transaction::decide_retry_strategy): Same.
1944 * method-serial.cc (GTM::gtm_transaction::serialirr_mode): Same.
1945 * beginend.cc (GTM::gtm_transaction::begin_transaction,
1946 _ITM_abortTransaction, GTM::gtm_transaction::trycommit): Same.
1947 * libitm.texi: Document locking conventions and implementations in
1948 libitm.
1949
19502011-08-12 Torvald Riegel <triegel@redhat.com>
1951
1952 * libitm_i.h (next_tx): Add list of all threads' transaction.
1953 * beginend.cc (GTM::gtm_transaction::begin_transaction): Register
1954 transaction with list of transactions and ...
1955 (thread_exit_handler): ... deregister here.
1956 * config/alpha/target.h: Add HW_CACHELINE_SIZE setting.
1957 * config/x86/target.h: Same.
1958
19592011-08-12 Torvald Riegel <triegel@redhat.com>
1960
1961 * testsuite/libitm.c++/static_ctor.C: New file.
1962
19632011-08-12 Torvald Riegel <triegel@redhat.com>
1964
1965 * testsuite/libitm.c/reentrant.c: New file.
1966
19672011-08-12 Torvald Riegel <triegel@redhat.com>
1968
1969 * config/generic/tls.h: Remove the free list for transactions and ...
1970 * beginend.cc (GTM::gtm_transaction::operator new): ... allocate ...
1971 (GTM::gtm_transaction::operator delete): ... and release here.
1972 (thread_exit_handler): New. Delete tx when thread terminates.
1973 (thread_exit_init): New.
1974 (GTM::gtm_transaction::begin_transaction): Set up on-exit handler.
1975 * testsuite/libitm.c/txrelease.c: New file.
1976
19772011-08-12 Torvald Riegel <triegel@redhat.com>
1978
1979 * query.cc (_ITM_getThreadnum): Set up gtm_thread if necessary.
1980 * testsuite/libitm.c/notx.c: New file.
1981
19822011-08-12 Torvald Riegel <triegel@redhat.com>
1983
1984 * config/generic/tls.h (gtm_thread): Move local_tid from here ...
1985 * libitm_i.h (local_tid): ... to here.
1986 * beginend.cc (GTM::gtm_transaction::begin_transaction): Same.
1987 (GTM::gtm_transaction::operator new): Set up gtm_thread if necessary.
1988
19892011-08-12 Torvald Riegel <triegel@redhat.com>
1990
1991 * retry.cc (GTM::gtm_transaction::decide_begin_dispatch): Use
1992 serialirr_onwrite_dispatch as new default for now.
1993 * method-serial.cc (serialirr_onwrite_dispatch): New.
1994 (GTM::dispatch_serialirr_onwrite): New.
1995 * libitm_i.h: Same.
1996
19972011-08-12 Torvald Riegel <triegel@redhat.com>
1998
1999 * beginend.cc (GTM::gtm_transaction::rollback): Roll back tx id as well.
2000 * query.cc (_ITM_getTransactionId): There is no active transaction if
2001 the current nesting level is zero.
2002
20032011-07-28 Torvald Riegel <triegel@redhat.com>
2004
2005 * beginend.cc (GTM::gtm_transaction::rollback): Fix nesting level
2006 rollback.
2007
20082011-07-28 Torvald Riegel <triegel@redhat.com>
2009
2010 * retry.cc (GTM::gtm_transaction::decide_begin_dispatch): Get
2011 transaction properties from the caller instead of from the
2012 transaction object.
2013 * libitm_i.h: Same.
2014 * beginend.cc (GTM::gtm_transaction::begin_transaction): Same.
2015
20162011-07-28 Torvald Riegel <triegel@redhat.com>
2017
2018 * local.cc (gtm_transaction::rollback_local): Support closed nesting.
2019 * eh_cpp.cc (GTM::gtm_transaction::revert_cpp_exceptions): Same.
2020 * dispatch.h: Same.
2021 * method-serial.cc: Same.
2022 * beginend.cc (GTM::gtm_transaction::begin_transaction): Change to
2023 flat nesting as default, and closed nesting on demand.
2024 (GTM::gtm_transaction::rollback): Same.
2025 (_ITM_abortTransaction): Same.
2026 (GTM::gtm_transaction::restart): Same.
2027 (GTM::gtm_transaction::trycommit): Same.
2028 (GTM::gtm_transaction::trycommit_and_finalize): Removed.
2029 (choose_code_path): New.
2030 (GTM::gtm_transaction_cp::save): New.
2031 (GTM::gtm_transaction_cp::commit): New.
2032 * query.cc (_ITM_inTransaction): Support flat nesting.
2033 * libitm_i.h (GTM::gtm_transaction_cp): New helper struct for nesting.
2034 (GTM::gtm_transaction): Support flat and closed nesting.
2035 * alloc.cc (commit_allocations_2): New.
2036 (commit_cb_data): New helper struct.
2037 (GTM::gtm_transaction::commit_allocations): Handle nested
2038 commits/rollbacks.
2039 * libitm.texi: Update user action section, add description of nesting.
2040
20412011-07-28 Torvald Riegel <triegel@redhat.com>
2042
2043 * libitm_i.h: Add closed nesting as restart reason.
2044 * retry.cc (GTM::gtm_transaction::decide_retry_strategy): Same.
2045
20462011-07-28 Torvald Riegel <triegel@redhat.com>
2047
2048 * useraction.cc: Use vector instead of list to store actions.
2049 Also support partial rollbacks for closed nesting.
2050 * libitm_i.h (GTM::gtm_transaction::user_action): Same.
2051 * beginend.cc: Same.
2052
20532011-07-28 Torvald Riegel <triegel@redhat.com>
2054
2055 * dispatch.h (GTM::abi_dispatch): Add can_run_uninstrumented_code and
2056 closed_nesting flags, as well as a closed nesting alternative.
2057 * method-serial.cc: Same.
2058 (serial_dispatch): Renamed to serialirr_dispatch.
2059 (GTM::dispatch_serialirr): Same.
2060 (serial_dispatch_ul): Renamed to serial_dispatch.
2061 (GTM::dispatch_serial): Same.
2062
20632011-07-28 Torvald Riegel <triegel@redhat.com>
2064
2065 * libitm.h (_ITM_codeProperties): Change pr_hasElse to the ABI's value.
2066
20672011-07-28 Torvald Riegel <triegel@redhat.com>
2068
2069 * aatree.h (aa_tree::remove): New.
2070 (aa_tree::operator new): Add placement new.
2071
20722011-07-02 Torvald Riegel <triegel@redhat.com>
2073
2074 * containers.h: New file.
2075 * util.cc (xmalloc, xrealloc): Accept cacheline-alloc flag.
2076 * libitm_i.h (xmalloc, xrealloc): Moved declarations from here ...
2077 * common.h: ... to here.
2078 (local_undo): Use GTM::vector for gtm_transaction::local_undo.
2079 * local.cc: Same.
2080
20812011-06-30 Torvald Riegel <triegel@redhat.com>
2082
2083 * libitm_i.h (STATE_ABORTING): Remove.
2084 * beginend.cc (_ITM_abortTransaction): Same.
2085 (GTM::gtm_transaction::trycommit_and_finalize): Same.
2086 * libitm.h (_ITM_registerThrownObject, _ITM_tryCommitTransaction): Remove.
2087 (_ITM_rollbackTransaction): Remove.
2088 * beginend.cc: Same.
2089 * libitm.map: Same.
2090 * libitm.texi: Document these ABI changes.
2091
20922011-06-30 Torvald Riegel <triegel@redhat.com>
2093
2094 * libitm.texi: New file.
2095 * Makefile.am: Add libitm.texi.
2096 * Makefile.in: Rebuild.
2097
20982011-06-30 Torvald Riegel <triegel@redhat.com>
2099
2100 * libitm_i.h: Move parts to common.h and dispatch.h.
2101 * common.h: New file.
2102 * dispatch.h: New file, new dispatch class.
2103 Rename GTM::abi_dispatch::lock_type to ls_modifier.
2104 RenameGTM::abi_dispatch::NOLOCK to NONTXNAL.
2105 * beginend.cc (GTM::gtm_transaction::begin_transaction): Delegate mode
2106 decision to retry.cc.
2107 * retry.cc (GTM::gtm_transaction::decide_retry_strategy): Use serial mode
2108 only.
2109 (GTM::gtm_transaction::decide_begin_dispatch): Same.
2110 * method-serial.cc: Adapt to new dispatch. Add serial mode with undo
2111 logging.
2112 * barrier.cc: Use new barriers definitions.
2113 (abi_dispatch::memmove_overlap_check): New.
2114 * config/x86/x86_sse.cc: Same.
2115 * config/x86/x86_avx.cc: Same.
2116 * Makefile.am: Don't build readonly and wbetl methods, memset.cc and
2117 memcpy.cc.
2118 * Makefile.in: Rebuild.
2119 * method-readonly.cc: Remove.
2120 * method-wbetl.cc: Rename GTM::abi_dispatch::lock_type to ls_modifier.
2121 Rename GTM::abi_dispatch::NOLOCK to NONTXNAL.
2122
21232011-06-30 Torvald Riegel <triegel@redhat.com>
2124
2125 * alloc_c.cc (_ITM_dropReferences): Don't support it anymore.
2126 * testsuite/libitm.c++/dropref.C: _ITM_dropReferences is expected to fail.
2127 * testsuite/libitm.c/dropref-2.c: Same.
2128 * testsuite/libitm.c/dropref.c: Same.
2129
21302011-06-30 Torvald Riegel <triegel@redhat.com>
2131
2132 * config/generic/tls.h (gtm_disp): Rename to abi_disp.
2133 * config/generic/tls.h (set_gtm_disp): Rename to set_abi_disp.
2134 * libitm_i.h: Rename gtm_dispatch to abi_dispatch.
2135 * alloc_c.cc: Same.
2136 * barrier.tpl: Same.
2137 * beginend.c: Same.
2138 * config/generic/tls.h: Same.
2139 * config/x86/tls.h: Same.
2140 * libitm_i.h: Same.
2141 * memcpy.cc: Same.
2142 * memset.cc: Same.
2143 * method-readonly.cc: Same.
2144 * method-serial.cc: Same.
2145 * method-wbetl.cc: Same.
2146 * retry.cc: Same.
2147
21482011-03-03 Richard Henderson <rth@redhat.com>
2149
2150 * config/posix/rwlock.cc (write_upgrade): Add missing case.
2151 From Patrik Marlier <patrick.marlier@unine.ch>.
2152
21532011-02-03 Richard Henderson <rth@redhat.com>
2154
2155 * acinclude.m4 (LIBITM_CHECK_SIZE_T_MANGLING): New.
2156 * configure.ac: Use it.
2157 * configure, config.h.in: Rebuild.
2158 * alloc_cpp.cc (_ZnwX): Use MANGLE_SIZE_T in constructing the name.
2159 (_ZnaX, _ZnwXRKSt9nothrow_t, _ZnaXRKSt9nothrow_t, _ZGTtnwX,
2160 _ZGTtnaX, _ZGTtnwXRKSt9nothrow_t, _ZGTtnaXRKSt9nothrow_t): Likewise.
2161 * libitm.map: Use wildcards to match size_t mangling.
2162
21632010-12-14 Richard Henderson <rth@redhat.com>
2164
2165 * beginend.cc (GTM::gtm_transaction::begin_transaction): Allocate
2166 blocks of TIDs per thread.
2167 * config/generic/tls.h (struct gtm_thread): Add local_tid member.
2168 (setup_gtm_thr): Return the thread structure.
2169 * config/x86/tls.h (setup_gtm_thr): Likewise.
2170
21712010-12-14 Richard Henderson <rth@redhat.com>
2172
2173 * clone.cc (table_lock): Remove.
2174 (find_clone): Don't take it.
2175 (ExcludeTransaction): New helper class.
2176 (_ITM_registerTMCloneTable): Use it.
2177 (_ITM_deregisterTMCloneTable): Likewise.
2178
21792010-12-14 Richard Henderson <rth@redhat.com>
2180
2181 * config/x86/tls.h: New file.
2182
21832010-07-15 Richard Henderson <rth@redhat.com>
2184
2185 * Makefile.am (AM_CXXFLAGS): Add -funwind-tables.
2186 * Makefile.in: Rebuild.
2187
21882010-07-13 Aldy Hernandez <aldyh@redhat.com>
2189
2190 * method-wbetl.cc (trydropreference): Fix source line.
2191
21922010-07-13 Aldy Hernandez <aldyh@redhat.com>
2193
2194 * libitm.h: Add comment.
2195 * libitm_i.h (begin_transaction): Add ITM_REGPARM.
2196
21972010-07-07 Aldy Hernandez <aldyh@redhat.com>
2198
2199 * configure.ac: Call LIBITM_CHECK_64BIT_SYNC_BUILTINS.
2200 * beginend.cc (begin_transaction): If 64-bit sync builtins are not
2201 available, use pthread mutexes.
2202 * acinclude.m4 (LIBITM_CHECK_64BIT_SYNC_BUILTINS): New.
2203 * config.h.in: Regenerate.
2204 * configure: Regenerate.
2205
22062010-07-06 Aldy Hernandez <aldyh@redhat.com>
2207
2208 * libitm.h (ITM_PURE): Define.
2209 Declare _ITM_malloc, _ITM_calloc, and _ITM_free.
2210
22112010-06-28 Aldy Hernandez <aldyh@redhat.com>
2212
2213 * method-wbetl.cc (class wbetl_dispatch): Add trydropreference.
2214 (validate): Add comment.
2215 (trydropreference): New.
2216 * method-readonly.cc (class readonly_dispatch): Add
2217 trydropreference.
2218 * alloc_c.cc (_ITM_dropReferences): Remove const attribute.
2219 Call trydropreference().
2220 * libitm.h (_ITM_dropReferences): Remove const attribute.
2221 * method-serial.cc (class serial_dispatch): Add trydropreference.
2222 * libitm_i.h (struct gtm_dispatch): Add trydropreference.
2223
22242010-06-28 Aldy Hernandez <aldyh@redhat.com>
2225
2226 * memcpy.cc (do_memcpy): Comment.
2227
22282010-06-25 Aldy Hernandez <aldyh@redhat.com>
2229
2230 * barrier.tpl: Add comments throughout.
2231
22322010-06-24 Aldy Hernandez <aldyh@redhat.com>
2233
2234 * method-wbetl.cc (struct w_entry): Add comments.
2235 (trycommit): Same.
2236 (rollback): Same.
2237
22382010-06-24 Aldy Hernandez <aldyh@redhat.com>
2239
2240 * alloc_c.cc (_ITM_dropReferences): New.
2241 * libitm.map (_ITM_dropReferences): Add.
2242 * libitm.h (_ITM_dropReferences): Add transaction_pure attribute.
2243 * libitm_i.h (struct gtm_transaction): Declare
2244 drop_references_allocations and drop_references_local.
2245 * local.cc (rollback_local): Ignore memory when applicable.
2246 (drop_references_local): New.
2247
22482010-06-23 Richard Henderson <rth@redhat.com>
2249
2250 * barrier.tpl, beginend.cc, clone.cc, tls.h, memcpy.cc,
2251 memset.cc, method-serial.cc: Revert the 2010-06-16 change.
2252 * config/x86/target.h (struct gtm_jmpbuf): Change CFA type to void*.
2253 * config/alpha/target.h: Likewise.
2254 * config/generic/tls.cc (gtm_mask_stack): Use it.
2255
22562010-06-23 Richard Henderson <rth@redhat.com>
2257
2258 * config/posix/cachepage.cc (gtm_cacheline_page::operator new): Use
2259 a mutex instead of trying a lock-free compare-and-swap on the list.
2260 (gtm_cacheline_page::operator delete): Likewise.
2261
22622010-06-16 Richard Henderson <rth@redhat.com>
2263
2264 * method-wbetl.cc (wbetl_dispatch::trycommit): Discard changes
2265 that overlap the libitm stack.
2266 * barrier.tpl: Mark incoming stack.
2267 * beginend.cc (_ITM_rollbackTransaction, _ITM_abortTransaction,
2268 _ITM_commitTransaction, _ITM_commitTransactionEH): Likewise.
2269 * clone.cc (_ITM_getTMCloneOrIrrevocable): Likewise.
2270 * memcpy.cc, memset.cc: Likewise.
2271 * method-serial.cc (_ITM_changeTransactionMode): Likewise.
2272 * config/generic/tls.h (gtm_thread): Add stack_top member.
2273 (gtm_stack_top, set_gtm_stack_top, struct gtm_stack_marker): New.
2274 * libitm_i.h (gtm_mask_stack): Declare.
2275 * config/generic/tls.cc: New file.
2276 * Makefile.am (libitm_la_SOURCES): Add it.
2277 (AM_CXXFLAGS): Turn off exceptions.
2278 * Makefile.in: Rebuild.
2279
22802010-06-16 Richard Henderson <rth@redhat.com>
2281
2282 * alloc.cc (struct gtm_alloc_action): Move definition ...
2283 * libitm_i.h: ... here.
2284 (class gtm_transaction): Declare new and delete.
2285 * beginend.cc (alloc_tx): Reformulate as operator new.
2286 (free_tx): Reformulate as operator delete.
2287 * config/generic/tls.h (gtm_thread): Change free_tx member to void *.
2288
22892010-06-11 Richard Henderson <rth@redhat.com>
2290
2291 * clone.cc (clone_entry_compare): Fix typo.
2292 From Patrik Marlier <patrick.marlier@unine.ch>.
2293
22942010-05-13 Richard Henderson <rth@redhat.com>
2295
2296 * alloc_c.cc (_ITM_malloc, _ITM_calloc, _ITM_free): Wrap functions
2297 in extern "C".
2298
22992010-05-07 Aldy Hernandez <aldyh@redhat.com>
2300
2301 * libitm_i.h (struct gtm_transaction): Remove
2302 get_allocation_size.
2303 (record_allocation): Remove size parameter.
2304 * libitm.map (_ITM_realloc): Remove.
2305 * alloc_c.cc (_ITM_realloc): Remove.
2306 (_ITM_malloc): Remove size argument to record_allocation.
2307 (_ITM_calloc): Same.
2308 * alloc_cpp.cc (_ZGTtnwm): Same.
2309 (_ZGTtnwmRKSt9nothrow_t): Same.
2310 (_ZGTtnam): Same.
2311 (_ZGTtnamRKSt9nothrow_t): Same.
2312 * alloc.cc (struct gtm_alloc_action): Remove size.
2313 (get_allocation_size): Remove.
2314 (commit_allocations): Add comment.
2315 (record_allocation): Remove size parameter.
2316 (forget_allocation): Remove set of size.
2317
23182010-04-19 Aldy Hernandez <aldyh@redhat.com>
2319
2320 * Makefile.am (abi_version): New.
2321 (AM_CXXFLAGS): Pass abi_version.
2322 * Makefile.in: Regenerate.
2323 * config/x86/unaligned.h: Remove always_inline kludge for vectors.
2324
23252010-04-06 Aldy Hernandez <aldyh@redhat.com>
2326
2327 * clone.cc (_ITM_getTMCloneOrIrrevocable): Rename from
2328 _ITM_getTMCloneOrIrrevokable.
2329 * libitm.h (_ITM_getTMCloneOrIrrevocable): Same.
2330 * libitm.map (_ITM_getTMCloneOrIrrevocable): Same.
2331
23322010-03-26 Aldy Hernandez <aldyh@redhat.com>
2333
2334 * configure.ac: Remove Linux futex support.
2335 * configure.tgt (config_path): Same.
2336 * Makefile.am: Same.
2337 * config/linux: Remove entire directory.
2338 * configure: Rebuild.
2339 * Makefile.in: Rebuild.
2340 * testsuite/Makefile.in: Rebuild.
2341
23422010-03-09 Aldy Hernandez <aldyh@redhat.com>
2343
2344 * retry.cc (decide_retry_strategy): Set state to STATE_SERIAL when
2345 switching to serial mode.
2346 * beginend.cc (trycommit_and_finalize): Unlock serial_lock.
2347
23482010-03-03 Aldy Hernandez <aldyh@redhat.com>
2349
2350 * configure.tgt: Add emacs -*- tags.
2351 * barrier.tpl: Same.
2352
23532010-02-23 Aldy Hernandez <aldyh@redhat.com>
2354
2355 * Makefile.am: Rename serial.cc to method-serial.cc.
2356 * Makefile.in: Regenerate with automake 1.11.1.
2357 * testsuite/Makefile.in: Same.
2358 * aclocal.m4: Regenerate with aclocal 1.11.1.
2359 * method-serial.cc: Rename from serial.cc.
2360 * libitm_i.h (struct gtm_transaction): Update comment on
2361 serialirr_mode.
2362
23632010-02-22 Aldy Hernandez <aldyh@redhat.com>
2364
2365 * libitm_i.h (GTM_longjmp): Add ITM_REGPARM.
2366 * config/linux/rwlock.h (class gtm_rwlock): Add comments.
2367
23682010-02-11 Aldy Hernandez <aldyh@redhat.com>
2369
2370 * configure: Rebuild.
2371
23722009-11-12 Richard Henderson <rth@redhat.com>
2373
2374 * Rewrite everything in C++.
2375
23762009-11-03 Richard Henderson <rth@redhat.com>
2377
2378 * config/x86/x86_sse.c, config/x86/x86_avx.c: New files.
2379 * Makefile.am (libitm_la_SOURCES): Add them.
2380 * configure.ac (ARCH_X86): New conditional.
2381 * Makefile.in, configure: Rebuild.
2382 * configure.tgt: Set up ARCH; do cflags setup at the same time.
2383 Move futex setup into "other system configury" case.
2384 * local.c (rollback_local): Merge into ...
2385 (GTM_rollback_local): ... here.
2386 (GTM_LB): Rename from GTM_alloc_local; do the memcpy here.
2387 (_ITM_LB): Define as an alias to GTM_LB.
2388
23892009-11-03 Richard Henderson <rth@redhat.com>
2390
2391 * method-readonly.c: New file.
2392 * Makefile.am (libitm_la_SOURCES): Add it.
2393 * Makefile.in: Rebuild.
2394 * beginend.c (gtm_stmlock_array, gtm_clock): New.
2395 (GTM_begin_transaction): Use dispatch_readonly for read-only txn.
2396 * libitm_i.h (gtm_stmlock, gtm_version): Move from method-wbetl.c.
2397 (GTM_VERSION_MAX, GTM_VERSION_INVALID, gtm_stmlock_owned_p,
2398 gtm_stmlock_set_owned, gtm_stmlock_get_addr,
2399 gtm_stmlock_get_version, gtm_stmlock_set_version, LOCK_ARRAY_SIZE,
2400 gtm_stmlock_array, gtm_get_stmlock, gtm_clock, RESTART_NOT_READONLY,
2401 gtm_get_clock, gtm_inc_clock): New.
2402 * method-wbetl.c (gtm_version, gtm_stmlock, OWNED_MASK, VERSION_MAX,
2403 LOCK_GET_OWNED, LOCK_SET_ADDR, LOCK_GET_ADDR, LOCK_GET_TIMESTAMP,
2404 LOCK_SET_TIMESTAMP, LOCK_ARRAY_SIZE, LOCK_MASK, LOCK_IDX, GET_LOCK,
2405 locks, gclock, CLOCK, GET_CLOCK, FETCH_AND_INC_CLOCK): Remove and
2406 replace uses with new libitm_i.h symbols.
2407 (dispatch_wbetl): Rename from wbetl_dispatch.
2408 * retry.c (GTM_decide_retry_strategy): If RESTART_NOT_READONLY, move
2409 away from dispatch_readonly; abort if the beginTransaction call
2410 asserted that the transaction was readonly.
2411
24122009-11-03 Richard Henderson <rth@redhat.com>
2413
2414 * memset.c: New file.
2415 * Makefile.am (libitm_la_SOURCES): Add it.
2416 * Makefile.in: Rebuild.
2417 * testsuite/libitm.c/memset-1.c: New.
2418
24192009-11-03 Richard Henderson <rth@redhat.com>
2420
2421 * dispatch.c: Remove file.
2422 * useraction.c (struct gtm_user_action): Move from libitm.h.
2423 * serial.c (GTM_null_read_lock, GTM_null_write_lock): New.
2424 (serial_memset, serial_memmove, serial_memcpy): Remove.
2425 (serial_W*, serial_R*): Remove.
2426 (serial_dispatch): Update to match.
2427 * configure.ac: Move Werror down below configure checks. Don't
2428 check for sys/loadavg.h, do check for malloc.h. Don't check for
2429 getloadavg and clock_gettime; do check for memalign, posix_memalign.
2430 Use GCC_AC_FUNC_MMAP_BLACKLIST
2431 * libitm.h: Split out all internal items to...
2432 * libitm_i.h: ... here. New file.
2433 * copymask.c: New file.
2434 * local.c (struct gtm_local_undo): Move from libitm.h.
2435 (GTM_alloc_local): Rename from alloc_local; export.
2436 * memcpy.c: New file.
2437 * alloc_c.c (_ITM_realloc): Use _ITM_memcpyRnWt directly.
2438 * config/posix/page.c: New file.
2439 * config/posix/target_tls.h: Remove file.
2440 * barrier.c: New file.
2441 * Makefile.am (libitm_la_SOURCES): Add barrier.c, memcpy.c,
2442 copymask.c, page.c.
2443 * alloc.c (struct gtm_alloc_action): Move from libitm.h.
2444 * method-wbetl.c: Rewrite for new cacheline methods.
2445 * Makefile.in, configure, testsuite/Makefile.in, config.h.in: Rebuild.
2446
2447 * config/alpha/sjlj.S: Fix typo.
2448 * config/alpha/target_i.h: Copy functions from alpha/target.h.
2449 * config/alpha/copymask.c: New file.
2450 * config/alpha/target.h (CACHELINE_SIZE): New.
2451 (STRICT_ALIGNMENT, PAGE_SIZE, FIXED_PAGE_SIZE): New.
2452
2453 * config/x86/target_i.h: Copy functions from x86/target.h.
2454 * config/x86/copymask.c: New file.
2455 * config/x86/target.h (_ITM_ALL_TARGET_TYPES): Remove.
2456 (CACHELINE_SIZE, STRICT_ALIGNMENT): New.
2457 (PAGE_SIZE, FIXED_PAGE_SIZE): New.
2458 * config/x86/target_tls.h: Move contents to target_i.h.
2459
2460 * testsuite/libitm.c/clone-1.c: Include libitm.h.
2461 * testsuite/libitm.c/memcpy-1.c: New.
2462
24632009-10-22 Richard Henderson <rth@redhat.com>
2464
2465 * Makefile.am (CCAS, CCASFLAGS, LTCCASCOMPILE): Remove.
2466 (AM_CCASFLAGS): New.
2467 * configure.ac: Add AM_PROG_AS. Use m4_rename_force for
2468 saving/restoring _AC_ARG_VAR_PRECIOUS.
2469 * Makefile.in, aclocal.m4, config.h.in, configure,
2470 testsuite/Makefile.in: Rebuild with automake 1.11; autoconf 2.64.
2471
24722009-10-22 Richard Henderson <rth@redhat.com>
2473
2474 * testsuite/*: Update for new compiler syntax.
2475
24762009-10-21 Richard Henderson <rth@redhat.com>
2477
2478 * libitm.h (_ITM_abortReason): Add outerAbort.
2479
24802009-08-03 Richard Henderson <rth@redhat.com>
2481
2482 * libitm.map (_ITM_commitTransactionEH, _ITM_cxa_allocate_exception,
2483 _ITM_cxa_begin_catch, _ITM_cxa_end_catch, _ITM_cxa_throw): Export.
2484 * method-wbetl.c (struct w_entry): Remove mask.
2485 (wbetl_write, wbetl_load): Return pointer to word containing the data;
2486 adjust all callers.
2487
24882009-07-22 Richard Henderson <rth@redhat.com>
2489
2490 * eh_cpp.c: New file.
2491 * Makefile.am (libitm_la_SOURCES): Add it.
2492 * Makefile.in: Rebuild.
2493 * beginend.c (GTM_rollback_transaction): Undo exception state.
2494 (GTM_trycommit_transaction): Mark inline.
2495 (GTM_trycommit_and_finalize_transaction): Split out from ...
2496 (_ITM_commitTransaction): ... here.
2497 (_ITM_commitTransactionEH): New function.
2498 * libitm.h (struct gtm_transaction): Add cxa_catch_count,
2499 cxa_unthrown, eh_in_flight; reorder.
2500
2501 * testsuite/libitm.c++/c++.exp: New.
2502 * testsuite/libitm.c++/eh-1.C: New.
2503
2504 * aatree.c (aa_free): Remove REGPARM.
2505 * aatree.h: Remove all REGPARM.
2506
25072009-07-18 Richard Henderson <rth@redhat.com>
2508
2509 * aatree.c, aatree.h, alloc.c, alloc_c.c, alloc_cpp.c: New files.
2510 * Makefile.am (libitm_la_SOURCES): Add them.
2511 * Makefile.in: Rebuild.
2512 * beginend.c (GTM_rollback_transaction): Use GTM_commit_allocations.
2513 (GTM_trycommit_transaction): Likewise.
2514 * libitm.h: Include aatree.h
2515 (struct gtm_alloc_action): New.
2516 (struct gtm_transaction): Add alloc_actions.
2517 (GTM_record_allocation, GTM_forget_allocation): Declare.
2518 (GTM_get_allocation_size, GTM_commit_allocations): Declare.
2519 * libitm.map (_ITM_malloc, _ITM_calloc, _ITM_realloc, _ITM_free,
2520 _ZGTtnwm, _ZGTtnam, _ZGTtdlPv, _ZGTtdaPv, _ZGTtnwmRKSt9nothrow_t,
2521 _ZGTtnamRKSt9nothrow_t, _ZGTtdlPvRKSt9nothrow_t,
2522 _ZGTtdaPvRKSt9nothrow_t): Export.
2523
25242009-07-18 Richard Henderson <rth@redhat.com>
2525
2526 * target_tls.h: Move ...
2527 * config/posix/target_tls.h: ... here.
2528
25292009-07-07 Richard Henderson <rth@redhat.com>
2530
2531 * config/x86/target.h (atomic_write_barrier): Use sfence if available.
2532
25332009-07-07 Richard Henderson <rth@redhat.com>
2534
2535 * Update to GPL3.
2536
25372009-07-07 Richard Henderson <rth@redhat.com>
2538
2539 * libitm.h (struct gtm_transaction): Widen id to _ITM_transactionId_t.
2540 * beginend.c (global_tid): Widen to _ITM_transactionId_t.
2541
2542 * configure.tgt: Don't use -ftls-model for x86 linux.
2543 * libitm.h: Include target.h after standard includes.
2544 (_gtm_thr): Rename from gtm_thr.
2545 (setup_gtm_thr, gtm_thr, gtm_tx, set_gtm_tx): New.
2546 (gtm_disp, set_gtm_disp): New.
2547 * beginend.c, dispatch.c, local.c, method-wbetl.c, query.c,
2548 retry.c, serial.c, useraction.c: Use accessor functions throughout.
2549 * config/alpha/target_tls.h, config/x86/target_tls.h: New files.
2550
25512009-07-07 Richard Henderson <rth@redhat.com>
2552
2553 * config/linux/rwlock.c (EZ): New define. Use it throughout.
2554
25552009-07-06 Richard Henderson <rth@redhat.com>
2556
2557 * libitm.h (_ITM_SRCLOCATION_DECL_1, _ITM_SRCLOCATION_DECL_2): Remove.
2558 (_ITM_SRCLOCATION_DEFN_1, _ITM_SRCLOCATION_DEFN_2): Remove.
2559 (_ITM_beginTransaction): Take variadic arguments.
2560 (_ITM_registerThrownObject): Declare.
2561 * beginend.c, serial.c: Update.
2562 * libitm.map: Add _ITM_registerThrownObject.
2563
25642009-01-28 Richard Henderson <rth@redhat.com>
2565
2566 * Makefile.am (libitm_la_SOURCES): Add clone.c.
2567 * Makefile.in: Rebuild.
2568 * beginend.c (_ITM_abortTransaction): Abort if irrevokable.
2569 (GTM_restart_transaction): Fix uninstrumented code check.
2570 * retry.c (GTM_decide_retry_strategy): Add serial check.
2571 * serial.c (GTM_serialmode): Add irrevokable variable. Don't
2572 automatically go irrevokable when in serial mode.
2573 * clone.c: New file.
2574 * libitm.h, libitm.map: Update.
2575
25762009-01-27 Richard Henderson <rth@redhat.com>
2577
2578 * Makefile.am (LTCCASCOMPILE): Define.
2579 (libitm_la_SOURCES): Add methid-wbetl.c.
2580 * testsuite/Makefile.am: New
2581 * configure.ac: Add testsuite/Makefile.
2582 * Makefile.in, testsuite/Makefile.in, configure: Regenerate.
2583 * beginend.c (GTM_begin_transaction): Install wbetl_dispatch.
2584 (_ITM_abortTransaction): Finalize implementation method; pass
2585 transaction properties to longjmp.
2586 (GTM_restart_transaction): Split out from ...
2587 (_ITM_commitTransaction): ... here.
2588 * config/linux/x86/futex_bits.h (cpu_relax, atomic_write_barrier):
2589 Move to config/x86/target.h.
2590 * config/linux/alpha/futex_bits.h: New.
2591 * config/x86/sjlj.S (GTM_longjmp): Fix 64-bit input register.
2592 * config/x86/target.h: Disable target types for 32-bit.
2593 * config/alpha/sjlj.S, config/alpha/target.h: New.
2594 * libitm.h (struct gtm_dispatch): Add init, fini.
2595 (enum restart_reason): New.
2596 (struct gtm_transaction): Add method and restarts.
2597 * retry.c (GTM_decide_retry_strategy): Implement.
2598 * serial.c (serial_init, serial_fini): New.
2599 (GTM_serialmode): Finialize outgoing method.
2600 * method-wbetl.c: New.
2601
26022008-12-09 Richard Henderson <rth@redhat.com>
2603
2604 * config/x86/target.h (_ITM_ALL_TARGET_TYPES, _ITM_TYPE_ATTR): New.
2605 * configure.tgt (i386-*, x86_64-*): Don't force SSE.
2606 * dispatch.c (_ITM_##R##T, _ITM_##W##T): Use _ITM_TYPE_ATTR.
2607 * libitm.h (_ITM_ALL_TARGET_TYPES, _ITM_TYPE_ATTR): Provide default.
2608 (_ITM_TYPE_M64, _ITM_TYPE_M128, _ITM_TYPE_M256): Move to x86 header.
2609 (_ITM_ALL_TYPES): Use _ITM_ALL_TARGET_TYPES.
2610 * local.c (_ITM_L##T): Use _ITM_TYPE_ATTR.
2611 * serial.c (serial_R##T, serial_W##T): Likewise.
2612
26132008-11-21 Richard Henderson <rth@redhat.com>
2614
2615 * Initial commit.
21fa2a29 2616\f
68127a8e 2617Copyright (C) 2008-2023 Free Software Foundation, Inc.
21fa2a29
JJ
2618
2619Copying and distribution of this file, with or without modification,
2620are permitted in any medium without royalty provided the copyright
2621notice and this notice are preserved.