]> git.ipfire.org Git - thirdparty/gcc.git/blame - libitm/ChangeLog
[Fortran] OpenMP 5 – permit more sharing clauses for SIMD (PR94690)
[thirdparty/gcc.git] / libitm / ChangeLog
CommitLineData
8d286dd1
L
12020-05-14 H.J. Lu <hongjiu.lu@intel.com>
2
3 * configure: Regenerated.
4
f0de5d83
NS
52020-05-12 Nathan Sidwell <nathan@acm.org>
6
7 Fix throw specifiers on interface.
8 * libitm/libitm.h (_ITM_NOTHROW): Define.
9 (_ITM_cxa_allocate_exception, _ITM_cxa_free_exception)
10 (_ITM_cxa_begin_catch): Use it.
11 * eh_cpp.cc: Add throw() to __cxa_allocate_exception,
12 __cxa_free_exception, __cxa_begin_catch, __cxa_tm_cleanup,
13 __cxa_get_globals.
14 (_ITM_cxa_allocate_exception, _ITM_cxa_free_exception)
15 (_ITM_cxa_begin_catch): Likewise.
16
1136ba01
NS
172020-05-05 Nathan Sidwell <nathan@acm.org>
18
19 * testsuite/lib/libitm.exp (libitm_init): Add
20 -fdiagnostics-color=never to options.
21
02ce382c
SL
222020-02-12 Sandra Loosemore <sandra@codesourcery.com>
23
24 PR libstdc++/79193
25 PR libstdc++/88999
26
27 * configure: Regenerated.
28
e8e66971
MR
292020-01-24 Maciej W. Rozycki <macro@wdc.com>
30
31 * configure.ac: Handle `--with-toolexeclibdir='.
32 * Makefile.in: Regenerate.
33 * aclocal.m4: Regenerate.
34 * configure: Regenerate.
35 * testsuite/Makefile.in: Regenerate.
36
7e7065b9
JJ
372020-01-01 Jakub Jelinek <jakub@redhat.com>
38
8d9254fc
JJ
39 Update copyright years.
40
7e7065b9
JJ
41 * libitm.texi: Bump @copying's copyright year.
42
00484365
SN
432019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
44
45 PR libgomp/91938
46 * configure.tgt: Avoid IE tls on *-*-musl*.
47
e9085da5
MR
482019-09-27 Maciej W. Rozycki <macro@wdc.com>
49
50 * configure: Regenerate.
51
b1e21e5a
CL
522019-09-10 Christophe Lyon <christophe.lyon@st.com>
53
a360a359
CL
54 * config/arm/sjlj.S (ldaddr): Add FDPIC support.
55
562019-09-10 Christophe Lyon <christophe.lyon@st.com>
57
58 * configure.tgt: Handle *-*-uclinux*.
59 * configure: Regenerate.
b1e21e5a 60
3c086f8d
FW
612019-09-06 Florian Weimer <fweimer@redhat.com>
62
63 * configure: Regenerate.
64
c6c2d1bc
CLT
652019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
66
67 PR other/79543
68 * acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Fix GNU ld --version
69 scanning to conform to the GNU Coding Standards.
70 * configure: Regenerate.
71
061a799b
JJ
722019-05-03 Jakub Jelinek <jakub@redhat.com>
73
74 * Makefile.am (finclude): Remove.
75 * Makefile.in: Regenerated.
76
a5544970
JJ
772019-01-01 Jakub Jelinek <jakub@redhat.com>
78
79 Update copyright years.
80
3f27508c
JJ
812019-01-01 Jakub Jelinek <jakub@redhat.com>
82
83 * libitm.texi: Bump @copying's copyright year.
84
784417d1
JJ
852018-12-16 Jakub Jelinek <jakub@redhat.com>
86
87 PR c++/88482
88 * eh_cpp.cc (__cxa_throw): Change DEST argument type from
89 void * to void (*) (void *).
90 (_ITM_cxa_throw): Likewise.
91 * libitm.h (_ITM_cxa_throw): Likewise.
92 * libitm.texi (_ITM_cxa_throw): Likewise.
93
d1573fe0
PB
942018-12-13 Peter Bergner <bergner@linux.ibm.com>
95
96 * config/powerpc/target.h (htm_available): Add support for
97 PPC_FEATURE2_HTM_NO_SUSPEND. Use __builtin_cpu_supports if available.
98
22e05272
JM
992018-10-31 Joseph Myers <joseph@codesourcery.com>
100
101 PR bootstrap/82856
102 * Makefile.am: Include multilib.am.
103 (AUTOMAKE_OPTIONS): Add info-in-builddir.
104 (CLEANFILES): Remove libitm.info.
105 * configure.ac: Remove AC_PREREQ.
106 * testsuite/Makefile.am (RUNTEST): Remove quotes.
107 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
108 Regenerate.
109
1f82422a
NK
1102018-10-30 Nicholas Krause <xerofoify@gmail.com>
111
a2e0398a 112 PR libitm/86293
1f82422a
NK
113 * method-serial.cc: Mark varible as potentially unused
114 to silence warning.
115
f6a9dfd3
ST
1162018-08-03 Sergei Trofimovich <slyfox@gentoo.org>
117
118 * config/sh/sjlj.S: Adjust to use PIC vs normal code to avoid
119 absolute relocation in a shared library.
120
97cad511
L
1212018-06-12 H.J. Lu <hongjiu.lu@intel.com>
122
123 PR libitm/85988
124 * config/linux/x86/tls.h (SEG_READ): Use the offset of
125 __private_tm as base.
126 (SEG_WRITE): Likewise.
127 (SEG_ENCODE_WRITE): Correct the offset of pointer_guard for x32.
128 (gtm_thr): Replace SEG_READ(10) with SEG_READ(0).
129 (set_gtm_thr): Replace SEG_WRITE(10) with SEG_WRITE(0).
130 (abi_disp): Replace SEG_DECODE_READ(11) with SEG_DECODE_READ(1).
131 (set_abi_disp): Replace SEG_ENCODE_WRITE(11) with
132
b46b715d
JM
1332018-05-17 Jason Merrill <jason@redhat.com>
134
135 * beginend.cc (save): Disable -Werror=deprecated-copy.
136
9220b511
TV
1372018-05-02 Tom de Vries <tom@codesourcery.com>
138
139 PR testsuite/85106
140 * testsuite/lib/libitm.exp: Include scanltranstree.exp.
141
6c3c13c1
TV
1422018-05-02 Tom de Vries <tom@codesourcery.com>
143
144 PR testsuite/85106
145 * testsuite/lib/libitm.exp: Include scanwpaipa.exp.
146
ffc2fc06
L
1472018-04-24 H.J. Lu <hongjiu.lu@intel.com>
148
149 * config/x86/sjlj.S (_ITM_beginTransaction): Add
150 (__CET__ & 2) != 0 check for shadow stack.
151 (GTM_longjmp): Likewise.
152
7b47ecf2
L
1532018-04-24 H.J. Lu <hongjiu.lu@intel.com>
154
155 * configure: Regenerated.
156
0ef9f21d
L
1572018-04-23 H.J. Lu <hongjiu.lu@intel.com>
158
159 PR target/85489
160 * config/x86/sjlj.S (GTM_longjmp): Replace jle/jg with jbe/ja.
161
a0e1df88
JJ
1622018-04-19 Jakub Jelinek <jakub@redhat.com>
163
164 * configure: Regenerated.
165
001ddaa8
DM
1662018-04-18 David Malcolm <dmalcolm@redhat.com>
167
168 PR jit/85384
169 * configure: Regenerate.
170
14e335ed
IT
1712018-02-14 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
172
173 PR target/84148
174 * configure: Regenerate.
175
65e6aea3
JJ
1762018-01-03 Jakub Jelinek <jakub@redhat.com>
177
85ec4feb
JJ
178 Update copyright years.
179
65e6aea3
JJ
180 * libitm.texi: Bump @copying's copyright year.
181
c51081fc
IT
1822017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
183
184 * Makefile.in: Regenerate.
185 * acinclude.m4: Add enable.m4 and cet.m4.
186 * config/x86/sjlj.S: Include cet.h.
187 (_ITM_beginTransaction): Add _CET_ENDBR.
188 Save Shadow Stack pointer.
189 (GTM_longjmp): Add _CET_ENDBR. Restore Shadow Stack pointer.
190 * config/x86/target.h (struct gtm_jmpbuf):
191 Add new field for Shadow Stack pointer.
192 * configure: Regenerate.
193 * configure.ac: Set CET_FLAGS. Update XCFLAGS.
194 * configure.ac: Update libtool_VERSION for x86.
195 * testsuite/Makefile.in: Regenerate.
196
cc03e55b
IT
1972017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
198
199 * libitm/config/x86/target.h: Add new field (ssp).
200 * libitm/config/x86/sjlj.S: Change offsets.
201
62ffe920
RO
2022017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
203
204 * testsuite/lib/libitm.exp: Load scanlang.exp.
205
5764ee3c
JW
2062017-04-03 Jonathan Wakely <jwakely@redhat.com>
207
208 * libitm_i.h (sutrct gtm_thread): Fix typo in comment.
209
73aa401e
JJ
2102017-01-21 Jakub Jelinek <jakub@redhat.com>
211
212 PR other/79046
213 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
214 of cat to get version from BASE-VER file.
215 * testsuite/Makefile.in: Regenerated.
216
16a34ca6
UB
2172017-01-19 Uros Bizjak <ubizjak@gmail.com>
218
219 * config/x86/target.h (htm_available): Determine vendor from
220 __get_cpuid_max return. Use signature_INTEL_ebx. Cleanup.
221
f8a94453
TR
2222017-01-18 Torvald Riegel <triegel@redhat.com>
223
224 * config/x86/target.h (htm_available): Add check for some processors
225 on which TSX is broken.
226
3c36aa6b
JJ
2272017-01-17 Jakub Jelinek <jakub@redhat.com>
228
229 PR other/79046
230 * configure.ac: Add GCC_BASE_VER.
231 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
232 get version from BASE-VER file.
233 * testsuite/Makefile.in: Regenerated.
234 * configure: Regenerated.
235 * Makefile.in: Regenerated.
236
8f56cb51
AM
2372017-01-04 Alan Modra <amodra@gmail.com>
238
239 * Makefile.in: Regenerate.
240 * testsuite/Makefile.in: Regenerate.
241
c1a9c369
JJ
2422017-01-01 Jakub Jelinek <jakub@redhat.com>
243
cbe34bb5
JJ
244 Update copyright years.
245
c1a9c369
JJ
246 * libitm.texi: Bump @copying's copyright year.
247
66dbcf2d
RO
2482016-12-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
249
250 * acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Remove.
251 * aclocal.m4: Regenerate.
252 * configure.ac: Call GCC_CHECK_LINKER_HWCAP instead of
253 LIBITM_CHECK_LINKER_HWCAP.
254
84c1b9d3
MK
2552016-11-15 Matthias Klose <doko@ubuntu.com>
256
257 * configure: Regenerate.
258
831698b8
L
2592016-04-19 H.J. Lu <hongjiu.lu@intel.com>
260
261 PR libitm/70456
262 * util.cc (xmalloc): Use posix_memalign to allocate memory on
263 on cache line if requested.
264
edcbda7e
DV
2652016-03-03 Dominik Vogt <vogt@linux.vnet.ibm.com>
266
267 * config/s390/target.h (TARGET_BEGIN_TRANSACTION_ATTRIBUTE): Define
268 function attribute to disable floating point in begin_transaction() on
269 S/390.
270 * beginend.cc (begin_transaction): Use
271 TARGET_BEGIN_TRANSACTION_ATTRIBUTE.
272
6041f70a
TR
2732016-01-22 Torvald Riegel <triegel@redhat.com>
274
275 * beginend.cc (GTM::gtm_thread::serial_lock): Put on cacheline
276 boundary.
277 (htm_fastpath): Remove.
278 (gtm_thread::begin_transaction): Fix HTM fastpath.
279 (_ITM_commitTransaction): Adapt.
280 (_ITM_commitTransactionEH): Adapt.
281 * libitm/config/linux/rwlock.h (gtm_rwlock): Add htm_fastpath member
282 and accessors.
283 * libitm/config/posix/rwlock.h (gtm_rwlock): Likewise.
284 * libitm/config/posix/rwlock.cc (gtm_rwlock::gtm_rwlock): Adapt.
285 * libitm/config/x86/sjlj.S (_ITM_beginTransaction): Fix HTM fastpath.
286 * libitm/libitm_i.h (htm_fastpath): Remove declaration.
287 * libitm/method-serial.cc (htm_mg): Adapt.
288 (gtm_thread::serialirr_mode): Adapt.
289 * libitm/query.cc (_ITM_inTransaction, _ITM_getTransactionId): Adapt.
290
0b96ffdb
TR
2912016-01-21 Torvald Riegel <triegel@redhat.com>
292
293 * testsuite/libitm.c++/libstdc++-safeexc.C: Not supported on darwin
294 or AIX.
295
b1de98e3
RH
2962016-01-19 Richard Henderson <rth@redhat.com>
297
298 PR bootstrap/69343
299 PR bootstrap/69339
300 Revert:
301 2016-01-13 Richard Henderson <rth@redhat.com>
302
303 * Makefile.am (libitm_la_SOURCES) [ARCH_AARCH64]: Add vect128.cc
304 (libitm_la_SOURCES) [ARCH_ARM]: Add neon.cc
305 (libitm_la_SOURCES) [ARCH_PPC]: Add vect128.cc
306 (libitm_la_SOURCES) [ARCH_S390]: Add vect128.cc
307 * configure.ac (ARCH_AARCH64): New conditional.
308 (ARCH_PPC, ARCH_S390): Likewise.
309 * Makefile.in, configure: Rebuild.
310
311 * libitm.h (_ITM_TYPE_M128): Always define.
312 * vect64.cc: Split ...
313 * vect128.cc: ... out of...
314 * config/x86/x86_sse.cc: ... here.
315 * config/arm/neon.cc: New file.
316
f57fc960
TR
3172016-01-19 Torvald Riegel <triegel@redhat.com>
318
319 * local_type_traits: Remove file.
320 * libitm_i.h: Don't include it anymore.
321 (sized_integral): Remove.
322
d2653984
TR
3232016-01-16 Torvald Riegel <triegel@redhat.com>
324
325 * method-gl.cc (gl_wt_dispatch::trycommit): Ensure proxy privatization
326 safety.
327 * method-ml.cc (ml_wt_dispatch::trycommit): Likewise.
328 * libitm/testsuite/libitm.c/priv-1.c: New.
329
a04d5fc9
TR
3302015-01-15 Torvald Riegel <triegel@redhat.com>
331
332 testsuite/libitm.c++/libstdc++-safeexc.C: New.
333
e89137ce
TR
3342016-01-13 Torvald Riegel <triegel@redhat.com>
335
336 * beginend.cc (gtm_thread::trycommit): Fix seq_cst fences.
337 * config/linux/rwlock.cc (gtm_rwlock::write_lock_generic): Likewise.
338 (gtm_rwlock::write_unlock): Likewise.
339
4c868789
RH
3402016-01-13 Richard Henderson <rth@redhat.com>
341
342 * Makefile.am (libitm_la_SOURCES) [ARCH_AARCH64]: Add vect128.cc
343 (libitm_la_SOURCES) [ARCH_ARM]: Add neon.cc
344 (libitm_la_SOURCES) [ARCH_PPC]: Add vect128.cc
345 (libitm_la_SOURCES) [ARCH_S390]: Add vect128.cc
346 * configure.ac (ARCH_AARCH64): New conditional.
347 (ARCH_PPC, ARCH_S390): Likewise.
348 * Makefile.in, configure: Rebuild.
349
350 * libitm.h (_ITM_TYPE_M128): Always define.
351 * vect64.cc: Split ...
352 * vect128.cc: ... out of...
353 * config/x86/x86_sse.cc: ... here.
354 * config/arm/neon.cc: New file.
355
629e4729
TR
3562016-01-13 Torvald Riegel <triegel@redhat.com>
357
358 * beginend.cc (gtm_thread::trycommit): Fix privatization safety.
359 * config/linux/rwlock.cc (gtm_rwlock::write_lock_generic): Likewise.
360 * config/posix/rwlock.cc (gtm_rwlock::write_lock_generic): Likewise.
361 * dispatch.h (abi_dispatch::snapshot_most_recent): New.
362 * method-gl.cc (gl_wt_dispatch::snapshot_most_recent): New.
363 * method-ml.cc (ml_wt_dispatch::snapshot_most_recent): New.
364 * method-serial.cc (serial_dispatch::snapshot_most_recent): New.
365 (serialirr_dispatch::snapshot_most_recent): New.
366 (serialirr_onwrite_dispatch::snapshot_most_recent): New.
367
0d1ed412
TR
3682016-01-12 Torvald Riegel <triegel@redhat.com>
369
370 * libitm_i.h (gtm_mask_stack): Remove.
371 * beginend.cc (gtm_stmlock_array, gtm_clock): Likewise.
372 * stmlock.h: Remove file.
373 * config/alpha/cacheline.h: Likewise.
374 * config/generic/cacheline.h: Likewise.
375 * config/powerpc/cacheline.h: Likewise.
376 * config/sparc/cacheline.h: Likewise.
377 * config/x86/cacheline.h: Likewise.
378
21fa2a29
JJ
3792016-01-04 Jakub Jelinek <jakub@redhat.com>
380
818ab71a
JJ
381 Update copyright years.
382
21fa2a29
JJ
383 * libitm.texi: Bump @copying's copyright year.
384
e7f7330f
TR
3852015-11-26 Torvald Riegel <triegel@redhat.com>
386
387 * method-ml.cc (ml_mg): Use multiplicative instead of simple hashing.
388 (ml_wt_dispatch::pre_write): Adapt.
389 (ml_wt_dispatch::pre_load): Likewise.
390
4f8a3b87
TR
3912015-11-22 Torvald Riegel <triegel@redhat.com>
392
393 * libitm_i.h (gtm_alloc_action): Remove union.
394 * testsuite/libitm.c/alloc-1.c: New.
395
258c1d07
TR
3962015-11-19 Torvald Riegel <triegel@redhat.com>
397
398 * testsuite/libitm.c++/eh-5.C: New.
399 * libitm.h (_ITM_cxa_free_exception): New.
400 * libitm.map (_ITM_cxa_free_exception): Add it.
401 * libitm.texi: Update ABI docs.
402 * libitm_i.h (gtm_transaction_cp::cxa_unthrown): Remove.
403 (gtm_transaction_cp::cxa_uncaught_count): Add.
404 (gtm_thread::cxa_unthrown): Remove.
405 (gtm_thread::cxa_uncaught_count_ptr): Add.
406 (gtm_thread::cxa_uncaught_count): Add.
407 (gtm_thread::drop_references_allocations): Rename to...
408 (gtm_thread::discard_allocation): ... this and adapt.
409 (gtm_thread::init_cpp_exceptions): New.
410 * beginend.cc (gtm_thread::gtm_thread): Adapt EH handling.
411 (gtm_thread::begin_transaction): Likewise.
412 (gtm_transaction_cp::save): Likewise.
413 (gtm_thread::trycommit): Likewise.
414 * eh_cpp.cc: Add overview comments.
415 (__cxa_eh_globals, __cxa_get_globals, __cxa_free_exception): Declare.
416 (free_any_exception, _ITM_cxa_free_exception): New.
417 (gtm_thread::init_cpp_exceptions): Define.
418 (_ITM_cxa_allocate_exception, _ITM_cxa_throw): Adapt.
419 (_ITM_cxa_begin_catch, _ITM_cxa_end_catch): Likewise.
420 (gtm_thread::revert_cpp_exceptions): Likewise.
421
c518678b
TR
4222015-11-09 Torvald Riegel <triegel@redhat.com>
423
424 * alloc_cpp.cc (_ZdlPvX, _ZdlPvXRKSt9nothrow_t, _ZGTtdlPvX,
425 _ZGTtdlPvXRKSt9nothrow_t, delsz_opnt): New.
426 * libitm.map: Add _ZGTtdlPvX and _ZGTtdlPvXRKSt9nothrow_t.
427 * libitm_i.h (gtm_alloc_action): Add free_fn_sz and sz. Add comments.
428 (gtm_thread::forget_allocations): New overload with size_t argument.
429 * alloc.c (gtm_thread::forget_allocation): Define new overload and
430 adapt existing one.
431 (gtm_thread::record_allocation): Adapt.
432 (gtm_thread::commit_allocations_1): Adapt.
433 (gtm_thread::commit_allocations_2): Adapt.
434 * testsuite/libitm.c++/newdelete.C: New.
435
1e44e857
DJ
4362015-10-27 Daniel Jacobowitz <dan@codesourcery.com>
437 Joseph Myers <joseph@codesourcery.com>
438 Mark Shinwell <shinwell@codesourcery.com>
439 Andrew Stubbs <ams@codesourcery.com>
440 Rich Felker <dalias@libc.org>
441
442 * config/sh/sjlj.S (_ITM_beginTransaction): Bypass PLT calling
443 GTM_begin_transaction for compatibility with FDPIC.
444
9e531d37
DM
4452015-10-09 David Malcolm <dmalcolm@redhat.com>
446
447 * testsuite/lib/libitm.exp: Load multiline.exp before prune.exp,
448 using load_gcc_lib.
449
c629c246
GFM
4502015-08-20 Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org> (tiny change)
451
452 PR libitm/61164
453 * local_atomic (__always_inline): Rename to...
454 (__libitm_always_inline): ... this.
455
cd5a9a74
CSLL
4562015-07-03 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
457
458 PR target/52482
459 * config/powerpc/sjlj.S: Port to Xcode 2.5.
460
ea023bcf
UB
4612015-05-27 Uros Bizjak <ubizjak@gmail.com>
462
d778b5a0
UB
463 * config/linux/x86/futex_bits.h (sys_futex0) [__x86_64__]: Change
464 operands "op" and "val" to int.
465
4662015-05-27 Uros Bizjak <ubizjak@gmail.com>
467
468 * config/linux/sh/futex_bits.h (sys_futex0) Change operands
469 "op" and "val" to int.
470
4712015-05-27 Uros Bizjak <ubizjak@gmail.com>
472
473 * config/linux/alpha/futex_bits.h (sys_futex0) Change operands
474 "op" and "val" to int.
475
4762015-05-27 Uros Bizjak <ubizjak@gmail.com>
477
478 * config/linux/futex.cc (gtm_futex_wait, gtm_futex_wake):
479 Declare as static int.
480 (FUTEX_PRIVATE_FLAG): Remove L suffix.
481 * config/linux/futex_bits.h (sys_futex0) Change operand "op" to int.
482
4832015-05-27 Uros Bizjak <ubizjak@gmail.com>
484
485 * config/linux/x86/futex_bits.h (sys_futex0) [__PIC__]: Remove
486 sys_futex0 function.
ea023bcf 487
503902f9
MH
4882015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
489
490 * Makefile.in: Regenerated with automake-1.11.6.
491 * aclocal.m4: Likewise.
492 * configure: Likewise.
493 * testsuite/Makefile.in: Likewise.
494
96ce40cb
GR
4952015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
496
497 * config/arm/hwcap.cc: Use fcntl.h instead of sys/fcntl.h.
498 * config/linux/x86/tls.h: Only use __GLIBC_PREREQ if defined.
499
3a07b160
L
5002015-01-15 H.J. Lu <hongjiu.lu@intel.com>
501
502 PR libitm/64360
503 * libitm.c/stackundo.c (test2): Make it static.
504 (test1): Likewise.
505
5624e564
JJ
5062015-01-05 Jakub Jelinek <jakub@redhat.com>
507
508 Update copyright years.
509
b67cd4e3
JJ
5102015-01-05 Jakub Jelinek <jakub@redhat.com>
511
512 * libitm.texi: Bump @copying's copyright year.
513
69aef6dc
KT
5142014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
515
516 * testsuite/lib/libitm.exp: Load target-utils.exp.
517 Move load of target-supports.exp earlier.
518
68bc9270
UB
5192014-12-03 Uros Bizjak <ubizjak@gmail.com>
520
521 * configure.tgt (x86_64): Tune -m32 multilib to generic.
522
a699d672
L
5232014-11-21 H.J. Lu <hongjiu.lu@intel.com>
524
525 PR bootstrap/63784
526 * configure: Regenerated.
527
ebf6d33b
FXC
5282014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
529
530 PR target/63610
531 * configure: Regenerate.
532
99183741
MP
5332014-10-06 Marek Polacek <polacek@redhat.com>
534
535 * testsuite/libitm.c/memcpy-1.c: Declare getpagesize.
536 * testsuite/libitm.c/memset-1.c: Likewise.
537
b6334cf4
RH
5382014-07-24 Richard Henderson <rth@redhat.com>
539
540 * config/aarch64/sjlj.S (_ITM_beginTransaction): Use post-inc
541 addressing mode in epilogue.
542
3c698bf0
RO
5432014-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
544
545 * acinclude.m4 (LIBITM_CHECK_LINKER_HWCAP): Check for
546 -mclear-hwcap instead.
547 * configure: Regenerate.
548 * clearcap.map: Remove.
549
dbed5a9b
JM
5502014-05-21 John Marino <gnugcc@marino.st>
551
552 * configure.tgt (*-*-dragonfly*): New target.
553
b17f08dd
RH
5542014-05-19 Richard Henderson <rth@redhat.com>
555
556 * config/aarch64/sjlj.S: New file.
557 * config/aarch64/target.h: New file.
558 * configure.tgt: Enable aarch64.
559
5e1f630a
RO
5602014-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
561
562 * config/generic/asmcfi.h: Also check for
563 __GCC_HAVE_DWARF2_CFI_ASM.
564
84c2f4b0
RH
5652013-04-02 Richard Henderson <rth@redhat.com>
566
567 * config/alpha/target.h (PAGE_SIZE, FIXED_PAGE_SIZE): Remove.
568 * config/arm/target.h, config/sh/target.h: Likewise.
569 * config/sparc/target.h, config/x86/target.h: Likewise.
570
7cc51d64
JJ
5712014-03-26 Jakub Jelinek <jakub@redhat.com>
572
573 * config/linux/futex_bits.h: Include errno.h.
574 (sys_futex0): If syscall returns -1, return -errno rather than
575 -1.
576
c288ec8f
JM
5772014-03-26 Joseph Myers <joseph@codesourcery.com>
578
579 * libitm.texi (Index): Rename to Library Index.
580
ed100f5d
L
5812014-01-13 H.J. Lu <hongjiu.lu@intel.com>
582
583 PR libitm/53113
584 * Makefile.am (x86_sse.lo): Append -msse to CXXFLAGS.
585 (x86_avx.lo): Append -mavx to CXXFLAGS.
586 * Makefile.in: Regenerate.
587
f93608e6
RS
5882014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
589
590 Update copyright years
591
98db73df
TB
5922014-01-02 Tobias Burnus <burnus@net-b.de>
593
594 * libitm.texi: Bump @copying's copyright year.
595
b54214fe
UW
5962013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
597
598 * config/powerpc/sjlj.S [__powerpc64__ && _CALL_ELF == 2]:
599 (FUNC): Define ELFv2 variant.
600 (END): Likewise.
601 (HIDDEN): Likewise.
602 (CALL): Likewise.
603 (BASE): Likewise.
604 (LR_SAVE): Likewise.
605
3cbe17f7
AM
6062013-09-20 Alan Modra <amodra@gmail.com>
607
608 * configure: Regenerate.
609
6fb471d8
TR
6102013-08-30 Torvald Riegel <triegel@redhat.com>
611
612 * config/posix/rwlock.cc: Fix initialization order.
613
bec9ec3f
TR
6142013-08-30 Torvald Riegel <triegel@redhat.com>
615
616 * libitm_i.h (gtm_thread): Assign an asm name to serial_lock.
617 (htm_fastpath): Assign an asm name.
618 * libitm.h (_ITM_codeProperties): Add non-ABI flags used by custom
619 HTM fast paths.
620 (_ITM_actions): Likewise.
621 * config/x86/target.h (HTM_CUSTOM_FASTPATH): Enable custom fastpath on
622 x86_64.
623 * config/x86/sjlj.S (_ITM_beginTransaction): Add custom HTM fast path.
624 * config/posix/rwlock.h (gtm_rwlock): Update comments. Move summary
625 field to the start of the structure.
626 * config/linux/rwlock.h (gtm_rwlock): Update comments.
627 * beginend.cc (gtm_thread::begin_transaction): Add retry policy
628 handling for custom HTM fast paths.
629
1869217f
AK
6302013-08-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
631 Revert:
632 2013-08-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
633
634 * configure.tgt: Add -msoft-float to XCFLAGS.
635
d62d5152
AK
6362013-08-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
637
638 * configure.tgt: Add -msoft-float to XCFLAGS.
639
aaaffb2a
AK
6402013-07-29 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
641
642 * config/s390/target.h (htm_begin, htm_commit, htm_abort)
643 (htm_transaction_active): Enable zEC12 instructions in the
644 assembler.
645 * configure.tgt: Remove -Wa,-march=zEC12 from XCFLAGS.
646
167f68ed
AK
6472013-07-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
648
649 * acinclude.m4: Add htm asm check for s390.
650 * configure.tgt: Add -mhtm and -Wa,-march=zEC12 to the options.
651 * configure: Regenerate.
652 * config/s390/target.h: Remove __HTM__ check.
653 (htm_available): Call getauxval to get hwcaps and check whether
654 HTM is available or not.
655
0258b6e4
PB
6562013-07-15 Peter Bergner <bergner@vnet.ibm.com>
657
658 * acinclude.m4 (LIBITM_CHECK_AS_HTM): New.
659 * configure.ac: Use it.
660 (AC_CHECK_HEADERS): Check for sys/auxv.h.
661 (AC_CHECK_FUNCS): Check for getauxval.
662 * config.h.in, configure: Rebuild.
663 * configure.tgt (target_cpu): Add -mhtm to XCFLAGS.
664 * config/powerpc/target.h: Include sys/auxv.h and htmintrin.h.
665 (USE_HTM_FASTPATH): Define.
666 (_TBEGIN_STARTED, _TBEGIN_INDETERMINATE, _TBEGIN_PERSISTENT,
667 _HTM_RETRIES) New macros.
668 (htm_abort, htm_abort_should_retry, htm_available, htm_begin, htm_init,
669 htm_begin_success, htm_commit, htm_transaction_active): New functions.
670
5a3fe9b6
AK
6712013-06-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
672
673 * config/s390/target.h: Include htmintrin.h.
674 (_HTM_ITM_RETRIES): New macro definition.
675 (htm_available, htm_init, htm_begin, htm_begin_success)
676 (htm_commit, htm_abort, htm_abort_should_retry): New functions.
677
6c84d576
IS
6782013-06-20 Iain Sandoe <iain@codesourcery.com>
679 Cesar Philippidis <cesar@codesourcery.com>
680
681 * testsuite/lib/libitm.exp: Reorder lib loads into dependency order.
682 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
683 * testsuite/libitm.c/c.exp: load_gcc_lib gcc-dg.exp.
684 * testsuite/libitm.c++/c++.exp: load_gcc_lib gcc-dg.exp.
685
480c696b
TR
6862013-06-20 Torvald Riegel <triegel@redhat.com>
687
688 * query.cc (_ITM_inTransaction): Abort when using the HTM fastpath.
689 (_ITM_getTransactionId): Same.
690 * config/x86/target.h (htm_transaction_active): New.
691
b1db457b
TR
6922013-06-20 Torvald Riegel <triegel@redhat.com>
693
694 PR libitm/57643
695 * beginend.cc (gtm_thread::begin_transaction): Handle reentrancy in
696 the HTM fastpath.
697
51249377
GP
6982013-03-31 Gerald Pfeifer <gerald@pfeifer.com>
699
700 PR bootstrap/56714
701 * local_atomic (__always_inline): Always define our version.
702 (__calculate_memory_order): Mark inline.
703 (atomic_thread_fence): Ditto.
704 (atomic_signal_fence): Ditto.
705 (atomic_bool::atomic_flag_test_and_set_explicit): Ditto.
706 (atomic_bool::atomic_flag_clear_explicit): Ditto.
707 (atomic_bool::atomic_flag_test_and_set): Ditto.
708 (atomic_bool::atomic_flag_clear): Ditto.
709
f818478b
JJ
7102013-04-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
711
712 * config/s390/sjlj.S: New file.
713 * config/s390/target.h: New file.
714 * configure.tgt: Set options for S/390.
715
ab4425be
AK
7162013-03-23 Andi Kleen <ak@linux.intel.com>
717
718 * local_atomic (__always_inline): Add.
719 (__calculate_memory_order, atomic_thread_fence,
720 atomic_signal_fence, test_and_set, clear, store, load,
721 exchange, compare_exchange_weak, compare_exchange_strong,
722 fetch_add, fetch_sub, fetch_and, fetch_or, fetch_xor):
723 Add __always_inline to force inlining.
724
6c59ffd1
IS
7252013-02-11 Iain Sandoe <iain@codesourcery.com>
726 Jack Howarth <howarth@bromo.med.uc.edu>
727 Patrick Marlier <patrick.marlier@gmail.com>
728
729 PR libitm/55693
730 * alloc_cpp.cc: Enable function declarations on darwin.
731 * eh_cpp.cc: Likewise.
732
75f9527c
RS
7332013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
734
735 Update copyright years.
736
64fbcc74
TR
7372012-11-09 Torvald Riegel <triegel@redhat.com>
738
739 * beginend.cc (htm_fastpath): New.
740 (gtm_thread::begin_transaction, _ITM_commitTransaction,
741 _ITM_commitTransactionEH): Add HTM fastpath handling.
742 * config/linux/rwlock.h (gtm_rwlock.is_write_locked): New.
743 * config/posix/rwlock.h (gtm_rwlock.is_write_locked): New.
744 * config/x86/target.h (htm_available, htm_init, htm_begin_success,
745 htm_begin, htm_commit, htm_abort, htm_abort_should_retry): New.
746 * configure.tgt: Add -mrtm to XCFLAGS.
747 * method-serial.cc (htm_mg, o_htm_mg, htm_dispatch, dispatch_htm): New.
748 (gtm_thread::serialirr_mode): Add HTM fastpath handling.
749 * libitm_i.h (htm_fastpath, dispatch_htm): Declare.
750 * retry.cc (parse_default_method): Add HTM method parsing.
751 (gtm_thread::number_of_threads_changed): Use HTM by default if
752 available.
753
b9efc877
TS
7542012-11-04 Thomas Schwinge <thomas@codesourcery.com>
755
756 * configure: Regenerate.
757
07d3b5c8
RH
7582012-10-31 Richard Henderson <rth@redhat.com>
759
760 * acinclude.m4 (LIBITM_CHECK_AS_RTM): New.
761 * configure.ac: Use it.
762 * config.h.in, configure: Rebuild.
763 * testsuite/Makefile.in: Rebuild.
764
eb00e959
TR
7652012-10-24 Torvald Riegel <triegel@redhat.com>
766
767 * libitm.texi: Clarify ABI requirements for data-logging functions.
768
b679c813
TR
7692012-10-24 Torvald Riegel <triegel@redhat.com>
770
771 * retry.cc (gtm_thread::decide_begin_dispatch): Ask dispatch whether
772 it requires serial mode instead of assuming that for certain
773 dispatchs.
774 * dispatch.h (abi_dispatch::requires_serial): New.
775 (abi_dispatch::abi_dispatch): Adapt.
776 * method-gl.cc (gl_wt_dispatch::gl_wt_dispatch): Adapt.
777 * method-ml.cc (ml_wt_dispatch::ml_wt_dispatch): Same.
778 * method-serial.cc (serialirr_dispatch::serialirr_dispatch,
779 serial_dispatch::serial_dispatch,
780 serialirr_onwrite_dispatch::serialirr_onwrite_dispatch): Same.
781
0c609a21
UB
7822012-10-02 Uros Bizjak <ubizjak@gmail.com>
783
784 * config/x86/target.h (struct gtm_jmpbuf): Merge x86_64
785 and ia32 declarations some more.
786 * config/x86/sjlj.S (_ITM_beginTransaction): Move ret to common code.
787
c0758df9
JJ
7882012-09-20 Jakub Jelinek <jakub@redhat.com>
789
790 PR other/43620
791 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
792 * configure: Regenerate.
793 * Makefile.in: Regenerate.
794
690c45b8
DE
7952012-09-14 David Edelsohn <dje.gcc@gmail.com>
796
797 * configure: Regenerated.
798
68a12ef3
UB
7992012-07-31 Uros Bizjak <ubizjak@gmail.com>
800
801 * config/x86/target.h (cpu_relax): Use __builtin_ia32_pause.
802
f2f9a097
PM
8032012-05-21 Patrick Marlier <patrick.marlier@gmail.com>
804
805 * eh_cpp.cc: Fix __cxa_end_catch declaration.
806
e6d5f8c9
L
8072012-05-16 H.J. Lu <hongjiu.lu@intel.com>
808
809 * configure: Regenerated.
810
0100e3b3
L
8112012-04-04 H.J. Lu <hongjiu.lu@intel.com>
812
813 PR libitm/52854
814 * config/x86/target.h (gtm_jmpbuf): Replace long with long long
815 for x86-64.
816
2f6935f4
TG
8172012-04-03 Tristan Gingold <gingold@adacore.com>
818
819 * configure: Regenerate.
820
b9c23a61
L
8212012-03-31 H.J. Lu <hongjiu.lu@intel.com>
822
823 PR bootstrap/52812
824 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
825
6a26a74d
BRF
8262012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
827
828 * testsuite/lib/libitm.exp: load fortran-modules.exp
829
b24513a1
RO
8302012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
831
832 * configure.tgt (*-*-irix6*): Remove.
833
0d23faac
TR
8342012-03-13 Torvald Riegel <triegel@redhat.com>
835
836 PR libitm/52526
837 * config/linux/rwlock.cc (GTM::gtm_rwlock::read_lock): Fix lost
838 wake-up.
839
5c30094f
RO
8402012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
841
842 * configure.tgt (*-*-osf*): Remove.
843 * configure: Regenerate.
844
d28b0b08
TR
8452012-03-05 Torvald Riegel <triegel@redhat.com>
846
847 * dispatch.h (CREATE_DISPATCH_METHODS_MEM): Don't execute
848 memtransfer/memset if size isn't larger than zero.
849
034209bc
TR
8502012-03-02 Torvald Riegel <triegel@redhat.com>
851
852 * libitm.texi: Link to specification and add a usage example.
853
bc8da6ba
TR
8542012-02-24 Torvald Riegel <triegel@redhat.com>
855
856 * retry.cc (GTM::gtm_thread::number_of_threads_changed): Change
857 default dispatch for more than 1 thread to ml_wt.
858
63b08143
TR
8592012-02-20 Torvald Riegel <triegel@redhat.com>
860
861 * method-gl.cc (gl_wt_dispatch::orec): Put on separate cacheline.
862
4c9bd6ac
TR
8632012-02-20 Torvald Riegel <triegel@redhat.com>
864
865 * method-gl.cc (gl_wt_dispatch::rollback): Optimize memory orders.
866
651ff415
TR
8672012-02-20 Torvald Riegel <triegel@redhat.com>
868
869 * method-gl.cc (gl_wt_dispatch::trycommit): Remove handling of
870 serial mode corner cases made obsolete by prior gtm_rwlock changes.
871 (gl_wt_dispatch.rollback): Same.
872
efee0113
TR
8732012-02-20 Torvald Riegel <triegel@redhat.com>
874
875 * method-gl.cc (gl_wt_dispatch::pre_write): Optimize memory orders.
876
33a03827
TR
8772012-02-20 Torvald Riegel <triegel@redhat.com>
878
879 * method-gl.cc (gl_wt_dispatch::memtransfer_static): Add missing undo
880 for RfW src. Optimize number of calls to gtm_thr.
881
a19db3f2
TR
8822012-02-20 Torvald Riegel <triegel@redhat.com>
883
884 * beginend.cc (GTM::gtm_thread::begin_transaction): Move serial lock
885 acquisition to ...
886 * retry.cc (GTM::gtm_thread::decide_begin_dispatch): ... here.
887 (default_dispatch): Make atomic.
888 (GTM::gtm_thread::set_default_dispatch): Access atomically.
889 (GTM::gtm_thread::decide_retry_strategy): Access atomically and
890 use decide_begin_dispatch() if default_dispatch might have changed.
891 (GTM::gtm_thread::number_of_threads_changed): Initialize
892 default_dispatch here.
893
e948a1fb
IS
8942012-02-15 Iain Sandoe <iains@gcc.gnu.org>
895 Patrick Marlier <patrick.marlier@gmail.com>
896
897 PR libitm/52220
898 * alloc_cpp.cc: No dummy definitions for darwin.
899 * eh_cpp.cc: Likewise.
900
72824d5e
RH
9012012-02-14 Richard Henderson <rth@redhat.com>
902
903 * config/x86/target.h (GTM_longjmp): Correct the .cfi corrections.
904
1f319dba
UB
9052012-02-14 Uros Bizjak <ubizjak@gmail.com>
906
907 * config/x86/target.h (GTM_longjmp): Correct .cfi directives.
908
31772c95
TR
9092012-02-14 Torvald Riegel <triegel@redhat.com>
910
911 * libitm_i.h (GTM::gtm_rwlog_entry): New.
912 (GTM::gtm_thread): Add read and write logs.
913 (GTM::dispatch_ml_wt): Declare.
914 * retry.cc (parse_default_method): Support ml_wt.
915 * method-ml.cc: New file.
916 * Makefile.am: Add method-ml.cc.
917 * Makefile.in: Regenerate.
918
5b9cf5d2
TR
9192012-02-14 Torvald Riegel <triegel@redhat.com>
920
921 * dispatch.h (GTM::abi_dispatch::supports): New.
922 (GTM::method_group::reinit): New.
923 * retry.cc (GTM::gtm_thread::decide_retry_strategy): Use reinit().
924 (GTM::gtm_thread::number_of_threads_changed): Check that the method
925 supports the current situation.
926
7d33bcb7
TR
9272012-02-14 Torvald Riegel <triegel@redhat.com>
928
929 * util.cc (GTM::xcalloc): New.
930 * common.h (GTM::xcalloc): Declare.
931
62513f7b
EB
9322012-02-14 Eric Botcazou <ebotcazou@adacore.com>
933
934 * config/sparc/target.h (cpu_relax): Read from CC register.
935 * config/sparc/sjlj.S (GTM_longjmp): Restore %fp atomically.
936
9372012-02-14 Uros Bizjak <ubizjak@gmail.com>
d4a698d4
UB
938
939 * config/x86/target.h (GTM_longjmp): Jump indirect from memory address.
940
f3f5e3c3
EB
9412012-02-13 Eric Botcazou <ebotcazou@adacore.com>
942
62513f7b 943 * configure.tgt (target_cpu): Handle sparc and sparc64/sparcv9.
f3f5e3c3
EB
944 * config/sparc/cacheline.h: New file.
945 * config/sparc/target.h: Likewise.
946 * config/sparc/sjlj.S: Likewise.
947 * config/linux/sparc/futex_bits.h: Likewise.
948
9492012-02-13 Eric Botcazou <ebotcazou@adacore.com>
255a9a1b
EB
950
951 * configure.ac (link_itm): Fix comment.
952 * configure: Regenerate.
953 * testsuite/lib/libitm.exp: Do not pass -litm for the link.
954
681355e3
RO
9552012-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
956
fc985d2f 957 PR libitm/51822
62513f7b 958 * testsuite/libitm.c++/c++.exp (lang_link_flags): Add -shared-libgcc.
681355e3
RO
959 Correct libgomp references.
960
999bcff5
TR
9612012-01-24 Torvald Riegel <triegel@redhat.com>
962
963 * config/linux/rwlock.cc (GTM::gtm_rwlock::write_unlock): Fix reader
964 wake-up.
965
9848887a
UB
9662012-01-24 Uros Bizjak <ubizjak@gmail.com>
967
968 * config/x86/target.h (gtm_jmpbuf) [__x86_64__]: Move rip to the
969 end of structure.
970 * config/x86/sjlj.S (_ITM_beginTransaction) [__x86_64__]: Update
971 offset values. Do not copy return address. Decrement stack
972 by 56 bytes only.
973 (GTM_longjump) [__x86_64__]: Update offset values.
974
5752c591
UB
9752012-01-23 Uros Bizjak <ubizjak@gmail.com>
976
977 PR libitm/51830
978 * config/x86/sjlj.S (_ITM_beginTransaction) [!__x86_64__]: Load
979 the first function argument to %eax.
980
61e72ca4
RO
9812012-01-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
982
983 * libitm.h (_ITM_getThreadnum): Remove.
984 * libitm.map (_ITM_getThreadnum): Remove from LIBITM_1.0.
985
9ce91011
RO
9862012-01-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
987
988 * clearcap.map: New file.
989 * acinclude.m4 (LIBITM_CHECK_LINKER_HWCAP): New test.
990 * configure.ac: Call it.
991 Clear HWCAP_LDFLAGS if defaulting to -mavx.
992 * Makefile.am (AM_LDFLAGS): Add $(HWCAP_LDFLAGS)
993 * configure: Regenerate.
994 * Makefile.in: Regenerate.
995 * testsuite/Makefile.in: Regenerate.
996
3b4f05ec
RO
9972012-01-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
998
999 PR libitm/51173
1000 * testsuite/libitm.c++/static_ctor.C: Skip test, note PR, remove
1001 include, exclude options.
1002
aab74ee9
TR
10032012-01-14 Torvald Riegel <triegel@redhat.com>
1004
1005 * local.cc (GTM::gtm_undolog::rollback): Truncate undo log after
1006 rolling back.
1007 * containers.h (GTM::vector::set_size): New.
1008
07b6642b
TR
10092012-01-14 Torvald Riegel <triegel@redhat.com>
1010
1011 PR libitm/51855
1012 * config/generic/tls.h (GTM::mask_stack_top): New.
1013 (GTM::mask_stack_bottom): Declare.
1014 * config/generic/tls.c (GTM::mask_stack_bottom): New.
1015 * local.cc (gtm_undolog::rollback): Filter out any updates that
1016 overlap the libitm stack. Add current transaction as parameter.
1017 * libitm_i.h (GTM::gtm_undolog::rollback): Adapt.
1018 * beginend.cc (GTM::gtm_thread::rollback): Adapt.
1019 * testsuite/libitm.c/stackundo.c: New test.
1020
8377e5e5
RH
10212012-01-10 Richard Henderson <rth@redhat.com>
1022
1023 * libitm_i.h (_Unwind_DeleteException): Declare weak.
1024 * eh_cpp.cc (_Unwind_DeleteException): Define for
1025 !HAVE_ELF_STYLE_WEAKREF.
1026
11f30bb0
TR
10272012-01-08 Torvald Riegel <triegel@redhat.com>
1028
1029 * local.cc (GTM_LB): Use GTM::gtm_undolog.
1030 (GTM::gtm_thread::drop_references_undolog): Remove.
1031 (GTM::gtm_thread::commit_undolog,
1032 GTM::gtm_thread::rollback_undolog): Move to ...
1033 * libitm_i.h (GTM::gtm_undolog): ...here. New.
1034 (GTM::gtm_undolog_entry): Remove.
1035 (GTM::gtm_thread): Adapt.
1036 * beginend.cc (GTM::gtm_thread::rollback): Adapt.
1037 (GTM::gtm_thread::trycommit): Adapt.
1038 * method-serial.cc (serial_dispatch::log): Adapt.
1039 * method-gl.cc (gl_wt_dispatch::pre_write): Adapt.
1040 (gl_wt_dispatch::store): Fix likely/unlikely.
1041 * containers.h (GTM::vector::resize): Add additional_capacity
1042 parameter and handle it.
1043 (GTM::vector::resize_noinline): New/adapt.
1044 (GTM::vector::push): New.
1045
a32e5e93
RH
10462012-01-06 Richard Henderson <rth@redhat.com>
1047
1048 * configure.tgt: Support powerpc-linux and powerpc-darwin.
1049 * config/linux/powerpc/futex_bits.h: New file.
1050 * config/powerpc/cacheline.h: New file.
1051 * config/powerpc/sjlj.S: New file.
1052 * config/powerpc/target.h: New file.
1053 * config/generic/asmcfi.h (cfi_offset): New.
1054 (cfi_restore, cfi_undefined): New.
1055
1f53a8e6
AH
10562012-01-05 Aldy Hernandez <aldyh@redhat.com>
1057
1058 PR other/51171
1059 * testsuite/libitm.c/reentrant.c: Remove xfail.
1060 (thread): Pass x to pure().
be223aaf 1061 From Patrik Marlier <patrick.marlier@gmail.com>.
1f53a8e6 1062
c898f7b8
TR
10632011-12-24 Torvald Riegel <triegel@redhat.com>
1064
1065 * beginend.cc (GTM::gtm_thread::trycommit): Don't enforce
1066 privatization safety if already in serial mode.
1067
610e3901
TR
10682011-12-24 Torvald Riegel <triegel@redhat.com>
1069
1070 * beginend.cc (GTM::gtm_thread::restart): Add and handle
1071 finish_serial_upgrade parameter.
1072 * libitm.h (GTM::gtm_thread::restart): Adapt declaration.
1073 * config/linux/rwlock.cc (GTM::gtm_rwlock::write_lock_generic):
1074 Don't unset reader flag.
1075 (GTM::gtm_rwlock::write_upgrade_finish): New.
1076 * config/posix/rwlock.cc: Same.
1077 * config/linux/rwlock.h (GTM::gtm_rwlock::write_upgrade_finish):
1078 Declare.
1079 * config/posix/rwlock.h: Same.
1080 * method-serial.cc (GTM::gtm_thread::serialirr_mode): Unset reader
1081 flag after commit or after rollback when restarting.
1082
799142bf
TR
10832011-12-24 Torvald Riegel <triegel@redhat.com>
1084
1085 * beginend.cc (GTM::gtm_thread::begin_transaction): Add comment.
1086 (GTM::gtm_thread::try_commit): Changed memory order.
1087 * config/linux/alpha/futex_bits.h (sys_futex0): Take atomic int
1088 as parameter.
1089 * config/linux/x86/futex_bits.h (sys_futex0): Same.
1090 * config/linux/sh/futex_bits.h (sys_futex0): Same.
1091 * config/linux/futex_bits.h (sys_futex0): Same.
1092 * config/linux/futex.cc (futex_wait, futex_wake): Same.
1093 * config/linux/futex.h (futex_wait, futex_wake): Same.
1094 * config/linux/rwlock.h (gtm_rwlock::writers,
1095 gtm_rwlock::writer_readers, gtm_rwlock::readers): Change to atomic
1096 ints.
1097 * config/linux/rwlock.cc (gtm_rwlock::read_lock,
1098 gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock,
1099 gtm_rwlock::write_unlock): Fix memory orders and fences.
1100 * config/posix/rwlock.cc (gtm_rwlock::read_lock,
1101 gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock,
1102 gtm_rwlock::write_unlock): Same.
1103 * config/linux/rwlock.h (gtm_rwlock::summary): Change to atomic int.
1104 * method-gl.cc (gl_mg::init, gl_wt_dispatch::memtransfer_static,
1105 gl_wt_dispatch::memset_static, gl_wt_dispatch::begin_or_restart):
1106 Add comments.
1107 (gl_wt_dispatch::pre_write, gl_wt_dispatch::validate,
1108 gl_wt_dispatch::load, gl_wt_dispatch::store,
1109 gl_wt_dispatch::try_commit, gl_wt_dispatch::rollback): Fix memory
1110 orders and fences. Add comments.
1111
b0f96e35
JJ
11122011-12-21 Jakub Jelinek <jakub@redhat.com>
1113
1114 * Makefile.am (AM_CXXFLAGS): Put $(XCFLAGS) first.
1115 * Makefile.in: Regenerated.
1116
cc163247
KK
11172011-12-17 Kaz Kojima <kkojima@gcc.gnu.org>
1118
1119 * configure.tgt: Add sh* case.
1120 * config/sh/target.h: New file.
1121 * config/sh/sjlj.S: New file.
1122 * config/linux/sh/futex_bits.h: New file.
1123
aebac0ca
RH
11242011-12-14 Richard Henderson <rth@redhat.com>
1125
1126 * config/arm/hwcap.h, config/arm/hwcap.cc: New files.
1127 * config/arm/sjlj.S, config/arm/target.h: New files.
1128 * config/generic/asmcfi.h (cfi_adjust_cfa_offset): New.
1129 (cfi_rel_offset): New.
1130 * config/linux/futex_bits.h: New file.
1131 * config/linux/futex.cc: Include futex_bits.h here...
1132 * config/linux/futex.h: ... not here.
1133 * Makefile.am (libitm_la_SOURCES) <ARCH_ARM>: Add hwcap.cc.
1134 * configure.ac (ARCH_AM): New conditional.
1135 * Makefile.in, configure: Rebuild.
1136 * configure.tgt: Handle ARM.
1137
36cfbee1
RH
11382011-12-13 Richard Henderson <rth@redhat.com>
1139
5d9d05d3
RH
1140 * config/posix/rwlock.cc (gtm_rwlock::write_lock_generic): Fix
1141 signed/unsigned comparison werror.
1142
36cfbee1
RH
1143 * local_atomic: New file.
1144 * libitm_i.h: Include it.
1145 (gtm_thread::shared_state): Use atomic template.
1146 * beginend.cc (GTM::gtm_clock): Use atomic template.
1147 (global_tid): Use atomic template if 64-bit atomics available.
1148 (gtm_thread::gtm_thread): Update shared_state access.
1149 (gtm_thread::trycommit): Likewise.
1150 (choose_code_path): Update global_tid access.
1151 * method-gl.cc (gl_mg::orec): Use atomic template. Update all users.
1152 * stmlock.h (GTM::gtm_clock): Use atomic template.
1153 (gtm_get_clock, gtm_inc_clock): Update accesses.
1154 * config/linux/rwlock.cc (gtm_rwlock::read_lock): Remove
1155 redundant __sync_synchronize after atomic shared_state access.
1156 * config/posix/rwlock.cc (gtm_rwlock::read_lock): Likewise.
1157 (gtm_rwlock::write_lock_generic): Likewise.
1158 (gtm_rwlock::read_unlock): Likewise.
1159 * config/alpha/target.h (atomic_read_barrier): Remove.
1160 (atomic_write_barrier): Remove.
1161 * config/x86/target.h (atomic_read_barrier): Remove.
1162 (atomic_write_barrier): Remove.
1163
062f93f2
RH
11642011-11-30 Richard Henderson <rth@redhat.com>
1165
1166 * libitm_i.h (GTM_longjmp): Swap first and second arguments.
1167 * beginend.c (_ITM_abortTransaction): Update to match.
1168 (GTM::gtm_thread::restart): Likewise.
1169 * config/alpha/sjlj.S (GTM_longjmp): Likewise.
1170 * config/x86/sjlj.S (GTM_longjmp): Likewise.
1171
bd8aaa86
IS
11722011-11-23 Iain Sandoe <iains@gcc.gnu.org>
1173
1174 * Makefile.am (libitm_la_LDFLAGS): Remove "-no-undefined".
1175 * Makefile.in: Regenerate.
1176
8cf36bb3
IS
11772011-11-22 Iain Sandoe <iains@gcc.gnu.org>
1178
1179 * configure.ac: Use GCC_CHECK_ELF_STYLE_WEAKREF.
1180 * alloc_cpp.cc: Generate dummy functions if we don't
1181 HAVE_ELF_STYLE_WEAKREF.
1182 * eh_cpp.cc: Likewise.
1183 * configure: Regenerate.
1184 * aclocal.m4: Likewise.
1185 * config.h.in: Likewise.
1186 * Makefile.in: Likewise.
1187 * testsuite/Makefile.in: Likewise.
1188
0b41ebef
IS
11892011-11-22 Iain Sandoe <iains@gcc.gnu.org>
1190
1191 * config/x86/sjlj.S (CONCAT1, CONCAT2, SYM): Respond to
1192 __USER_LABEL_PREFIX__ for targets that use it.
8cf36bb3 1193 (TYPE, SIZE, HIDDEN): New macros to assist on non-elf targets.
0b41ebef
IS
1194 (_ITM_beginTransaction): Use SYM, TYPE, SIZE macros to assist
1195 in portability to non-elf targets.
8cf36bb3 1196 (GTM_longjmp): Likewise.
0b41ebef
IS
1197 * libitm_i.h (begin_transaction): Apply __USER_LABEL_PREFIX__
1198 where required.
1199
9c9d352a
IS
12002011-11-22 Iain Sandoe <iains@gcc.gnu.org>
1201
1202 * testsuite/libitm.c/memcpy-1.c: Allow for MAP_ANON spelling.
1203 * testsuite/libitm.c/memset-1.c: Likewise.
1204
c6084f68
AT
12052011-11-21 Andreas Tobler <andreast@fgznet.ch>
1206
1207 * configure: Regenerate.
1208
adcd36bc
RO
12092011-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1210
1211 * acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Handle gold.
1212 (LIBITM_ENABLE_SYMVERS): Handle sun style.
1213 * Makefile.am: Handle sun style versioning.
1214 (libitm_la_LINK): Add $(libitm_la_LDFLAGS).
1215 * configure: Regenerate.
1216 * Makefile.in: Regenerate.
1217
59659b59
RO
12182011-11-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1219
1220 * config/generic/asmcfi.h: Fix comment.
1221 * config/x86/sjlj.S (_ITM_beginTransaction): Provide ELF PIC code
1222 sequence without .hidden support, error for non-ELF targets.
1223 (GTM_longjmp) [__ELF__]: Only use .hidden if
1224 HAVE_ATTRIBUTE_VISIBILITY.
1225
d846e425
RO
12262011-11-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1227
1228 * alloc_cpp.cc [__osf__] (_ZnwX, _ZdlPv, _ZnaX, _ZdaPv,
1229 _ZnwXRKSt9nothrow_t, _ZdlPvRKSt9nothrow_t, _ZdaPvRKSt9nothrow_t):
1230 Dummy functions.
1231 * eh_cpp.cc [__osf__] (__cxa_allocate_exception, __cxa_throw,
1232 __cxa_begin_catch, __cxa_end_catch, __cxa_tm_cleanup): Likewise.
1233
80713347
UB
12342011-11-16 Uros Bizjak <ubizjak@gmail.com>
1235
1236 PR bootstrap/51098
1237 * acinclude.m4 (LIBITM_CHECK_AS_AVX): Fix target selector.
1238 * configure: Regenerate.
1239
2841f85e
L
12402011-11-14 H.J. Lu <hongjiu.lu@intel.com>
1241
1242 * testsuite/lib/libitm.exp: Check ia32 instead of ilp32.
1243
8851b429
RO
12442011-11-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1245
1246 * config/alpha/sjlj.S (_ITM_beginTransaction) [!__ELF__]: Don't use
1247 .hidden.
1248 (.note.GNU-stack): Only use if __linux__.
1249 * alloc_cpp.cc [!__osf__] (_ZnaXRKSt9nothrow_t): Dummy function.
1250 * testsuite/libitm.c/notx.c: Use dg-options "-pthread".
1251 * testsuite/libitm.c/reentrant.c: Likewise.
1252 * testsuite/libitm.c/simple-2.c: Likewise.
1253 * testsuite/libitm.c/txrelease.c: Likewise.
1254 * testsuite/libitm.c++/static_ctor.C: Likewise.
1255
d4b17902
RH
12562011-11-10 Richard Henderson <rth@redhat.com>
1257
1258 * config/x86/x86_avx.cc: Remove #undef __AVX__ hack. Tidy comments.
1259 * Makefile.am (x86_avx.lo): Only add -mavx if ARCH_X86_AVX.
1260 * configure.ac (ARCH_X86_AVX): New conditional.
1261 * Makefile.in, configure: Rebuild.
1262
430616e7
RH
12632011-11-09 Richard Henderson <rth@redhat.com>
1264
1265 * acinclude.m4 (LIBITM_CHECK_AS_AVX): New.
1266 * configure.ac: Use it.
1267 * config.h.in, configure: Rebuild.
1268 * config/x86/x86_avx.cc: Handle !HAVE_AS_AVX.
1269
79b1edb6
RH
12702011-11-09 Richard Henderson <rth@redhat.com>
1271
1272 * barrier.tpl, memcpy.cc, memset.cc, method-wbetl.cc: Remove file.
1273 * config/alpha/unaligned.h: Remove file.
1274 * config/generic/unaligned.h: Remove file.
1275 * config/x86/unaligned.h: Remove file.
1276 * config/generic/cachepage.h: Remove file.
1277 * config/posix/cachepage.cc: Remove file.
1278 * config/generic/cacheline.cc: Remove file.
1279 * config/x86/cacheline.cc: Remove file.
1280 * config/generic/cacheline.h (gtm_cacheline): Remove the
1281 store_mask, copy_mask, copy_mask_wb methods.
1282 * config/x86/cacheline.h: Likewise.
1283 * config/alpha/cacheline.h: Fall back to generic after setting size.
1284 * config/generic/tls.cc (gtm_mask_stack): Remove.
1285 * config/x86/x86_avx.cc (GTM_vpperm_shift): Remove.
1286 (GTM_vpalignr_table): Remove.
1287 * config/x86/x86_sse.cc (GTM_palignr_table): Remove.
1288 (GTM_pshift_table): Remove.
1289 * config/libitm_i.h: Don't include cachepage.h.
1290 * Makefile.am (libitm_la_SOURCES): Remove cacheline.cc, cachepage.cc
1291 * Makefile.in, testsuite/Makefile.in: Rebuild.
1292
4bdd090f
RH
12932011-11-09 Richard Henderson <rth@redhat.com>
1294
8ee9fac2
RH
1295 * config/x86/cacheline.h (gtm_cacheline::store_mask): Use .byte
1296 to emit branch prediction hint.
1297
9bdc6343
RH
1298 * config/x86/sjlj.S: Protect elf directives with __ELF__.
1299 Protect .note.GNU-stack with __linux__.
1300
4bdd090f
RH
1301 * configure.ac (GCC_AS_CFI_PSEUDO_OP): Test it.
1302 * configure, aclocal.m4, config.h.in: Rebuild.
1303 * config/generic/asmcfi.h: New file.
1304 * config/x86/sjlj.S: Use it.
1305
4408b086
RH
13062011-11-08 Richard Henderson <rth@redhat.com>
1307
1308 * local.cc (_ITM_LB): Use a normal call, not a function alias.
1309
01f3428c
RH
13102011-11-08 Richard Henderson <rth@redhat.com>
1311
3d3b05ff
RH
1312 * configure.tgt: Test correct directory for supported cpus.
1313
01f3428c
RH
1314 * configure.ac: Exit if unsupported.
1315 * configure: Rebuild.
1316 * configure.tgt: Delete boilerplate from libgomp for unsupported
1317 targets. Set UNSUPPORTED for unsupported targets.
1318
07f03cd3
RO
13192011-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1320
1321 * configure.tgt: Handle i386 like i[456]86.
1322 * config/generic/tls.h [!HAVE_ARCH_GTM_THREAD] (gtm_thr): Don't
1323 take address.
1324 * config/generic/tls.cc [!HAVE_ARCH_GTM_THREAD ||
1325 !HAVE_ARCH_GTM_THREAD_DISP] (_gtm_thr_tls): New variable.
1326
0a35513e
AH
13272011-11-05 Aldy Hernandez <aldyh@redhat.com>
1328
1329 * method-wbetl.cc: Update copyright notice.
1330 * aatree.cc: Same.
1331 * util.cc: Same.
1332 * libitm.h: Same.
1333 * memset.cc: Same.
1334 * eh_cpp.cc: Same.
1335 * barrier.tpl: Same.
1336 * useraction.cc: Same.
1337 * stmlock.h: Same.
1338 * memcpy.cc: Same.
1339 * common.h: Same.
1340 * config/generic/tls.cc: Same.
1341 * config/generic/cacheline.h: Same.
1342 * config/generic/cachepage.h: Same.
1343 * config/generic/cacheline.cc: Same.
1344 * config/generic/unaligned.h: Same.
1345 * config/x86/cacheline.h: Same.
1346 * config/x86/cacheline.cc: Same.
1347 * config/x86/unaligned.h: Same.
1348 * config/alpha/cacheline.h: Same.
1349 * config/alpha/unaligned.h: Same.
1350 * config/alpha/sjlj.S: Same.
1351 * config/posix/cachepage.cc: Same.
1352 * config/linux/futex.h: Same.
1353 * config/linux/alpha/futex_bits.h: Same.
1354
13552011-11-04 Torvald Riegel <triegel@redhat.com>
1356
1357 * libitm.texi: No cover text and invariant sections.
1358
13592011-11-03 Richard Henderson <rth@redhat.com>
1360
1361 * local_type_traits: New file.
1362 * libitm_i.h: Use it. Use C headers, not C++ wrappers.
1363
13642011-11-03 Richard Henderson <rth@redhat.com>
1365
1366 * configure.ac: Don't test for gfortran.
1367 * configure: Rebuild.
1368
1369 * testsuite/lib/libitm.exp: Don't include gfortran-dg.exp.
1370 * testsuite/libitm.c++/c++.exp: Don't use gfortran-dg-runtest.
1371
13722011-11-03 Aldy Hernandez <aldyh@redhat.com>
1373
1374 * testsuite/libitm.c/memcpy-1.c: Add copyright notice.
1375 * testsuite/libitm.c/memset-1.c: Same.
1376 * testsuite/libitm.c/c.exp: Same.
1377 * testsuite/lib/libitm-dg.exp: Same.
1378 * testsuite/lib/libitm.exp: Same.
1379 * testsuite/libitm.c++/c++.exp: Same.
1380
13812011-11-03 Aldy Hernandez <aldyh@redhat.com>
1382
1383 * testsuite/config/default.exp: Update copyright date.
1384 * configure.ac: Add copyright info.
1385 * configure.tgt: Same.
1386
13872011-11-03 Aldy Hernandez <aldyh@redhat.com>
1388
1389 * testsuite/libitm.c/reentrant.c: XFAIL.
1390 * testsuite/libitm.c++/static_ctor.C: XFAIL.
1391
13922011-10-29 Torvald Riegel <triegel@redhat.com>
1393
1394 * beginend.cc (GTM::gtm_thread::rollback): Add aborting flag and
1395 handle aborts.
1396 (_ITM_abortTransaction): Handle aborts of outer transactions.
1397 * libitm_i.h: Same.
1398 * eh_cpp.cc (GTM::gtm_thread::revert_cpp_exceptions): Fix assertion.
1399 * libitm.texi: Document aborts of outer transactions.
1400 * testsuite/libitm.c/cancel.c: New file.
1401
14022011-10-19 Torvald Riegel <triegel@redhat.com>
1403
1404 * testsuite/*: Change __transaction to __transaction_atomic or
1405 __transaction_relaxed.
1406
14072011-10-19 Torvald Riegel <triegel@redhat.com>
1408
1409 * config/linux/x86/tls.h (abi_disp): Make TLS slot read volatile.
1410 (gtm_thr): Same.
1411
14122011-10-19 Torvald Riegel <triegel@redhat.com>
1413
1414 * libitm_i.h: Add gl_wt dispatch.
1415 * retry.cc (parse_default_method): Same.
1416 * method-gl.cc: New file.
1417 * Makefile.am: Use method-gl.cc.
1418 * Makefile.in: Rebuild.
1419
14202011-10-19 Torvald Riegel <triegel@redhat.com>
1421
1422 * beginend.cc (GTM::gtm_thread::trycommit): Ensure privatization
1423 safety if requested by a TM method.
1424 * dispatch.h (GTM::abi_dispatch::trycommit): Add parameter for
1425 privatization safety.
1426 * method-serial.cc: Same.
1427
14282011-10-19 Torvald Riegel <triegel@redhat.com>
1429
1430 * libitm_i.h: Renamed gtm_local_undo to gtm_undolog_entry.
1431 (GTM::gtm_thread): Renamed local_undo to undolog. Renamed
1432 undolog-related member functions from *_local to *_undolog.
1433 * local.cc (gtm_thread::commit_undolog): Same.
1434 * beginend.cc (GTM::gtm_thread::trycommit): Same.
1435 (GTM::gtm_thread::rollback): Roll back undolog before
1436 dispatch-specific rollback.
1437
14382011-10-19 Torvald Riegel <triegel@redhat.com>
1439
1440 * retry.cc (GTM::gtm_thread::decide_retry_strategy): Handle
1441 re-initialization of the current method group.
1442 * libitm_i.h (GTM::gtm_restart_reason): Add restart reason for this.
1443
14442011-10-19 Torvald Riegel <triegel@redhat.com>
1445
1446 * alloc.cc (commit_allocations_2): Do not free transaction-local
1447 memory when committing a nested transaction.
1448
14492011-10-19 Torvald Riegel <triegel@redhat.com>
1450
1451 * method-serial.cc (GTM::gtm_thread::serialirr_mode): Fixed: Use
1452 serial-irrevocable dispatch, not serial.
1453
14542011-10-19 Torvald Riegel <triegel@redhat.com>
1455
1456 * libitm_i.h (GTM::gtm_restart_reason): Re-arrange and clean up
1457 declarations.
1458 * dispatch.h (GTM::abi_dispatch::begin_or_restart): New.
1459 * method-serial.cc: Implement begin_or_restart().
1460 * beginend.cc (GTM::gtm_thread::begin_transaction): Call
1461 dispatch-specific begin_or_restart().
1462 (GTM::gtm_thread::restart): Same.
1463
14642011-08-23 Torvald Riegel <triegel@redhat.com>
1465
1466 * retry.cc (GTM::gtm_thread::decide_retry_strategy): Cleanup. Fix
1467 restarting without switching to serial mode.
1468 (GTM::gtm_thread::decide_begin_dispatch): Let the caller set the
1469 transaction state. Choose closed-nesting alternative if available.
1470 (GTM::gtm_thread::set_default_dispatch): New.
1471 (parse_default_method): New.
1472 (GTM::gtm_thread::number_of_threads_changed): New.
1473 * method-serial.cc (GTM::serial_mg): New method group class.
1474 (GTM::serialirr_dispatch): Belongs to serial_mg. Remove reinit and
1475 fini.
1476 (GTM::serial_dispatch): Same.
1477 (GTM::serialirr_onwrite_dispatch): Same.
1478 (GTM::gtm_thread::serialirr_mode): Remove calls to fini.
1479 * beginend.cc (GTM::gtm_thread::~gtm_thread): Maintain number of
1480 registered threads.
1481 (GTM::gtm_thread::gtm_thread): Same.
1482 (_ITM_abortTransaction): Remove calls to abi_dispatch::fini().
1483 (GTM::gtm_thread::trycommit): Same. Reset number of restarts.
1484 (GTM::gtm_thread::begin_transaction): Let decide_begin_dispatch()
1485 choose dispatch but set state according to dispatch here.
1486 * dispatch.h (GTM::abi_dispatch::fini): Move to method group.
1487 (GTM::method_group): New class.
1488 (GTM::abi_dispatch): Add comments. Maintain pointer to method_group.
1489 * libitm_i.h (GTM::gtm_thread): Add declarations for new members.
1490 * libitm.texi: Document TM methods, method groups, method life cycle.
1491 Rename method sets to method groups.
1492
14932011-08-23 Torvald Riegel <triegel@redhat.com>
1494
1495 * config/x86/tls.h: Moved to ...
1496 * config/linux/x86/tls.h: ... here.
1497
14982011-08-23 Torvald Riegel <triegel@redhat.com>
1499
1500 * config/x86/tls.h: Use __x86_64__ instead of __LP64__.
1501 Add X32 support.
1502 * config/x86/sjlj.S: Same.
1503
15042011-08-19 Torvald Riegel <triegel@redhat.com>
1505
1506 * config/linux/rwlock.h: New file.
1507 * config/linux/rwlock.c: New file.
1508 * configure.ac: Reenable futex support (undo SVN rev 157758).
1509 * Makefile.am: Same.
1510 * configure.tgt: Same.
1511 * config/linux/alpha/futex_bits.h: Same.
1512 * config/linux/futex.h: Same. Return number of woken processes.
1513 * config/linux/futex.cc: Same.
1514 (futex_wait): Remove spinning.
1515 * config/linux/x86/futex_bits.h: Same. Set futex timeout to zero.
1516 Use __x86_64__ instead of __LP64__.
1517 * aclocal.m4: Include generic futex checks.
1518 * configure: Rebuild.
1519 * Makefile.in: Rebuild.
1520 * testsuite/Makefile.in: Rebuild.
1521 * beginend.cc: Include pthread.h.
1522 * config/posix/cachepage.cc: Same.
1523
15242011-08-12 Torvald Riegel <triegel@redhat.com>
1525
1526 * config/x86/tls.h (gtm_tx, set_gtm_tx, setup_gtm_thr): Removed.
1527 (abi_disp, set_abi_disp): Move to tx's TLS slot.
1528 (set_gtm_thr): New.
1529 * config/generic/tls.h (gtm_tx, set_gtm_tx, setup_gtm_thr): Removed.
1530 (set_gtm_thr): New.
1531 (GTM::gtm_thread::thread_num): Removed.
1532 (GTM::gtm_thread): Renamed to GTM::gtm_thread_tls.
1533 * libitm_i.h (GTM::gtm_transaction): Renamed to GTM::gtm_thread. More
1534 tx-to-thread renaming.
1535 * beginend.cc: Adapted to tx-to-thread renaming.
1536 (GTM::gtm_thread::~gtm_thread): Extracted from thread_exit_handler().
1537 (GTM::gtm_thread::gtm_thread): Extracted from begin_transaction().
1538 * query.cc (_ITM_getTransactionId, _ITM_inTransaction): Renamed
1539 gtm_transaction to gtm_thread.
1540 (_ITM_getThreadnum): Removed. Not supported anymore.
1541 * testsuite/libitm.c/notx.c (main): Removed _ITM_getThreadnum call.
1542 * libitm.texi: Documented that _ITM_getThreadnum is not supported.
1543 * useraction.cc: Renamed gtm_transaction to gtm_thread. Adapted to
1544 gtm_tx-to-gtm_thr renaming if necessary.
1545 * eh_cpp.cc: Same.
1546 * local.cc: Same.
1547 * retry.cc: Same.
1548 * clone.cc: Same.
1549 * alloc.cc: Same.
1550 * alloc_c.cc: Same.
1551 * alloc_cpp.cc: Same.
1552 * method-serial.cc: Same.
1553 * config/generic/tls.cc: Same.
1554 * config/posix/rwlock.h (gtm_rwlock): Same.
1555 * config/posix/rwlock.cc: Same. Adapted to more tx-to-thread renaming.
1556
15572011-08-12 Torvald Riegel <triegel@redhat.com>
1558
1559 * config/posix/rwlock.cc (gtm_rwlock::read_lock): Changed locking
1560 implementation.
1561 (gtm_rwlock::read_unlock): Same.
1562 (gtm_rwlock::write_lock_generic): New. Generalized from ...
1563 (gtm_rwlock::write_lock, gtm_rwlock::write_upgrade): ... these.
1564 * libitm_i.h (GTM::gtm_transaction): Added shared_state.
1565 * config/posix/rwlock.h (GTM::gtm_rwlock): Removed a_reader and
1566 w_upgrade. Replaced by per-transaction flags (in shared_state).
1567 Added c_confirmed_writers.
1568 (GTM::gtm_rwlock::read_lock, GTM::gtm_rwlock::read_unlock,
1569 GTM::gtm_rwlock::write_upgrade): Add tx parameter.
1570 * retry.cc (GTM::gtm_transaction::decide_retry_strategy): Same.
1571 * method-serial.cc (GTM::gtm_transaction::serialirr_mode): Same.
1572 * beginend.cc (GTM::gtm_transaction::begin_transaction,
1573 _ITM_abortTransaction, GTM::gtm_transaction::trycommit): Same.
1574 * libitm.texi: Document locking conventions and implementations in
1575 libitm.
1576
15772011-08-12 Torvald Riegel <triegel@redhat.com>
1578
1579 * libitm_i.h (next_tx): Add list of all threads' transaction.
1580 * beginend.cc (GTM::gtm_transaction::begin_transaction): Register
1581 transaction with list of transactions and ...
1582 (thread_exit_handler): ... deregister here.
1583 * config/alpha/target.h: Add HW_CACHELINE_SIZE setting.
1584 * config/x86/target.h: Same.
1585
15862011-08-12 Torvald Riegel <triegel@redhat.com>
1587
1588 * testsuite/libitm.c++/static_ctor.C: New file.
1589
15902011-08-12 Torvald Riegel <triegel@redhat.com>
1591
1592 * testsuite/libitm.c/reentrant.c: New file.
1593
15942011-08-12 Torvald Riegel <triegel@redhat.com>
1595
1596 * config/generic/tls.h: Remove the free list for transactions and ...
1597 * beginend.cc (GTM::gtm_transaction::operator new): ... allocate ...
1598 (GTM::gtm_transaction::operator delete): ... and release here.
1599 (thread_exit_handler): New. Delete tx when thread terminates.
1600 (thread_exit_init): New.
1601 (GTM::gtm_transaction::begin_transaction): Set up on-exit handler.
1602 * testsuite/libitm.c/txrelease.c: New file.
1603
16042011-08-12 Torvald Riegel <triegel@redhat.com>
1605
1606 * query.cc (_ITM_getThreadnum): Set up gtm_thread if necessary.
1607 * testsuite/libitm.c/notx.c: New file.
1608
16092011-08-12 Torvald Riegel <triegel@redhat.com>
1610
1611 * config/generic/tls.h (gtm_thread): Move local_tid from here ...
1612 * libitm_i.h (local_tid): ... to here.
1613 * beginend.cc (GTM::gtm_transaction::begin_transaction): Same.
1614 (GTM::gtm_transaction::operator new): Set up gtm_thread if necessary.
1615
16162011-08-12 Torvald Riegel <triegel@redhat.com>
1617
1618 * retry.cc (GTM::gtm_transaction::decide_begin_dispatch): Use
1619 serialirr_onwrite_dispatch as new default for now.
1620 * method-serial.cc (serialirr_onwrite_dispatch): New.
1621 (GTM::dispatch_serialirr_onwrite): New.
1622 * libitm_i.h: Same.
1623
16242011-08-12 Torvald Riegel <triegel@redhat.com>
1625
1626 * beginend.cc (GTM::gtm_transaction::rollback): Roll back tx id as well.
1627 * query.cc (_ITM_getTransactionId): There is no active transaction if
1628 the current nesting level is zero.
1629
16302011-07-28 Torvald Riegel <triegel@redhat.com>
1631
1632 * beginend.cc (GTM::gtm_transaction::rollback): Fix nesting level
1633 rollback.
1634
16352011-07-28 Torvald Riegel <triegel@redhat.com>
1636
1637 * retry.cc (GTM::gtm_transaction::decide_begin_dispatch): Get
1638 transaction properties from the caller instead of from the
1639 transaction object.
1640 * libitm_i.h: Same.
1641 * beginend.cc (GTM::gtm_transaction::begin_transaction): Same.
1642
16432011-07-28 Torvald Riegel <triegel@redhat.com>
1644
1645 * local.cc (gtm_transaction::rollback_local): Support closed nesting.
1646 * eh_cpp.cc (GTM::gtm_transaction::revert_cpp_exceptions): Same.
1647 * dispatch.h: Same.
1648 * method-serial.cc: Same.
1649 * beginend.cc (GTM::gtm_transaction::begin_transaction): Change to
1650 flat nesting as default, and closed nesting on demand.
1651 (GTM::gtm_transaction::rollback): Same.
1652 (_ITM_abortTransaction): Same.
1653 (GTM::gtm_transaction::restart): Same.
1654 (GTM::gtm_transaction::trycommit): Same.
1655 (GTM::gtm_transaction::trycommit_and_finalize): Removed.
1656 (choose_code_path): New.
1657 (GTM::gtm_transaction_cp::save): New.
1658 (GTM::gtm_transaction_cp::commit): New.
1659 * query.cc (_ITM_inTransaction): Support flat nesting.
1660 * libitm_i.h (GTM::gtm_transaction_cp): New helper struct for nesting.
1661 (GTM::gtm_transaction): Support flat and closed nesting.
1662 * alloc.cc (commit_allocations_2): New.
1663 (commit_cb_data): New helper struct.
1664 (GTM::gtm_transaction::commit_allocations): Handle nested
1665 commits/rollbacks.
1666 * libitm.texi: Update user action section, add description of nesting.
1667
16682011-07-28 Torvald Riegel <triegel@redhat.com>
1669
1670 * libitm_i.h: Add closed nesting as restart reason.
1671 * retry.cc (GTM::gtm_transaction::decide_retry_strategy): Same.
1672
16732011-07-28 Torvald Riegel <triegel@redhat.com>
1674
1675 * useraction.cc: Use vector instead of list to store actions.
1676 Also support partial rollbacks for closed nesting.
1677 * libitm_i.h (GTM::gtm_transaction::user_action): Same.
1678 * beginend.cc: Same.
1679
16802011-07-28 Torvald Riegel <triegel@redhat.com>
1681
1682 * dispatch.h (GTM::abi_dispatch): Add can_run_uninstrumented_code and
1683 closed_nesting flags, as well as a closed nesting alternative.
1684 * method-serial.cc: Same.
1685 (serial_dispatch): Renamed to serialirr_dispatch.
1686 (GTM::dispatch_serialirr): Same.
1687 (serial_dispatch_ul): Renamed to serial_dispatch.
1688 (GTM::dispatch_serial): Same.
1689
16902011-07-28 Torvald Riegel <triegel@redhat.com>
1691
1692 * libitm.h (_ITM_codeProperties): Change pr_hasElse to the ABI's value.
1693
16942011-07-28 Torvald Riegel <triegel@redhat.com>
1695
1696 * aatree.h (aa_tree::remove): New.
1697 (aa_tree::operator new): Add placement new.
1698
16992011-07-02 Torvald Riegel <triegel@redhat.com>
1700
1701 * containers.h: New file.
1702 * util.cc (xmalloc, xrealloc): Accept cacheline-alloc flag.
1703 * libitm_i.h (xmalloc, xrealloc): Moved declarations from here ...
1704 * common.h: ... to here.
1705 (local_undo): Use GTM::vector for gtm_transaction::local_undo.
1706 * local.cc: Same.
1707
17082011-06-30 Torvald Riegel <triegel@redhat.com>
1709
1710 * libitm_i.h (STATE_ABORTING): Remove.
1711 * beginend.cc (_ITM_abortTransaction): Same.
1712 (GTM::gtm_transaction::trycommit_and_finalize): Same.
1713 * libitm.h (_ITM_registerThrownObject, _ITM_tryCommitTransaction): Remove.
1714 (_ITM_rollbackTransaction): Remove.
1715 * beginend.cc: Same.
1716 * libitm.map: Same.
1717 * libitm.texi: Document these ABI changes.
1718
17192011-06-30 Torvald Riegel <triegel@redhat.com>
1720
1721 * libitm.texi: New file.
1722 * Makefile.am: Add libitm.texi.
1723 * Makefile.in: Rebuild.
1724
17252011-06-30 Torvald Riegel <triegel@redhat.com>
1726
1727 * libitm_i.h: Move parts to common.h and dispatch.h.
1728 * common.h: New file.
1729 * dispatch.h: New file, new dispatch class.
1730 Rename GTM::abi_dispatch::lock_type to ls_modifier.
1731 RenameGTM::abi_dispatch::NOLOCK to NONTXNAL.
1732 * beginend.cc (GTM::gtm_transaction::begin_transaction): Delegate mode
1733 decision to retry.cc.
1734 * retry.cc (GTM::gtm_transaction::decide_retry_strategy): Use serial mode
1735 only.
1736 (GTM::gtm_transaction::decide_begin_dispatch): Same.
1737 * method-serial.cc: Adapt to new dispatch. Add serial mode with undo
1738 logging.
1739 * barrier.cc: Use new barriers definitions.
1740 (abi_dispatch::memmove_overlap_check): New.
1741 * config/x86/x86_sse.cc: Same.
1742 * config/x86/x86_avx.cc: Same.
1743 * Makefile.am: Don't build readonly and wbetl methods, memset.cc and
1744 memcpy.cc.
1745 * Makefile.in: Rebuild.
1746 * method-readonly.cc: Remove.
1747 * method-wbetl.cc: Rename GTM::abi_dispatch::lock_type to ls_modifier.
1748 Rename GTM::abi_dispatch::NOLOCK to NONTXNAL.
1749
17502011-06-30 Torvald Riegel <triegel@redhat.com>
1751
1752 * alloc_c.cc (_ITM_dropReferences): Don't support it anymore.
1753 * testsuite/libitm.c++/dropref.C: _ITM_dropReferences is expected to fail.
1754 * testsuite/libitm.c/dropref-2.c: Same.
1755 * testsuite/libitm.c/dropref.c: Same.
1756
17572011-06-30 Torvald Riegel <triegel@redhat.com>
1758
1759 * config/generic/tls.h (gtm_disp): Rename to abi_disp.
1760 * config/generic/tls.h (set_gtm_disp): Rename to set_abi_disp.
1761 * libitm_i.h: Rename gtm_dispatch to abi_dispatch.
1762 * alloc_c.cc: Same.
1763 * barrier.tpl: Same.
1764 * beginend.c: Same.
1765 * config/generic/tls.h: Same.
1766 * config/x86/tls.h: Same.
1767 * libitm_i.h: Same.
1768 * memcpy.cc: Same.
1769 * memset.cc: Same.
1770 * method-readonly.cc: Same.
1771 * method-serial.cc: Same.
1772 * method-wbetl.cc: Same.
1773 * retry.cc: Same.
1774
17752011-03-03 Richard Henderson <rth@redhat.com>
1776
1777 * config/posix/rwlock.cc (write_upgrade): Add missing case.
1778 From Patrik Marlier <patrick.marlier@unine.ch>.
1779
17802011-02-03 Richard Henderson <rth@redhat.com>
1781
1782 * acinclude.m4 (LIBITM_CHECK_SIZE_T_MANGLING): New.
1783 * configure.ac: Use it.
1784 * configure, config.h.in: Rebuild.
1785 * alloc_cpp.cc (_ZnwX): Use MANGLE_SIZE_T in constructing the name.
1786 (_ZnaX, _ZnwXRKSt9nothrow_t, _ZnaXRKSt9nothrow_t, _ZGTtnwX,
1787 _ZGTtnaX, _ZGTtnwXRKSt9nothrow_t, _ZGTtnaXRKSt9nothrow_t): Likewise.
1788 * libitm.map: Use wildcards to match size_t mangling.
1789
17902010-12-14 Richard Henderson <rth@redhat.com>
1791
1792 * beginend.cc (GTM::gtm_transaction::begin_transaction): Allocate
1793 blocks of TIDs per thread.
1794 * config/generic/tls.h (struct gtm_thread): Add local_tid member.
1795 (setup_gtm_thr): Return the thread structure.
1796 * config/x86/tls.h (setup_gtm_thr): Likewise.
1797
17982010-12-14 Richard Henderson <rth@redhat.com>
1799
1800 * clone.cc (table_lock): Remove.
1801 (find_clone): Don't take it.
1802 (ExcludeTransaction): New helper class.
1803 (_ITM_registerTMCloneTable): Use it.
1804 (_ITM_deregisterTMCloneTable): Likewise.
1805
18062010-12-14 Richard Henderson <rth@redhat.com>
1807
1808 * config/x86/tls.h: New file.
1809
18102010-07-15 Richard Henderson <rth@redhat.com>
1811
1812 * Makefile.am (AM_CXXFLAGS): Add -funwind-tables.
1813 * Makefile.in: Rebuild.
1814
18152010-07-13 Aldy Hernandez <aldyh@redhat.com>
1816
1817 * method-wbetl.cc (trydropreference): Fix source line.
1818
18192010-07-13 Aldy Hernandez <aldyh@redhat.com>
1820
1821 * libitm.h: Add comment.
1822 * libitm_i.h (begin_transaction): Add ITM_REGPARM.
1823
18242010-07-07 Aldy Hernandez <aldyh@redhat.com>
1825
1826 * configure.ac: Call LIBITM_CHECK_64BIT_SYNC_BUILTINS.
1827 * beginend.cc (begin_transaction): If 64-bit sync builtins are not
1828 available, use pthread mutexes.
1829 * acinclude.m4 (LIBITM_CHECK_64BIT_SYNC_BUILTINS): New.
1830 * config.h.in: Regenerate.
1831 * configure: Regenerate.
1832
18332010-07-06 Aldy Hernandez <aldyh@redhat.com>
1834
1835 * libitm.h (ITM_PURE): Define.
1836 Declare _ITM_malloc, _ITM_calloc, and _ITM_free.
1837
18382010-06-28 Aldy Hernandez <aldyh@redhat.com>
1839
1840 * method-wbetl.cc (class wbetl_dispatch): Add trydropreference.
1841 (validate): Add comment.
1842 (trydropreference): New.
1843 * method-readonly.cc (class readonly_dispatch): Add
1844 trydropreference.
1845 * alloc_c.cc (_ITM_dropReferences): Remove const attribute.
1846 Call trydropreference().
1847 * libitm.h (_ITM_dropReferences): Remove const attribute.
1848 * method-serial.cc (class serial_dispatch): Add trydropreference.
1849 * libitm_i.h (struct gtm_dispatch): Add trydropreference.
1850
18512010-06-28 Aldy Hernandez <aldyh@redhat.com>
1852
1853 * memcpy.cc (do_memcpy): Comment.
1854
18552010-06-25 Aldy Hernandez <aldyh@redhat.com>
1856
1857 * barrier.tpl: Add comments throughout.
1858
18592010-06-24 Aldy Hernandez <aldyh@redhat.com>
1860
1861 * method-wbetl.cc (struct w_entry): Add comments.
1862 (trycommit): Same.
1863 (rollback): Same.
1864
18652010-06-24 Aldy Hernandez <aldyh@redhat.com>
1866
1867 * alloc_c.cc (_ITM_dropReferences): New.
1868 * libitm.map (_ITM_dropReferences): Add.
1869 * libitm.h (_ITM_dropReferences): Add transaction_pure attribute.
1870 * libitm_i.h (struct gtm_transaction): Declare
1871 drop_references_allocations and drop_references_local.
1872 * local.cc (rollback_local): Ignore memory when applicable.
1873 (drop_references_local): New.
1874
18752010-06-23 Richard Henderson <rth@redhat.com>
1876
1877 * barrier.tpl, beginend.cc, clone.cc, tls.h, memcpy.cc,
1878 memset.cc, method-serial.cc: Revert the 2010-06-16 change.
1879 * config/x86/target.h (struct gtm_jmpbuf): Change CFA type to void*.
1880 * config/alpha/target.h: Likewise.
1881 * config/generic/tls.cc (gtm_mask_stack): Use it.
1882
18832010-06-23 Richard Henderson <rth@redhat.com>
1884
1885 * config/posix/cachepage.cc (gtm_cacheline_page::operator new): Use
1886 a mutex instead of trying a lock-free compare-and-swap on the list.
1887 (gtm_cacheline_page::operator delete): Likewise.
1888
18892010-06-16 Richard Henderson <rth@redhat.com>
1890
1891 * method-wbetl.cc (wbetl_dispatch::trycommit): Discard changes
1892 that overlap the libitm stack.
1893 * barrier.tpl: Mark incoming stack.
1894 * beginend.cc (_ITM_rollbackTransaction, _ITM_abortTransaction,
1895 _ITM_commitTransaction, _ITM_commitTransactionEH): Likewise.
1896 * clone.cc (_ITM_getTMCloneOrIrrevocable): Likewise.
1897 * memcpy.cc, memset.cc: Likewise.
1898 * method-serial.cc (_ITM_changeTransactionMode): Likewise.
1899 * config/generic/tls.h (gtm_thread): Add stack_top member.
1900 (gtm_stack_top, set_gtm_stack_top, struct gtm_stack_marker): New.
1901 * libitm_i.h (gtm_mask_stack): Declare.
1902 * config/generic/tls.cc: New file.
1903 * Makefile.am (libitm_la_SOURCES): Add it.
1904 (AM_CXXFLAGS): Turn off exceptions.
1905 * Makefile.in: Rebuild.
1906
19072010-06-16 Richard Henderson <rth@redhat.com>
1908
1909 * alloc.cc (struct gtm_alloc_action): Move definition ...
1910 * libitm_i.h: ... here.
1911 (class gtm_transaction): Declare new and delete.
1912 * beginend.cc (alloc_tx): Reformulate as operator new.
1913 (free_tx): Reformulate as operator delete.
1914 * config/generic/tls.h (gtm_thread): Change free_tx member to void *.
1915
19162010-06-11 Richard Henderson <rth@redhat.com>
1917
1918 * clone.cc (clone_entry_compare): Fix typo.
1919 From Patrik Marlier <patrick.marlier@unine.ch>.
1920
19212010-05-13 Richard Henderson <rth@redhat.com>
1922
1923 * alloc_c.cc (_ITM_malloc, _ITM_calloc, _ITM_free): Wrap functions
1924 in extern "C".
1925
19262010-05-07 Aldy Hernandez <aldyh@redhat.com>
1927
1928 * libitm_i.h (struct gtm_transaction): Remove
1929 get_allocation_size.
1930 (record_allocation): Remove size parameter.
1931 * libitm.map (_ITM_realloc): Remove.
1932 * alloc_c.cc (_ITM_realloc): Remove.
1933 (_ITM_malloc): Remove size argument to record_allocation.
1934 (_ITM_calloc): Same.
1935 * alloc_cpp.cc (_ZGTtnwm): Same.
1936 (_ZGTtnwmRKSt9nothrow_t): Same.
1937 (_ZGTtnam): Same.
1938 (_ZGTtnamRKSt9nothrow_t): Same.
1939 * alloc.cc (struct gtm_alloc_action): Remove size.
1940 (get_allocation_size): Remove.
1941 (commit_allocations): Add comment.
1942 (record_allocation): Remove size parameter.
1943 (forget_allocation): Remove set of size.
1944
19452010-04-19 Aldy Hernandez <aldyh@redhat.com>
1946
1947 * Makefile.am (abi_version): New.
1948 (AM_CXXFLAGS): Pass abi_version.
1949 * Makefile.in: Regenerate.
1950 * config/x86/unaligned.h: Remove always_inline kludge for vectors.
1951
19522010-04-06 Aldy Hernandez <aldyh@redhat.com>
1953
1954 * clone.cc (_ITM_getTMCloneOrIrrevocable): Rename from
1955 _ITM_getTMCloneOrIrrevokable.
1956 * libitm.h (_ITM_getTMCloneOrIrrevocable): Same.
1957 * libitm.map (_ITM_getTMCloneOrIrrevocable): Same.
1958
19592010-03-26 Aldy Hernandez <aldyh@redhat.com>
1960
1961 * configure.ac: Remove Linux futex support.
1962 * configure.tgt (config_path): Same.
1963 * Makefile.am: Same.
1964 * config/linux: Remove entire directory.
1965 * configure: Rebuild.
1966 * Makefile.in: Rebuild.
1967 * testsuite/Makefile.in: Rebuild.
1968
19692010-03-09 Aldy Hernandez <aldyh@redhat.com>
1970
1971 * retry.cc (decide_retry_strategy): Set state to STATE_SERIAL when
1972 switching to serial mode.
1973 * beginend.cc (trycommit_and_finalize): Unlock serial_lock.
1974
19752010-03-03 Aldy Hernandez <aldyh@redhat.com>
1976
1977 * configure.tgt: Add emacs -*- tags.
1978 * barrier.tpl: Same.
1979
19802010-02-23 Aldy Hernandez <aldyh@redhat.com>
1981
1982 * Makefile.am: Rename serial.cc to method-serial.cc.
1983 * Makefile.in: Regenerate with automake 1.11.1.
1984 * testsuite/Makefile.in: Same.
1985 * aclocal.m4: Regenerate with aclocal 1.11.1.
1986 * method-serial.cc: Rename from serial.cc.
1987 * libitm_i.h (struct gtm_transaction): Update comment on
1988 serialirr_mode.
1989
19902010-02-22 Aldy Hernandez <aldyh@redhat.com>
1991
1992 * libitm_i.h (GTM_longjmp): Add ITM_REGPARM.
1993 * config/linux/rwlock.h (class gtm_rwlock): Add comments.
1994
19952010-02-11 Aldy Hernandez <aldyh@redhat.com>
1996
1997 * configure: Rebuild.
1998
19992009-11-12 Richard Henderson <rth@redhat.com>
2000
2001 * Rewrite everything in C++.
2002
20032009-11-03 Richard Henderson <rth@redhat.com>
2004
2005 * config/x86/x86_sse.c, config/x86/x86_avx.c: New files.
2006 * Makefile.am (libitm_la_SOURCES): Add them.
2007 * configure.ac (ARCH_X86): New conditional.
2008 * Makefile.in, configure: Rebuild.
2009 * configure.tgt: Set up ARCH; do cflags setup at the same time.
2010 Move futex setup into "other system configury" case.
2011 * local.c (rollback_local): Merge into ...
2012 (GTM_rollback_local): ... here.
2013 (GTM_LB): Rename from GTM_alloc_local; do the memcpy here.
2014 (_ITM_LB): Define as an alias to GTM_LB.
2015
20162009-11-03 Richard Henderson <rth@redhat.com>
2017
2018 * method-readonly.c: New file.
2019 * Makefile.am (libitm_la_SOURCES): Add it.
2020 * Makefile.in: Rebuild.
2021 * beginend.c (gtm_stmlock_array, gtm_clock): New.
2022 (GTM_begin_transaction): Use dispatch_readonly for read-only txn.
2023 * libitm_i.h (gtm_stmlock, gtm_version): Move from method-wbetl.c.
2024 (GTM_VERSION_MAX, GTM_VERSION_INVALID, gtm_stmlock_owned_p,
2025 gtm_stmlock_set_owned, gtm_stmlock_get_addr,
2026 gtm_stmlock_get_version, gtm_stmlock_set_version, LOCK_ARRAY_SIZE,
2027 gtm_stmlock_array, gtm_get_stmlock, gtm_clock, RESTART_NOT_READONLY,
2028 gtm_get_clock, gtm_inc_clock): New.
2029 * method-wbetl.c (gtm_version, gtm_stmlock, OWNED_MASK, VERSION_MAX,
2030 LOCK_GET_OWNED, LOCK_SET_ADDR, LOCK_GET_ADDR, LOCK_GET_TIMESTAMP,
2031 LOCK_SET_TIMESTAMP, LOCK_ARRAY_SIZE, LOCK_MASK, LOCK_IDX, GET_LOCK,
2032 locks, gclock, CLOCK, GET_CLOCK, FETCH_AND_INC_CLOCK): Remove and
2033 replace uses with new libitm_i.h symbols.
2034 (dispatch_wbetl): Rename from wbetl_dispatch.
2035 * retry.c (GTM_decide_retry_strategy): If RESTART_NOT_READONLY, move
2036 away from dispatch_readonly; abort if the beginTransaction call
2037 asserted that the transaction was readonly.
2038
20392009-11-03 Richard Henderson <rth@redhat.com>
2040
2041 * memset.c: New file.
2042 * Makefile.am (libitm_la_SOURCES): Add it.
2043 * Makefile.in: Rebuild.
2044 * testsuite/libitm.c/memset-1.c: New.
2045
20462009-11-03 Richard Henderson <rth@redhat.com>
2047
2048 * dispatch.c: Remove file.
2049 * useraction.c (struct gtm_user_action): Move from libitm.h.
2050 * serial.c (GTM_null_read_lock, GTM_null_write_lock): New.
2051 (serial_memset, serial_memmove, serial_memcpy): Remove.
2052 (serial_W*, serial_R*): Remove.
2053 (serial_dispatch): Update to match.
2054 * configure.ac: Move Werror down below configure checks. Don't
2055 check for sys/loadavg.h, do check for malloc.h. Don't check for
2056 getloadavg and clock_gettime; do check for memalign, posix_memalign.
2057 Use GCC_AC_FUNC_MMAP_BLACKLIST
2058 * libitm.h: Split out all internal items to...
2059 * libitm_i.h: ... here. New file.
2060 * copymask.c: New file.
2061 * local.c (struct gtm_local_undo): Move from libitm.h.
2062 (GTM_alloc_local): Rename from alloc_local; export.
2063 * memcpy.c: New file.
2064 * alloc_c.c (_ITM_realloc): Use _ITM_memcpyRnWt directly.
2065 * config/posix/page.c: New file.
2066 * config/posix/target_tls.h: Remove file.
2067 * barrier.c: New file.
2068 * Makefile.am (libitm_la_SOURCES): Add barrier.c, memcpy.c,
2069 copymask.c, page.c.
2070 * alloc.c (struct gtm_alloc_action): Move from libitm.h.
2071 * method-wbetl.c: Rewrite for new cacheline methods.
2072 * Makefile.in, configure, testsuite/Makefile.in, config.h.in: Rebuild.
2073
2074 * config/alpha/sjlj.S: Fix typo.
2075 * config/alpha/target_i.h: Copy functions from alpha/target.h.
2076 * config/alpha/copymask.c: New file.
2077 * config/alpha/target.h (CACHELINE_SIZE): New.
2078 (STRICT_ALIGNMENT, PAGE_SIZE, FIXED_PAGE_SIZE): New.
2079
2080 * config/x86/target_i.h: Copy functions from x86/target.h.
2081 * config/x86/copymask.c: New file.
2082 * config/x86/target.h (_ITM_ALL_TARGET_TYPES): Remove.
2083 (CACHELINE_SIZE, STRICT_ALIGNMENT): New.
2084 (PAGE_SIZE, FIXED_PAGE_SIZE): New.
2085 * config/x86/target_tls.h: Move contents to target_i.h.
2086
2087 * testsuite/libitm.c/clone-1.c: Include libitm.h.
2088 * testsuite/libitm.c/memcpy-1.c: New.
2089
20902009-10-22 Richard Henderson <rth@redhat.com>
2091
2092 * Makefile.am (CCAS, CCASFLAGS, LTCCASCOMPILE): Remove.
2093 (AM_CCASFLAGS): New.
2094 * configure.ac: Add AM_PROG_AS. Use m4_rename_force for
2095 saving/restoring _AC_ARG_VAR_PRECIOUS.
2096 * Makefile.in, aclocal.m4, config.h.in, configure,
2097 testsuite/Makefile.in: Rebuild with automake 1.11; autoconf 2.64.
2098
20992009-10-22 Richard Henderson <rth@redhat.com>
2100
2101 * testsuite/*: Update for new compiler syntax.
2102
21032009-10-21 Richard Henderson <rth@redhat.com>
2104
2105 * libitm.h (_ITM_abortReason): Add outerAbort.
2106
21072009-08-03 Richard Henderson <rth@redhat.com>
2108
2109 * libitm.map (_ITM_commitTransactionEH, _ITM_cxa_allocate_exception,
2110 _ITM_cxa_begin_catch, _ITM_cxa_end_catch, _ITM_cxa_throw): Export.
2111 * method-wbetl.c (struct w_entry): Remove mask.
2112 (wbetl_write, wbetl_load): Return pointer to word containing the data;
2113 adjust all callers.
2114
21152009-07-22 Richard Henderson <rth@redhat.com>
2116
2117 * eh_cpp.c: New file.
2118 * Makefile.am (libitm_la_SOURCES): Add it.
2119 * Makefile.in: Rebuild.
2120 * beginend.c (GTM_rollback_transaction): Undo exception state.
2121 (GTM_trycommit_transaction): Mark inline.
2122 (GTM_trycommit_and_finalize_transaction): Split out from ...
2123 (_ITM_commitTransaction): ... here.
2124 (_ITM_commitTransactionEH): New function.
2125 * libitm.h (struct gtm_transaction): Add cxa_catch_count,
2126 cxa_unthrown, eh_in_flight; reorder.
2127
2128 * testsuite/libitm.c++/c++.exp: New.
2129 * testsuite/libitm.c++/eh-1.C: New.
2130
2131 * aatree.c (aa_free): Remove REGPARM.
2132 * aatree.h: Remove all REGPARM.
2133
21342009-07-18 Richard Henderson <rth@redhat.com>
2135
2136 * aatree.c, aatree.h, alloc.c, alloc_c.c, alloc_cpp.c: New files.
2137 * Makefile.am (libitm_la_SOURCES): Add them.
2138 * Makefile.in: Rebuild.
2139 * beginend.c (GTM_rollback_transaction): Use GTM_commit_allocations.
2140 (GTM_trycommit_transaction): Likewise.
2141 * libitm.h: Include aatree.h
2142 (struct gtm_alloc_action): New.
2143 (struct gtm_transaction): Add alloc_actions.
2144 (GTM_record_allocation, GTM_forget_allocation): Declare.
2145 (GTM_get_allocation_size, GTM_commit_allocations): Declare.
2146 * libitm.map (_ITM_malloc, _ITM_calloc, _ITM_realloc, _ITM_free,
2147 _ZGTtnwm, _ZGTtnam, _ZGTtdlPv, _ZGTtdaPv, _ZGTtnwmRKSt9nothrow_t,
2148 _ZGTtnamRKSt9nothrow_t, _ZGTtdlPvRKSt9nothrow_t,
2149 _ZGTtdaPvRKSt9nothrow_t): Export.
2150
21512009-07-18 Richard Henderson <rth@redhat.com>
2152
2153 * target_tls.h: Move ...
2154 * config/posix/target_tls.h: ... here.
2155
21562009-07-07 Richard Henderson <rth@redhat.com>
2157
2158 * config/x86/target.h (atomic_write_barrier): Use sfence if available.
2159
21602009-07-07 Richard Henderson <rth@redhat.com>
2161
2162 * Update to GPL3.
2163
21642009-07-07 Richard Henderson <rth@redhat.com>
2165
2166 * libitm.h (struct gtm_transaction): Widen id to _ITM_transactionId_t.
2167 * beginend.c (global_tid): Widen to _ITM_transactionId_t.
2168
2169 * configure.tgt: Don't use -ftls-model for x86 linux.
2170 * libitm.h: Include target.h after standard includes.
2171 (_gtm_thr): Rename from gtm_thr.
2172 (setup_gtm_thr, gtm_thr, gtm_tx, set_gtm_tx): New.
2173 (gtm_disp, set_gtm_disp): New.
2174 * beginend.c, dispatch.c, local.c, method-wbetl.c, query.c,
2175 retry.c, serial.c, useraction.c: Use accessor functions throughout.
2176 * config/alpha/target_tls.h, config/x86/target_tls.h: New files.
2177
21782009-07-07 Richard Henderson <rth@redhat.com>
2179
2180 * config/linux/rwlock.c (EZ): New define. Use it throughout.
2181
21822009-07-06 Richard Henderson <rth@redhat.com>
2183
2184 * libitm.h (_ITM_SRCLOCATION_DECL_1, _ITM_SRCLOCATION_DECL_2): Remove.
2185 (_ITM_SRCLOCATION_DEFN_1, _ITM_SRCLOCATION_DEFN_2): Remove.
2186 (_ITM_beginTransaction): Take variadic arguments.
2187 (_ITM_registerThrownObject): Declare.
2188 * beginend.c, serial.c: Update.
2189 * libitm.map: Add _ITM_registerThrownObject.
2190
21912009-01-28 Richard Henderson <rth@redhat.com>
2192
2193 * Makefile.am (libitm_la_SOURCES): Add clone.c.
2194 * Makefile.in: Rebuild.
2195 * beginend.c (_ITM_abortTransaction): Abort if irrevokable.
2196 (GTM_restart_transaction): Fix uninstrumented code check.
2197 * retry.c (GTM_decide_retry_strategy): Add serial check.
2198 * serial.c (GTM_serialmode): Add irrevokable variable. Don't
2199 automatically go irrevokable when in serial mode.
2200 * clone.c: New file.
2201 * libitm.h, libitm.map: Update.
2202
22032009-01-27 Richard Henderson <rth@redhat.com>
2204
2205 * Makefile.am (LTCCASCOMPILE): Define.
2206 (libitm_la_SOURCES): Add methid-wbetl.c.
2207 * testsuite/Makefile.am: New
2208 * configure.ac: Add testsuite/Makefile.
2209 * Makefile.in, testsuite/Makefile.in, configure: Regenerate.
2210 * beginend.c (GTM_begin_transaction): Install wbetl_dispatch.
2211 (_ITM_abortTransaction): Finalize implementation method; pass
2212 transaction properties to longjmp.
2213 (GTM_restart_transaction): Split out from ...
2214 (_ITM_commitTransaction): ... here.
2215 * config/linux/x86/futex_bits.h (cpu_relax, atomic_write_barrier):
2216 Move to config/x86/target.h.
2217 * config/linux/alpha/futex_bits.h: New.
2218 * config/x86/sjlj.S (GTM_longjmp): Fix 64-bit input register.
2219 * config/x86/target.h: Disable target types for 32-bit.
2220 * config/alpha/sjlj.S, config/alpha/target.h: New.
2221 * libitm.h (struct gtm_dispatch): Add init, fini.
2222 (enum restart_reason): New.
2223 (struct gtm_transaction): Add method and restarts.
2224 * retry.c (GTM_decide_retry_strategy): Implement.
2225 * serial.c (serial_init, serial_fini): New.
2226 (GTM_serialmode): Finialize outgoing method.
2227 * method-wbetl.c: New.
2228
22292008-12-09 Richard Henderson <rth@redhat.com>
2230
2231 * config/x86/target.h (_ITM_ALL_TARGET_TYPES, _ITM_TYPE_ATTR): New.
2232 * configure.tgt (i386-*, x86_64-*): Don't force SSE.
2233 * dispatch.c (_ITM_##R##T, _ITM_##W##T): Use _ITM_TYPE_ATTR.
2234 * libitm.h (_ITM_ALL_TARGET_TYPES, _ITM_TYPE_ATTR): Provide default.
2235 (_ITM_TYPE_M64, _ITM_TYPE_M128, _ITM_TYPE_M256): Move to x86 header.
2236 (_ITM_ALL_TYPES): Use _ITM_ALL_TARGET_TYPES.
2237 * local.c (_ITM_L##T): Use _ITM_TYPE_ATTR.
2238 * serial.c (serial_R##T, serial_W##T): Likewise.
2239
22402008-11-21 Richard Henderson <rth@redhat.com>
2241
2242 * Initial commit.
21fa2a29 2243\f
8d9254fc 2244Copyright (C) 2008-2020 Free Software Foundation, Inc.
21fa2a29
JJ
2245
2246Copying and distribution of this file, with or without modification,
2247are permitted in any medium without royalty provided the copyright
2248notice and this notice are preserved.