]> git.ipfire.org Git - thirdparty/gcc.git/blame - libitm/ChangeLog
Update copyright years.
[thirdparty/gcc.git] / libitm / ChangeLog
CommitLineData
7e7065b9
JJ
12020-01-01 Jakub Jelinek <jakub@redhat.com>
2
8d9254fc
JJ
3 Update copyright years.
4
7e7065b9
JJ
5 * libitm.texi: Bump @copying's copyright year.
6
00484365
SN
72019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
8
9 PR libgomp/91938
10 * configure.tgt: Avoid IE tls on *-*-musl*.
11
e9085da5
MR
122019-09-27 Maciej W. Rozycki <macro@wdc.com>
13
14 * configure: Regenerate.
15
b1e21e5a
CL
162019-09-10 Christophe Lyon <christophe.lyon@st.com>
17
a360a359
CL
18 * config/arm/sjlj.S (ldaddr): Add FDPIC support.
19
202019-09-10 Christophe Lyon <christophe.lyon@st.com>
21
22 * configure.tgt: Handle *-*-uclinux*.
23 * configure: Regenerate.
b1e21e5a 24
3c086f8d
FW
252019-09-06 Florian Weimer <fweimer@redhat.com>
26
27 * configure: Regenerate.
28
c6c2d1bc
CLT
292019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
30
31 PR other/79543
32 * acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Fix GNU ld --version
33 scanning to conform to the GNU Coding Standards.
34 * configure: Regenerate.
35
061a799b
JJ
362019-05-03 Jakub Jelinek <jakub@redhat.com>
37
38 * Makefile.am (finclude): Remove.
39 * Makefile.in: Regenerated.
40
a5544970
JJ
412019-01-01 Jakub Jelinek <jakub@redhat.com>
42
43 Update copyright years.
44
3f27508c
JJ
452019-01-01 Jakub Jelinek <jakub@redhat.com>
46
47 * libitm.texi: Bump @copying's copyright year.
48
784417d1
JJ
492018-12-16 Jakub Jelinek <jakub@redhat.com>
50
51 PR c++/88482
52 * eh_cpp.cc (__cxa_throw): Change DEST argument type from
53 void * to void (*) (void *).
54 (_ITM_cxa_throw): Likewise.
55 * libitm.h (_ITM_cxa_throw): Likewise.
56 * libitm.texi (_ITM_cxa_throw): Likewise.
57
d1573fe0
PB
582018-12-13 Peter Bergner <bergner@linux.ibm.com>
59
60 * config/powerpc/target.h (htm_available): Add support for
61 PPC_FEATURE2_HTM_NO_SUSPEND. Use __builtin_cpu_supports if available.
62
22e05272
JM
632018-10-31 Joseph Myers <joseph@codesourcery.com>
64
65 PR bootstrap/82856
66 * Makefile.am: Include multilib.am.
67 (AUTOMAKE_OPTIONS): Add info-in-builddir.
68 (CLEANFILES): Remove libitm.info.
69 * configure.ac: Remove AC_PREREQ.
70 * testsuite/Makefile.am (RUNTEST): Remove quotes.
71 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
72 Regenerate.
73
1f82422a
NK
742018-10-30 Nicholas Krause <xerofoify@gmail.com>
75
a2e0398a 76 PR libitm/86293
1f82422a
NK
77 * method-serial.cc: Mark varible as potentially unused
78 to silence warning.
79
f6a9dfd3
ST
802018-08-03 Sergei Trofimovich <slyfox@gentoo.org>
81
82 * config/sh/sjlj.S: Adjust to use PIC vs normal code to avoid
83 absolute relocation in a shared library.
84
97cad511
L
852018-06-12 H.J. Lu <hongjiu.lu@intel.com>
86
87 PR libitm/85988
88 * config/linux/x86/tls.h (SEG_READ): Use the offset of
89 __private_tm as base.
90 (SEG_WRITE): Likewise.
91 (SEG_ENCODE_WRITE): Correct the offset of pointer_guard for x32.
92 (gtm_thr): Replace SEG_READ(10) with SEG_READ(0).
93 (set_gtm_thr): Replace SEG_WRITE(10) with SEG_WRITE(0).
94 (abi_disp): Replace SEG_DECODE_READ(11) with SEG_DECODE_READ(1).
95 (set_abi_disp): Replace SEG_ENCODE_WRITE(11) with
96
b46b715d
JM
972018-05-17 Jason Merrill <jason@redhat.com>
98
99 * beginend.cc (save): Disable -Werror=deprecated-copy.
100
9220b511
TV
1012018-05-02 Tom de Vries <tom@codesourcery.com>
102
103 PR testsuite/85106
104 * testsuite/lib/libitm.exp: Include scanltranstree.exp.
105
6c3c13c1
TV
1062018-05-02 Tom de Vries <tom@codesourcery.com>
107
108 PR testsuite/85106
109 * testsuite/lib/libitm.exp: Include scanwpaipa.exp.
110
ffc2fc06
L
1112018-04-24 H.J. Lu <hongjiu.lu@intel.com>
112
113 * config/x86/sjlj.S (_ITM_beginTransaction): Add
114 (__CET__ & 2) != 0 check for shadow stack.
115 (GTM_longjmp): Likewise.
116
7b47ecf2
L
1172018-04-24 H.J. Lu <hongjiu.lu@intel.com>
118
119 * configure: Regenerated.
120
0ef9f21d
L
1212018-04-23 H.J. Lu <hongjiu.lu@intel.com>
122
123 PR target/85489
124 * config/x86/sjlj.S (GTM_longjmp): Replace jle/jg with jbe/ja.
125
a0e1df88
JJ
1262018-04-19 Jakub Jelinek <jakub@redhat.com>
127
128 * configure: Regenerated.
129
001ddaa8
DM
1302018-04-18 David Malcolm <dmalcolm@redhat.com>
131
132 PR jit/85384
133 * configure: Regenerate.
134
14e335ed
IT
1352018-02-14 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
136
137 PR target/84148
138 * configure: Regenerate.
139
65e6aea3
JJ
1402018-01-03 Jakub Jelinek <jakub@redhat.com>
141
85ec4feb
JJ
142 Update copyright years.
143
65e6aea3
JJ
144 * libitm.texi: Bump @copying's copyright year.
145
c51081fc
IT
1462017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
147
148 * Makefile.in: Regenerate.
149 * acinclude.m4: Add enable.m4 and cet.m4.
150 * config/x86/sjlj.S: Include cet.h.
151 (_ITM_beginTransaction): Add _CET_ENDBR.
152 Save Shadow Stack pointer.
153 (GTM_longjmp): Add _CET_ENDBR. Restore Shadow Stack pointer.
154 * config/x86/target.h (struct gtm_jmpbuf):
155 Add new field for Shadow Stack pointer.
156 * configure: Regenerate.
157 * configure.ac: Set CET_FLAGS. Update XCFLAGS.
158 * configure.ac: Update libtool_VERSION for x86.
159 * testsuite/Makefile.in: Regenerate.
160
cc03e55b
IT
1612017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
162
163 * libitm/config/x86/target.h: Add new field (ssp).
164 * libitm/config/x86/sjlj.S: Change offsets.
165
62ffe920
RO
1662017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
167
168 * testsuite/lib/libitm.exp: Load scanlang.exp.
169
5764ee3c
JW
1702017-04-03 Jonathan Wakely <jwakely@redhat.com>
171
172 * libitm_i.h (sutrct gtm_thread): Fix typo in comment.
173
73aa401e
JJ
1742017-01-21 Jakub Jelinek <jakub@redhat.com>
175
176 PR other/79046
177 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
178 of cat to get version from BASE-VER file.
179 * testsuite/Makefile.in: Regenerated.
180
16a34ca6
UB
1812017-01-19 Uros Bizjak <ubizjak@gmail.com>
182
183 * config/x86/target.h (htm_available): Determine vendor from
184 __get_cpuid_max return. Use signature_INTEL_ebx. Cleanup.
185
f8a94453
TR
1862017-01-18 Torvald Riegel <triegel@redhat.com>
187
188 * config/x86/target.h (htm_available): Add check for some processors
189 on which TSX is broken.
190
3c36aa6b
JJ
1912017-01-17 Jakub Jelinek <jakub@redhat.com>
192
193 PR other/79046
194 * configure.ac: Add GCC_BASE_VER.
195 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
196 get version from BASE-VER file.
197 * testsuite/Makefile.in: Regenerated.
198 * configure: Regenerated.
199 * Makefile.in: Regenerated.
200
8f56cb51
AM
2012017-01-04 Alan Modra <amodra@gmail.com>
202
203 * Makefile.in: Regenerate.
204 * testsuite/Makefile.in: Regenerate.
205
c1a9c369
JJ
2062017-01-01 Jakub Jelinek <jakub@redhat.com>
207
cbe34bb5
JJ
208 Update copyright years.
209
c1a9c369
JJ
210 * libitm.texi: Bump @copying's copyright year.
211
66dbcf2d
RO
2122016-12-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
213
214 * acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Remove.
215 * aclocal.m4: Regenerate.
216 * configure.ac: Call GCC_CHECK_LINKER_HWCAP instead of
217 LIBITM_CHECK_LINKER_HWCAP.
218
84c1b9d3
MK
2192016-11-15 Matthias Klose <doko@ubuntu.com>
220
221 * configure: Regenerate.
222
831698b8
L
2232016-04-19 H.J. Lu <hongjiu.lu@intel.com>
224
225 PR libitm/70456
226 * util.cc (xmalloc): Use posix_memalign to allocate memory on
227 on cache line if requested.
228
edcbda7e
DV
2292016-03-03 Dominik Vogt <vogt@linux.vnet.ibm.com>
230
231 * config/s390/target.h (TARGET_BEGIN_TRANSACTION_ATTRIBUTE): Define
232 function attribute to disable floating point in begin_transaction() on
233 S/390.
234 * beginend.cc (begin_transaction): Use
235 TARGET_BEGIN_TRANSACTION_ATTRIBUTE.
236
6041f70a
TR
2372016-01-22 Torvald Riegel <triegel@redhat.com>
238
239 * beginend.cc (GTM::gtm_thread::serial_lock): Put on cacheline
240 boundary.
241 (htm_fastpath): Remove.
242 (gtm_thread::begin_transaction): Fix HTM fastpath.
243 (_ITM_commitTransaction): Adapt.
244 (_ITM_commitTransactionEH): Adapt.
245 * libitm/config/linux/rwlock.h (gtm_rwlock): Add htm_fastpath member
246 and accessors.
247 * libitm/config/posix/rwlock.h (gtm_rwlock): Likewise.
248 * libitm/config/posix/rwlock.cc (gtm_rwlock::gtm_rwlock): Adapt.
249 * libitm/config/x86/sjlj.S (_ITM_beginTransaction): Fix HTM fastpath.
250 * libitm/libitm_i.h (htm_fastpath): Remove declaration.
251 * libitm/method-serial.cc (htm_mg): Adapt.
252 (gtm_thread::serialirr_mode): Adapt.
253 * libitm/query.cc (_ITM_inTransaction, _ITM_getTransactionId): Adapt.
254
0b96ffdb
TR
2552016-01-21 Torvald Riegel <triegel@redhat.com>
256
257 * testsuite/libitm.c++/libstdc++-safeexc.C: Not supported on darwin
258 or AIX.
259
b1de98e3
RH
2602016-01-19 Richard Henderson <rth@redhat.com>
261
262 PR bootstrap/69343
263 PR bootstrap/69339
264 Revert:
265 2016-01-13 Richard Henderson <rth@redhat.com>
266
267 * Makefile.am (libitm_la_SOURCES) [ARCH_AARCH64]: Add vect128.cc
268 (libitm_la_SOURCES) [ARCH_ARM]: Add neon.cc
269 (libitm_la_SOURCES) [ARCH_PPC]: Add vect128.cc
270 (libitm_la_SOURCES) [ARCH_S390]: Add vect128.cc
271 * configure.ac (ARCH_AARCH64): New conditional.
272 (ARCH_PPC, ARCH_S390): Likewise.
273 * Makefile.in, configure: Rebuild.
274
275 * libitm.h (_ITM_TYPE_M128): Always define.
276 * vect64.cc: Split ...
277 * vect128.cc: ... out of...
278 * config/x86/x86_sse.cc: ... here.
279 * config/arm/neon.cc: New file.
280
f57fc960
TR
2812016-01-19 Torvald Riegel <triegel@redhat.com>
282
283 * local_type_traits: Remove file.
284 * libitm_i.h: Don't include it anymore.
285 (sized_integral): Remove.
286
d2653984
TR
2872016-01-16 Torvald Riegel <triegel@redhat.com>
288
289 * method-gl.cc (gl_wt_dispatch::trycommit): Ensure proxy privatization
290 safety.
291 * method-ml.cc (ml_wt_dispatch::trycommit): Likewise.
292 * libitm/testsuite/libitm.c/priv-1.c: New.
293
a04d5fc9
TR
2942015-01-15 Torvald Riegel <triegel@redhat.com>
295
296 testsuite/libitm.c++/libstdc++-safeexc.C: New.
297
e89137ce
TR
2982016-01-13 Torvald Riegel <triegel@redhat.com>
299
300 * beginend.cc (gtm_thread::trycommit): Fix seq_cst fences.
301 * config/linux/rwlock.cc (gtm_rwlock::write_lock_generic): Likewise.
302 (gtm_rwlock::write_unlock): Likewise.
303
4c868789
RH
3042016-01-13 Richard Henderson <rth@redhat.com>
305
306 * Makefile.am (libitm_la_SOURCES) [ARCH_AARCH64]: Add vect128.cc
307 (libitm_la_SOURCES) [ARCH_ARM]: Add neon.cc
308 (libitm_la_SOURCES) [ARCH_PPC]: Add vect128.cc
309 (libitm_la_SOURCES) [ARCH_S390]: Add vect128.cc
310 * configure.ac (ARCH_AARCH64): New conditional.
311 (ARCH_PPC, ARCH_S390): Likewise.
312 * Makefile.in, configure: Rebuild.
313
314 * libitm.h (_ITM_TYPE_M128): Always define.
315 * vect64.cc: Split ...
316 * vect128.cc: ... out of...
317 * config/x86/x86_sse.cc: ... here.
318 * config/arm/neon.cc: New file.
319
629e4729
TR
3202016-01-13 Torvald Riegel <triegel@redhat.com>
321
322 * beginend.cc (gtm_thread::trycommit): Fix privatization safety.
323 * config/linux/rwlock.cc (gtm_rwlock::write_lock_generic): Likewise.
324 * config/posix/rwlock.cc (gtm_rwlock::write_lock_generic): Likewise.
325 * dispatch.h (abi_dispatch::snapshot_most_recent): New.
326 * method-gl.cc (gl_wt_dispatch::snapshot_most_recent): New.
327 * method-ml.cc (ml_wt_dispatch::snapshot_most_recent): New.
328 * method-serial.cc (serial_dispatch::snapshot_most_recent): New.
329 (serialirr_dispatch::snapshot_most_recent): New.
330 (serialirr_onwrite_dispatch::snapshot_most_recent): New.
331
0d1ed412
TR
3322016-01-12 Torvald Riegel <triegel@redhat.com>
333
334 * libitm_i.h (gtm_mask_stack): Remove.
335 * beginend.cc (gtm_stmlock_array, gtm_clock): Likewise.
336 * stmlock.h: Remove file.
337 * config/alpha/cacheline.h: Likewise.
338 * config/generic/cacheline.h: Likewise.
339 * config/powerpc/cacheline.h: Likewise.
340 * config/sparc/cacheline.h: Likewise.
341 * config/x86/cacheline.h: Likewise.
342
21fa2a29
JJ
3432016-01-04 Jakub Jelinek <jakub@redhat.com>
344
818ab71a
JJ
345 Update copyright years.
346
21fa2a29
JJ
347 * libitm.texi: Bump @copying's copyright year.
348
e7f7330f
TR
3492015-11-26 Torvald Riegel <triegel@redhat.com>
350
351 * method-ml.cc (ml_mg): Use multiplicative instead of simple hashing.
352 (ml_wt_dispatch::pre_write): Adapt.
353 (ml_wt_dispatch::pre_load): Likewise.
354
4f8a3b87
TR
3552015-11-22 Torvald Riegel <triegel@redhat.com>
356
357 * libitm_i.h (gtm_alloc_action): Remove union.
358 * testsuite/libitm.c/alloc-1.c: New.
359
258c1d07
TR
3602015-11-19 Torvald Riegel <triegel@redhat.com>
361
362 * testsuite/libitm.c++/eh-5.C: New.
363 * libitm.h (_ITM_cxa_free_exception): New.
364 * libitm.map (_ITM_cxa_free_exception): Add it.
365 * libitm.texi: Update ABI docs.
366 * libitm_i.h (gtm_transaction_cp::cxa_unthrown): Remove.
367 (gtm_transaction_cp::cxa_uncaught_count): Add.
368 (gtm_thread::cxa_unthrown): Remove.
369 (gtm_thread::cxa_uncaught_count_ptr): Add.
370 (gtm_thread::cxa_uncaught_count): Add.
371 (gtm_thread::drop_references_allocations): Rename to...
372 (gtm_thread::discard_allocation): ... this and adapt.
373 (gtm_thread::init_cpp_exceptions): New.
374 * beginend.cc (gtm_thread::gtm_thread): Adapt EH handling.
375 (gtm_thread::begin_transaction): Likewise.
376 (gtm_transaction_cp::save): Likewise.
377 (gtm_thread::trycommit): Likewise.
378 * eh_cpp.cc: Add overview comments.
379 (__cxa_eh_globals, __cxa_get_globals, __cxa_free_exception): Declare.
380 (free_any_exception, _ITM_cxa_free_exception): New.
381 (gtm_thread::init_cpp_exceptions): Define.
382 (_ITM_cxa_allocate_exception, _ITM_cxa_throw): Adapt.
383 (_ITM_cxa_begin_catch, _ITM_cxa_end_catch): Likewise.
384 (gtm_thread::revert_cpp_exceptions): Likewise.
385
c518678b
TR
3862015-11-09 Torvald Riegel <triegel@redhat.com>
387
388 * alloc_cpp.cc (_ZdlPvX, _ZdlPvXRKSt9nothrow_t, _ZGTtdlPvX,
389 _ZGTtdlPvXRKSt9nothrow_t, delsz_opnt): New.
390 * libitm.map: Add _ZGTtdlPvX and _ZGTtdlPvXRKSt9nothrow_t.
391 * libitm_i.h (gtm_alloc_action): Add free_fn_sz and sz. Add comments.
392 (gtm_thread::forget_allocations): New overload with size_t argument.
393 * alloc.c (gtm_thread::forget_allocation): Define new overload and
394 adapt existing one.
395 (gtm_thread::record_allocation): Adapt.
396 (gtm_thread::commit_allocations_1): Adapt.
397 (gtm_thread::commit_allocations_2): Adapt.
398 * testsuite/libitm.c++/newdelete.C: New.
399
1e44e857
DJ
4002015-10-27 Daniel Jacobowitz <dan@codesourcery.com>
401 Joseph Myers <joseph@codesourcery.com>
402 Mark Shinwell <shinwell@codesourcery.com>
403 Andrew Stubbs <ams@codesourcery.com>
404 Rich Felker <dalias@libc.org>
405
406 * config/sh/sjlj.S (_ITM_beginTransaction): Bypass PLT calling
407 GTM_begin_transaction for compatibility with FDPIC.
408
9e531d37
DM
4092015-10-09 David Malcolm <dmalcolm@redhat.com>
410
411 * testsuite/lib/libitm.exp: Load multiline.exp before prune.exp,
412 using load_gcc_lib.
413
c629c246
GFM
4142015-08-20 Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org> (tiny change)
415
416 PR libitm/61164
417 * local_atomic (__always_inline): Rename to...
418 (__libitm_always_inline): ... this.
419
cd5a9a74
CSLL
4202015-07-03 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
421
422 PR target/52482
423 * config/powerpc/sjlj.S: Port to Xcode 2.5.
424
ea023bcf
UB
4252015-05-27 Uros Bizjak <ubizjak@gmail.com>
426
d778b5a0
UB
427 * config/linux/x86/futex_bits.h (sys_futex0) [__x86_64__]: Change
428 operands "op" and "val" to int.
429
4302015-05-27 Uros Bizjak <ubizjak@gmail.com>
431
432 * config/linux/sh/futex_bits.h (sys_futex0) Change operands
433 "op" and "val" to int.
434
4352015-05-27 Uros Bizjak <ubizjak@gmail.com>
436
437 * config/linux/alpha/futex_bits.h (sys_futex0) Change operands
438 "op" and "val" to int.
439
4402015-05-27 Uros Bizjak <ubizjak@gmail.com>
441
442 * config/linux/futex.cc (gtm_futex_wait, gtm_futex_wake):
443 Declare as static int.
444 (FUTEX_PRIVATE_FLAG): Remove L suffix.
445 * config/linux/futex_bits.h (sys_futex0) Change operand "op" to int.
446
4472015-05-27 Uros Bizjak <ubizjak@gmail.com>
448
449 * config/linux/x86/futex_bits.h (sys_futex0) [__PIC__]: Remove
450 sys_futex0 function.
ea023bcf 451
503902f9
MH
4522015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
453
454 * Makefile.in: Regenerated with automake-1.11.6.
455 * aclocal.m4: Likewise.
456 * configure: Likewise.
457 * testsuite/Makefile.in: Likewise.
458
96ce40cb
GR
4592015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
460
461 * config/arm/hwcap.cc: Use fcntl.h instead of sys/fcntl.h.
462 * config/linux/x86/tls.h: Only use __GLIBC_PREREQ if defined.
463
3a07b160
L
4642015-01-15 H.J. Lu <hongjiu.lu@intel.com>
465
466 PR libitm/64360
467 * libitm.c/stackundo.c (test2): Make it static.
468 (test1): Likewise.
469
5624e564
JJ
4702015-01-05 Jakub Jelinek <jakub@redhat.com>
471
472 Update copyright years.
473
b67cd4e3
JJ
4742015-01-05 Jakub Jelinek <jakub@redhat.com>
475
476 * libitm.texi: Bump @copying's copyright year.
477
69aef6dc
KT
4782014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
479
480 * testsuite/lib/libitm.exp: Load target-utils.exp.
481 Move load of target-supports.exp earlier.
482
68bc9270
UB
4832014-12-03 Uros Bizjak <ubizjak@gmail.com>
484
485 * configure.tgt (x86_64): Tune -m32 multilib to generic.
486
a699d672
L
4872014-11-21 H.J. Lu <hongjiu.lu@intel.com>
488
489 PR bootstrap/63784
490 * configure: Regenerated.
491
ebf6d33b
FXC
4922014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
493
494 PR target/63610
495 * configure: Regenerate.
496
99183741
MP
4972014-10-06 Marek Polacek <polacek@redhat.com>
498
499 * testsuite/libitm.c/memcpy-1.c: Declare getpagesize.
500 * testsuite/libitm.c/memset-1.c: Likewise.
501
b6334cf4
RH
5022014-07-24 Richard Henderson <rth@redhat.com>
503
504 * config/aarch64/sjlj.S (_ITM_beginTransaction): Use post-inc
505 addressing mode in epilogue.
506
3c698bf0
RO
5072014-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
508
509 * acinclude.m4 (LIBITM_CHECK_LINKER_HWCAP): Check for
510 -mclear-hwcap instead.
511 * configure: Regenerate.
512 * clearcap.map: Remove.
513
dbed5a9b
JM
5142014-05-21 John Marino <gnugcc@marino.st>
515
516 * configure.tgt (*-*-dragonfly*): New target.
517
b17f08dd
RH
5182014-05-19 Richard Henderson <rth@redhat.com>
519
520 * config/aarch64/sjlj.S: New file.
521 * config/aarch64/target.h: New file.
522 * configure.tgt: Enable aarch64.
523
5e1f630a
RO
5242014-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
525
526 * config/generic/asmcfi.h: Also check for
527 __GCC_HAVE_DWARF2_CFI_ASM.
528
84c2f4b0
RH
5292013-04-02 Richard Henderson <rth@redhat.com>
530
531 * config/alpha/target.h (PAGE_SIZE, FIXED_PAGE_SIZE): Remove.
532 * config/arm/target.h, config/sh/target.h: Likewise.
533 * config/sparc/target.h, config/x86/target.h: Likewise.
534
7cc51d64
JJ
5352014-03-26 Jakub Jelinek <jakub@redhat.com>
536
537 * config/linux/futex_bits.h: Include errno.h.
538 (sys_futex0): If syscall returns -1, return -errno rather than
539 -1.
540
c288ec8f
JM
5412014-03-26 Joseph Myers <joseph@codesourcery.com>
542
543 * libitm.texi (Index): Rename to Library Index.
544
ed100f5d
L
5452014-01-13 H.J. Lu <hongjiu.lu@intel.com>
546
547 PR libitm/53113
548 * Makefile.am (x86_sse.lo): Append -msse to CXXFLAGS.
549 (x86_avx.lo): Append -mavx to CXXFLAGS.
550 * Makefile.in: Regenerate.
551
f93608e6
RS
5522014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
553
554 Update copyright years
555
98db73df
TB
5562014-01-02 Tobias Burnus <burnus@net-b.de>
557
558 * libitm.texi: Bump @copying's copyright year.
559
b54214fe
UW
5602013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
561
562 * config/powerpc/sjlj.S [__powerpc64__ && _CALL_ELF == 2]:
563 (FUNC): Define ELFv2 variant.
564 (END): Likewise.
565 (HIDDEN): Likewise.
566 (CALL): Likewise.
567 (BASE): Likewise.
568 (LR_SAVE): Likewise.
569
3cbe17f7
AM
5702013-09-20 Alan Modra <amodra@gmail.com>
571
572 * configure: Regenerate.
573
6fb471d8
TR
5742013-08-30 Torvald Riegel <triegel@redhat.com>
575
576 * config/posix/rwlock.cc: Fix initialization order.
577
bec9ec3f
TR
5782013-08-30 Torvald Riegel <triegel@redhat.com>
579
580 * libitm_i.h (gtm_thread): Assign an asm name to serial_lock.
581 (htm_fastpath): Assign an asm name.
582 * libitm.h (_ITM_codeProperties): Add non-ABI flags used by custom
583 HTM fast paths.
584 (_ITM_actions): Likewise.
585 * config/x86/target.h (HTM_CUSTOM_FASTPATH): Enable custom fastpath on
586 x86_64.
587 * config/x86/sjlj.S (_ITM_beginTransaction): Add custom HTM fast path.
588 * config/posix/rwlock.h (gtm_rwlock): Update comments. Move summary
589 field to the start of the structure.
590 * config/linux/rwlock.h (gtm_rwlock): Update comments.
591 * beginend.cc (gtm_thread::begin_transaction): Add retry policy
592 handling for custom HTM fast paths.
593
1869217f
AK
5942013-08-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
595 Revert:
596 2013-08-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
597
598 * configure.tgt: Add -msoft-float to XCFLAGS.
599
d62d5152
AK
6002013-08-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
601
602 * configure.tgt: Add -msoft-float to XCFLAGS.
603
aaaffb2a
AK
6042013-07-29 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
605
606 * config/s390/target.h (htm_begin, htm_commit, htm_abort)
607 (htm_transaction_active): Enable zEC12 instructions in the
608 assembler.
609 * configure.tgt: Remove -Wa,-march=zEC12 from XCFLAGS.
610
167f68ed
AK
6112013-07-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
612
613 * acinclude.m4: Add htm asm check for s390.
614 * configure.tgt: Add -mhtm and -Wa,-march=zEC12 to the options.
615 * configure: Regenerate.
616 * config/s390/target.h: Remove __HTM__ check.
617 (htm_available): Call getauxval to get hwcaps and check whether
618 HTM is available or not.
619
0258b6e4
PB
6202013-07-15 Peter Bergner <bergner@vnet.ibm.com>
621
622 * acinclude.m4 (LIBITM_CHECK_AS_HTM): New.
623 * configure.ac: Use it.
624 (AC_CHECK_HEADERS): Check for sys/auxv.h.
625 (AC_CHECK_FUNCS): Check for getauxval.
626 * config.h.in, configure: Rebuild.
627 * configure.tgt (target_cpu): Add -mhtm to XCFLAGS.
628 * config/powerpc/target.h: Include sys/auxv.h and htmintrin.h.
629 (USE_HTM_FASTPATH): Define.
630 (_TBEGIN_STARTED, _TBEGIN_INDETERMINATE, _TBEGIN_PERSISTENT,
631 _HTM_RETRIES) New macros.
632 (htm_abort, htm_abort_should_retry, htm_available, htm_begin, htm_init,
633 htm_begin_success, htm_commit, htm_transaction_active): New functions.
634
5a3fe9b6
AK
6352013-06-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
636
637 * config/s390/target.h: Include htmintrin.h.
638 (_HTM_ITM_RETRIES): New macro definition.
639 (htm_available, htm_init, htm_begin, htm_begin_success)
640 (htm_commit, htm_abort, htm_abort_should_retry): New functions.
641
6c84d576
IS
6422013-06-20 Iain Sandoe <iain@codesourcery.com>
643 Cesar Philippidis <cesar@codesourcery.com>
644
645 * testsuite/lib/libitm.exp: Reorder lib loads into dependency order.
646 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
647 * testsuite/libitm.c/c.exp: load_gcc_lib gcc-dg.exp.
648 * testsuite/libitm.c++/c++.exp: load_gcc_lib gcc-dg.exp.
649
480c696b
TR
6502013-06-20 Torvald Riegel <triegel@redhat.com>
651
652 * query.cc (_ITM_inTransaction): Abort when using the HTM fastpath.
653 (_ITM_getTransactionId): Same.
654 * config/x86/target.h (htm_transaction_active): New.
655
b1db457b
TR
6562013-06-20 Torvald Riegel <triegel@redhat.com>
657
658 PR libitm/57643
659 * beginend.cc (gtm_thread::begin_transaction): Handle reentrancy in
660 the HTM fastpath.
661
51249377
GP
6622013-03-31 Gerald Pfeifer <gerald@pfeifer.com>
663
664 PR bootstrap/56714
665 * local_atomic (__always_inline): Always define our version.
666 (__calculate_memory_order): Mark inline.
667 (atomic_thread_fence): Ditto.
668 (atomic_signal_fence): Ditto.
669 (atomic_bool::atomic_flag_test_and_set_explicit): Ditto.
670 (atomic_bool::atomic_flag_clear_explicit): Ditto.
671 (atomic_bool::atomic_flag_test_and_set): Ditto.
672 (atomic_bool::atomic_flag_clear): Ditto.
673
f818478b
JJ
6742013-04-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
675
676 * config/s390/sjlj.S: New file.
677 * config/s390/target.h: New file.
678 * configure.tgt: Set options for S/390.
679
ab4425be
AK
6802013-03-23 Andi Kleen <ak@linux.intel.com>
681
682 * local_atomic (__always_inline): Add.
683 (__calculate_memory_order, atomic_thread_fence,
684 atomic_signal_fence, test_and_set, clear, store, load,
685 exchange, compare_exchange_weak, compare_exchange_strong,
686 fetch_add, fetch_sub, fetch_and, fetch_or, fetch_xor):
687 Add __always_inline to force inlining.
688
6c59ffd1
IS
6892013-02-11 Iain Sandoe <iain@codesourcery.com>
690 Jack Howarth <howarth@bromo.med.uc.edu>
691 Patrick Marlier <patrick.marlier@gmail.com>
692
693 PR libitm/55693
694 * alloc_cpp.cc: Enable function declarations on darwin.
695 * eh_cpp.cc: Likewise.
696
75f9527c
RS
6972013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
698
699 Update copyright years.
700
64fbcc74
TR
7012012-11-09 Torvald Riegel <triegel@redhat.com>
702
703 * beginend.cc (htm_fastpath): New.
704 (gtm_thread::begin_transaction, _ITM_commitTransaction,
705 _ITM_commitTransactionEH): Add HTM fastpath handling.
706 * config/linux/rwlock.h (gtm_rwlock.is_write_locked): New.
707 * config/posix/rwlock.h (gtm_rwlock.is_write_locked): New.
708 * config/x86/target.h (htm_available, htm_init, htm_begin_success,
709 htm_begin, htm_commit, htm_abort, htm_abort_should_retry): New.
710 * configure.tgt: Add -mrtm to XCFLAGS.
711 * method-serial.cc (htm_mg, o_htm_mg, htm_dispatch, dispatch_htm): New.
712 (gtm_thread::serialirr_mode): Add HTM fastpath handling.
713 * libitm_i.h (htm_fastpath, dispatch_htm): Declare.
714 * retry.cc (parse_default_method): Add HTM method parsing.
715 (gtm_thread::number_of_threads_changed): Use HTM by default if
716 available.
717
b9efc877
TS
7182012-11-04 Thomas Schwinge <thomas@codesourcery.com>
719
720 * configure: Regenerate.
721
07d3b5c8
RH
7222012-10-31 Richard Henderson <rth@redhat.com>
723
724 * acinclude.m4 (LIBITM_CHECK_AS_RTM): New.
725 * configure.ac: Use it.
726 * config.h.in, configure: Rebuild.
727 * testsuite/Makefile.in: Rebuild.
728
eb00e959
TR
7292012-10-24 Torvald Riegel <triegel@redhat.com>
730
731 * libitm.texi: Clarify ABI requirements for data-logging functions.
732
b679c813
TR
7332012-10-24 Torvald Riegel <triegel@redhat.com>
734
735 * retry.cc (gtm_thread::decide_begin_dispatch): Ask dispatch whether
736 it requires serial mode instead of assuming that for certain
737 dispatchs.
738 * dispatch.h (abi_dispatch::requires_serial): New.
739 (abi_dispatch::abi_dispatch): Adapt.
740 * method-gl.cc (gl_wt_dispatch::gl_wt_dispatch): Adapt.
741 * method-ml.cc (ml_wt_dispatch::ml_wt_dispatch): Same.
742 * method-serial.cc (serialirr_dispatch::serialirr_dispatch,
743 serial_dispatch::serial_dispatch,
744 serialirr_onwrite_dispatch::serialirr_onwrite_dispatch): Same.
745
0c609a21
UB
7462012-10-02 Uros Bizjak <ubizjak@gmail.com>
747
748 * config/x86/target.h (struct gtm_jmpbuf): Merge x86_64
749 and ia32 declarations some more.
750 * config/x86/sjlj.S (_ITM_beginTransaction): Move ret to common code.
751
c0758df9
JJ
7522012-09-20 Jakub Jelinek <jakub@redhat.com>
753
754 PR other/43620
755 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
756 * configure: Regenerate.
757 * Makefile.in: Regenerate.
758
690c45b8
DE
7592012-09-14 David Edelsohn <dje.gcc@gmail.com>
760
761 * configure: Regenerated.
762
68a12ef3
UB
7632012-07-31 Uros Bizjak <ubizjak@gmail.com>
764
765 * config/x86/target.h (cpu_relax): Use __builtin_ia32_pause.
766
f2f9a097
PM
7672012-05-21 Patrick Marlier <patrick.marlier@gmail.com>
768
769 * eh_cpp.cc: Fix __cxa_end_catch declaration.
770
e6d5f8c9
L
7712012-05-16 H.J. Lu <hongjiu.lu@intel.com>
772
773 * configure: Regenerated.
774
0100e3b3
L
7752012-04-04 H.J. Lu <hongjiu.lu@intel.com>
776
777 PR libitm/52854
778 * config/x86/target.h (gtm_jmpbuf): Replace long with long long
779 for x86-64.
780
2f6935f4
TG
7812012-04-03 Tristan Gingold <gingold@adacore.com>
782
783 * configure: Regenerate.
784
b9c23a61
L
7852012-03-31 H.J. Lu <hongjiu.lu@intel.com>
786
787 PR bootstrap/52812
788 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
789
6a26a74d
BRF
7902012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
791
792 * testsuite/lib/libitm.exp: load fortran-modules.exp
793
b24513a1
RO
7942012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
795
796 * configure.tgt (*-*-irix6*): Remove.
797
0d23faac
TR
7982012-03-13 Torvald Riegel <triegel@redhat.com>
799
800 PR libitm/52526
801 * config/linux/rwlock.cc (GTM::gtm_rwlock::read_lock): Fix lost
802 wake-up.
803
5c30094f
RO
8042012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
805
806 * configure.tgt (*-*-osf*): Remove.
807 * configure: Regenerate.
808
d28b0b08
TR
8092012-03-05 Torvald Riegel <triegel@redhat.com>
810
811 * dispatch.h (CREATE_DISPATCH_METHODS_MEM): Don't execute
812 memtransfer/memset if size isn't larger than zero.
813
034209bc
TR
8142012-03-02 Torvald Riegel <triegel@redhat.com>
815
816 * libitm.texi: Link to specification and add a usage example.
817
bc8da6ba
TR
8182012-02-24 Torvald Riegel <triegel@redhat.com>
819
820 * retry.cc (GTM::gtm_thread::number_of_threads_changed): Change
821 default dispatch for more than 1 thread to ml_wt.
822
63b08143
TR
8232012-02-20 Torvald Riegel <triegel@redhat.com>
824
825 * method-gl.cc (gl_wt_dispatch::orec): Put on separate cacheline.
826
4c9bd6ac
TR
8272012-02-20 Torvald Riegel <triegel@redhat.com>
828
829 * method-gl.cc (gl_wt_dispatch::rollback): Optimize memory orders.
830
651ff415
TR
8312012-02-20 Torvald Riegel <triegel@redhat.com>
832
833 * method-gl.cc (gl_wt_dispatch::trycommit): Remove handling of
834 serial mode corner cases made obsolete by prior gtm_rwlock changes.
835 (gl_wt_dispatch.rollback): Same.
836
efee0113
TR
8372012-02-20 Torvald Riegel <triegel@redhat.com>
838
839 * method-gl.cc (gl_wt_dispatch::pre_write): Optimize memory orders.
840
33a03827
TR
8412012-02-20 Torvald Riegel <triegel@redhat.com>
842
843 * method-gl.cc (gl_wt_dispatch::memtransfer_static): Add missing undo
844 for RfW src. Optimize number of calls to gtm_thr.
845
a19db3f2
TR
8462012-02-20 Torvald Riegel <triegel@redhat.com>
847
848 * beginend.cc (GTM::gtm_thread::begin_transaction): Move serial lock
849 acquisition to ...
850 * retry.cc (GTM::gtm_thread::decide_begin_dispatch): ... here.
851 (default_dispatch): Make atomic.
852 (GTM::gtm_thread::set_default_dispatch): Access atomically.
853 (GTM::gtm_thread::decide_retry_strategy): Access atomically and
854 use decide_begin_dispatch() if default_dispatch might have changed.
855 (GTM::gtm_thread::number_of_threads_changed): Initialize
856 default_dispatch here.
857
e948a1fb
IS
8582012-02-15 Iain Sandoe <iains@gcc.gnu.org>
859 Patrick Marlier <patrick.marlier@gmail.com>
860
861 PR libitm/52220
862 * alloc_cpp.cc: No dummy definitions for darwin.
863 * eh_cpp.cc: Likewise.
864
72824d5e
RH
8652012-02-14 Richard Henderson <rth@redhat.com>
866
867 * config/x86/target.h (GTM_longjmp): Correct the .cfi corrections.
868
1f319dba
UB
8692012-02-14 Uros Bizjak <ubizjak@gmail.com>
870
871 * config/x86/target.h (GTM_longjmp): Correct .cfi directives.
872
31772c95
TR
8732012-02-14 Torvald Riegel <triegel@redhat.com>
874
875 * libitm_i.h (GTM::gtm_rwlog_entry): New.
876 (GTM::gtm_thread): Add read and write logs.
877 (GTM::dispatch_ml_wt): Declare.
878 * retry.cc (parse_default_method): Support ml_wt.
879 * method-ml.cc: New file.
880 * Makefile.am: Add method-ml.cc.
881 * Makefile.in: Regenerate.
882
5b9cf5d2
TR
8832012-02-14 Torvald Riegel <triegel@redhat.com>
884
885 * dispatch.h (GTM::abi_dispatch::supports): New.
886 (GTM::method_group::reinit): New.
887 * retry.cc (GTM::gtm_thread::decide_retry_strategy): Use reinit().
888 (GTM::gtm_thread::number_of_threads_changed): Check that the method
889 supports the current situation.
890
7d33bcb7
TR
8912012-02-14 Torvald Riegel <triegel@redhat.com>
892
893 * util.cc (GTM::xcalloc): New.
894 * common.h (GTM::xcalloc): Declare.
895
62513f7b
EB
8962012-02-14 Eric Botcazou <ebotcazou@adacore.com>
897
898 * config/sparc/target.h (cpu_relax): Read from CC register.
899 * config/sparc/sjlj.S (GTM_longjmp): Restore %fp atomically.
900
9012012-02-14 Uros Bizjak <ubizjak@gmail.com>
d4a698d4
UB
902
903 * config/x86/target.h (GTM_longjmp): Jump indirect from memory address.
904
f3f5e3c3
EB
9052012-02-13 Eric Botcazou <ebotcazou@adacore.com>
906
62513f7b 907 * configure.tgt (target_cpu): Handle sparc and sparc64/sparcv9.
f3f5e3c3
EB
908 * config/sparc/cacheline.h: New file.
909 * config/sparc/target.h: Likewise.
910 * config/sparc/sjlj.S: Likewise.
911 * config/linux/sparc/futex_bits.h: Likewise.
912
9132012-02-13 Eric Botcazou <ebotcazou@adacore.com>
255a9a1b
EB
914
915 * configure.ac (link_itm): Fix comment.
916 * configure: Regenerate.
917 * testsuite/lib/libitm.exp: Do not pass -litm for the link.
918
681355e3
RO
9192012-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
920
fc985d2f 921 PR libitm/51822
62513f7b 922 * testsuite/libitm.c++/c++.exp (lang_link_flags): Add -shared-libgcc.
681355e3
RO
923 Correct libgomp references.
924
999bcff5
TR
9252012-01-24 Torvald Riegel <triegel@redhat.com>
926
927 * config/linux/rwlock.cc (GTM::gtm_rwlock::write_unlock): Fix reader
928 wake-up.
929
9848887a
UB
9302012-01-24 Uros Bizjak <ubizjak@gmail.com>
931
932 * config/x86/target.h (gtm_jmpbuf) [__x86_64__]: Move rip to the
933 end of structure.
934 * config/x86/sjlj.S (_ITM_beginTransaction) [__x86_64__]: Update
935 offset values. Do not copy return address. Decrement stack
936 by 56 bytes only.
937 (GTM_longjump) [__x86_64__]: Update offset values.
938
5752c591
UB
9392012-01-23 Uros Bizjak <ubizjak@gmail.com>
940
941 PR libitm/51830
942 * config/x86/sjlj.S (_ITM_beginTransaction) [!__x86_64__]: Load
943 the first function argument to %eax.
944
61e72ca4
RO
9452012-01-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
946
947 * libitm.h (_ITM_getThreadnum): Remove.
948 * libitm.map (_ITM_getThreadnum): Remove from LIBITM_1.0.
949
9ce91011
RO
9502012-01-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
951
952 * clearcap.map: New file.
953 * acinclude.m4 (LIBITM_CHECK_LINKER_HWCAP): New test.
954 * configure.ac: Call it.
955 Clear HWCAP_LDFLAGS if defaulting to -mavx.
956 * Makefile.am (AM_LDFLAGS): Add $(HWCAP_LDFLAGS)
957 * configure: Regenerate.
958 * Makefile.in: Regenerate.
959 * testsuite/Makefile.in: Regenerate.
960
3b4f05ec
RO
9612012-01-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
962
963 PR libitm/51173
964 * testsuite/libitm.c++/static_ctor.C: Skip test, note PR, remove
965 include, exclude options.
966
aab74ee9
TR
9672012-01-14 Torvald Riegel <triegel@redhat.com>
968
969 * local.cc (GTM::gtm_undolog::rollback): Truncate undo log after
970 rolling back.
971 * containers.h (GTM::vector::set_size): New.
972
07b6642b
TR
9732012-01-14 Torvald Riegel <triegel@redhat.com>
974
975 PR libitm/51855
976 * config/generic/tls.h (GTM::mask_stack_top): New.
977 (GTM::mask_stack_bottom): Declare.
978 * config/generic/tls.c (GTM::mask_stack_bottom): New.
979 * local.cc (gtm_undolog::rollback): Filter out any updates that
980 overlap the libitm stack. Add current transaction as parameter.
981 * libitm_i.h (GTM::gtm_undolog::rollback): Adapt.
982 * beginend.cc (GTM::gtm_thread::rollback): Adapt.
983 * testsuite/libitm.c/stackundo.c: New test.
984
8377e5e5
RH
9852012-01-10 Richard Henderson <rth@redhat.com>
986
987 * libitm_i.h (_Unwind_DeleteException): Declare weak.
988 * eh_cpp.cc (_Unwind_DeleteException): Define for
989 !HAVE_ELF_STYLE_WEAKREF.
990
11f30bb0
TR
9912012-01-08 Torvald Riegel <triegel@redhat.com>
992
993 * local.cc (GTM_LB): Use GTM::gtm_undolog.
994 (GTM::gtm_thread::drop_references_undolog): Remove.
995 (GTM::gtm_thread::commit_undolog,
996 GTM::gtm_thread::rollback_undolog): Move to ...
997 * libitm_i.h (GTM::gtm_undolog): ...here. New.
998 (GTM::gtm_undolog_entry): Remove.
999 (GTM::gtm_thread): Adapt.
1000 * beginend.cc (GTM::gtm_thread::rollback): Adapt.
1001 (GTM::gtm_thread::trycommit): Adapt.
1002 * method-serial.cc (serial_dispatch::log): Adapt.
1003 * method-gl.cc (gl_wt_dispatch::pre_write): Adapt.
1004 (gl_wt_dispatch::store): Fix likely/unlikely.
1005 * containers.h (GTM::vector::resize): Add additional_capacity
1006 parameter and handle it.
1007 (GTM::vector::resize_noinline): New/adapt.
1008 (GTM::vector::push): New.
1009
a32e5e93
RH
10102012-01-06 Richard Henderson <rth@redhat.com>
1011
1012 * configure.tgt: Support powerpc-linux and powerpc-darwin.
1013 * config/linux/powerpc/futex_bits.h: New file.
1014 * config/powerpc/cacheline.h: New file.
1015 * config/powerpc/sjlj.S: New file.
1016 * config/powerpc/target.h: New file.
1017 * config/generic/asmcfi.h (cfi_offset): New.
1018 (cfi_restore, cfi_undefined): New.
1019
1f53a8e6
AH
10202012-01-05 Aldy Hernandez <aldyh@redhat.com>
1021
1022 PR other/51171
1023 * testsuite/libitm.c/reentrant.c: Remove xfail.
1024 (thread): Pass x to pure().
be223aaf 1025 From Patrik Marlier <patrick.marlier@gmail.com>.
1f53a8e6 1026
c898f7b8
TR
10272011-12-24 Torvald Riegel <triegel@redhat.com>
1028
1029 * beginend.cc (GTM::gtm_thread::trycommit): Don't enforce
1030 privatization safety if already in serial mode.
1031
610e3901
TR
10322011-12-24 Torvald Riegel <triegel@redhat.com>
1033
1034 * beginend.cc (GTM::gtm_thread::restart): Add and handle
1035 finish_serial_upgrade parameter.
1036 * libitm.h (GTM::gtm_thread::restart): Adapt declaration.
1037 * config/linux/rwlock.cc (GTM::gtm_rwlock::write_lock_generic):
1038 Don't unset reader flag.
1039 (GTM::gtm_rwlock::write_upgrade_finish): New.
1040 * config/posix/rwlock.cc: Same.
1041 * config/linux/rwlock.h (GTM::gtm_rwlock::write_upgrade_finish):
1042 Declare.
1043 * config/posix/rwlock.h: Same.
1044 * method-serial.cc (GTM::gtm_thread::serialirr_mode): Unset reader
1045 flag after commit or after rollback when restarting.
1046
799142bf
TR
10472011-12-24 Torvald Riegel <triegel@redhat.com>
1048
1049 * beginend.cc (GTM::gtm_thread::begin_transaction): Add comment.
1050 (GTM::gtm_thread::try_commit): Changed memory order.
1051 * config/linux/alpha/futex_bits.h (sys_futex0): Take atomic int
1052 as parameter.
1053 * config/linux/x86/futex_bits.h (sys_futex0): Same.
1054 * config/linux/sh/futex_bits.h (sys_futex0): Same.
1055 * config/linux/futex_bits.h (sys_futex0): Same.
1056 * config/linux/futex.cc (futex_wait, futex_wake): Same.
1057 * config/linux/futex.h (futex_wait, futex_wake): Same.
1058 * config/linux/rwlock.h (gtm_rwlock::writers,
1059 gtm_rwlock::writer_readers, gtm_rwlock::readers): Change to atomic
1060 ints.
1061 * config/linux/rwlock.cc (gtm_rwlock::read_lock,
1062 gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock,
1063 gtm_rwlock::write_unlock): Fix memory orders and fences.
1064 * config/posix/rwlock.cc (gtm_rwlock::read_lock,
1065 gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock,
1066 gtm_rwlock::write_unlock): Same.
1067 * config/linux/rwlock.h (gtm_rwlock::summary): Change to atomic int.
1068 * method-gl.cc (gl_mg::init, gl_wt_dispatch::memtransfer_static,
1069 gl_wt_dispatch::memset_static, gl_wt_dispatch::begin_or_restart):
1070 Add comments.
1071 (gl_wt_dispatch::pre_write, gl_wt_dispatch::validate,
1072 gl_wt_dispatch::load, gl_wt_dispatch::store,
1073 gl_wt_dispatch::try_commit, gl_wt_dispatch::rollback): Fix memory
1074 orders and fences. Add comments.
1075
b0f96e35
JJ
10762011-12-21 Jakub Jelinek <jakub@redhat.com>
1077
1078 * Makefile.am (AM_CXXFLAGS): Put $(XCFLAGS) first.
1079 * Makefile.in: Regenerated.
1080
cc163247
KK
10812011-12-17 Kaz Kojima <kkojima@gcc.gnu.org>
1082
1083 * configure.tgt: Add sh* case.
1084 * config/sh/target.h: New file.
1085 * config/sh/sjlj.S: New file.
1086 * config/linux/sh/futex_bits.h: New file.
1087
aebac0ca
RH
10882011-12-14 Richard Henderson <rth@redhat.com>
1089
1090 * config/arm/hwcap.h, config/arm/hwcap.cc: New files.
1091 * config/arm/sjlj.S, config/arm/target.h: New files.
1092 * config/generic/asmcfi.h (cfi_adjust_cfa_offset): New.
1093 (cfi_rel_offset): New.
1094 * config/linux/futex_bits.h: New file.
1095 * config/linux/futex.cc: Include futex_bits.h here...
1096 * config/linux/futex.h: ... not here.
1097 * Makefile.am (libitm_la_SOURCES) <ARCH_ARM>: Add hwcap.cc.
1098 * configure.ac (ARCH_AM): New conditional.
1099 * Makefile.in, configure: Rebuild.
1100 * configure.tgt: Handle ARM.
1101
36cfbee1
RH
11022011-12-13 Richard Henderson <rth@redhat.com>
1103
5d9d05d3
RH
1104 * config/posix/rwlock.cc (gtm_rwlock::write_lock_generic): Fix
1105 signed/unsigned comparison werror.
1106
36cfbee1
RH
1107 * local_atomic: New file.
1108 * libitm_i.h: Include it.
1109 (gtm_thread::shared_state): Use atomic template.
1110 * beginend.cc (GTM::gtm_clock): Use atomic template.
1111 (global_tid): Use atomic template if 64-bit atomics available.
1112 (gtm_thread::gtm_thread): Update shared_state access.
1113 (gtm_thread::trycommit): Likewise.
1114 (choose_code_path): Update global_tid access.
1115 * method-gl.cc (gl_mg::orec): Use atomic template. Update all users.
1116 * stmlock.h (GTM::gtm_clock): Use atomic template.
1117 (gtm_get_clock, gtm_inc_clock): Update accesses.
1118 * config/linux/rwlock.cc (gtm_rwlock::read_lock): Remove
1119 redundant __sync_synchronize after atomic shared_state access.
1120 * config/posix/rwlock.cc (gtm_rwlock::read_lock): Likewise.
1121 (gtm_rwlock::write_lock_generic): Likewise.
1122 (gtm_rwlock::read_unlock): Likewise.
1123 * config/alpha/target.h (atomic_read_barrier): Remove.
1124 (atomic_write_barrier): Remove.
1125 * config/x86/target.h (atomic_read_barrier): Remove.
1126 (atomic_write_barrier): Remove.
1127
062f93f2
RH
11282011-11-30 Richard Henderson <rth@redhat.com>
1129
1130 * libitm_i.h (GTM_longjmp): Swap first and second arguments.
1131 * beginend.c (_ITM_abortTransaction): Update to match.
1132 (GTM::gtm_thread::restart): Likewise.
1133 * config/alpha/sjlj.S (GTM_longjmp): Likewise.
1134 * config/x86/sjlj.S (GTM_longjmp): Likewise.
1135
bd8aaa86
IS
11362011-11-23 Iain Sandoe <iains@gcc.gnu.org>
1137
1138 * Makefile.am (libitm_la_LDFLAGS): Remove "-no-undefined".
1139 * Makefile.in: Regenerate.
1140
8cf36bb3
IS
11412011-11-22 Iain Sandoe <iains@gcc.gnu.org>
1142
1143 * configure.ac: Use GCC_CHECK_ELF_STYLE_WEAKREF.
1144 * alloc_cpp.cc: Generate dummy functions if we don't
1145 HAVE_ELF_STYLE_WEAKREF.
1146 * eh_cpp.cc: Likewise.
1147 * configure: Regenerate.
1148 * aclocal.m4: Likewise.
1149 * config.h.in: Likewise.
1150 * Makefile.in: Likewise.
1151 * testsuite/Makefile.in: Likewise.
1152
0b41ebef
IS
11532011-11-22 Iain Sandoe <iains@gcc.gnu.org>
1154
1155 * config/x86/sjlj.S (CONCAT1, CONCAT2, SYM): Respond to
1156 __USER_LABEL_PREFIX__ for targets that use it.
8cf36bb3 1157 (TYPE, SIZE, HIDDEN): New macros to assist on non-elf targets.
0b41ebef
IS
1158 (_ITM_beginTransaction): Use SYM, TYPE, SIZE macros to assist
1159 in portability to non-elf targets.
8cf36bb3 1160 (GTM_longjmp): Likewise.
0b41ebef
IS
1161 * libitm_i.h (begin_transaction): Apply __USER_LABEL_PREFIX__
1162 where required.
1163
9c9d352a
IS
11642011-11-22 Iain Sandoe <iains@gcc.gnu.org>
1165
1166 * testsuite/libitm.c/memcpy-1.c: Allow for MAP_ANON spelling.
1167 * testsuite/libitm.c/memset-1.c: Likewise.
1168
c6084f68
AT
11692011-11-21 Andreas Tobler <andreast@fgznet.ch>
1170
1171 * configure: Regenerate.
1172
adcd36bc
RO
11732011-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1174
1175 * acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Handle gold.
1176 (LIBITM_ENABLE_SYMVERS): Handle sun style.
1177 * Makefile.am: Handle sun style versioning.
1178 (libitm_la_LINK): Add $(libitm_la_LDFLAGS).
1179 * configure: Regenerate.
1180 * Makefile.in: Regenerate.
1181
59659b59
RO
11822011-11-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1183
1184 * config/generic/asmcfi.h: Fix comment.
1185 * config/x86/sjlj.S (_ITM_beginTransaction): Provide ELF PIC code
1186 sequence without .hidden support, error for non-ELF targets.
1187 (GTM_longjmp) [__ELF__]: Only use .hidden if
1188 HAVE_ATTRIBUTE_VISIBILITY.
1189
d846e425
RO
11902011-11-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1191
1192 * alloc_cpp.cc [__osf__] (_ZnwX, _ZdlPv, _ZnaX, _ZdaPv,
1193 _ZnwXRKSt9nothrow_t, _ZdlPvRKSt9nothrow_t, _ZdaPvRKSt9nothrow_t):
1194 Dummy functions.
1195 * eh_cpp.cc [__osf__] (__cxa_allocate_exception, __cxa_throw,
1196 __cxa_begin_catch, __cxa_end_catch, __cxa_tm_cleanup): Likewise.
1197
80713347
UB
11982011-11-16 Uros Bizjak <ubizjak@gmail.com>
1199
1200 PR bootstrap/51098
1201 * acinclude.m4 (LIBITM_CHECK_AS_AVX): Fix target selector.
1202 * configure: Regenerate.
1203
2841f85e
L
12042011-11-14 H.J. Lu <hongjiu.lu@intel.com>
1205
1206 * testsuite/lib/libitm.exp: Check ia32 instead of ilp32.
1207
8851b429
RO
12082011-11-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1209
1210 * config/alpha/sjlj.S (_ITM_beginTransaction) [!__ELF__]: Don't use
1211 .hidden.
1212 (.note.GNU-stack): Only use if __linux__.
1213 * alloc_cpp.cc [!__osf__] (_ZnaXRKSt9nothrow_t): Dummy function.
1214 * testsuite/libitm.c/notx.c: Use dg-options "-pthread".
1215 * testsuite/libitm.c/reentrant.c: Likewise.
1216 * testsuite/libitm.c/simple-2.c: Likewise.
1217 * testsuite/libitm.c/txrelease.c: Likewise.
1218 * testsuite/libitm.c++/static_ctor.C: Likewise.
1219
d4b17902
RH
12202011-11-10 Richard Henderson <rth@redhat.com>
1221
1222 * config/x86/x86_avx.cc: Remove #undef __AVX__ hack. Tidy comments.
1223 * Makefile.am (x86_avx.lo): Only add -mavx if ARCH_X86_AVX.
1224 * configure.ac (ARCH_X86_AVX): New conditional.
1225 * Makefile.in, configure: Rebuild.
1226
430616e7
RH
12272011-11-09 Richard Henderson <rth@redhat.com>
1228
1229 * acinclude.m4 (LIBITM_CHECK_AS_AVX): New.
1230 * configure.ac: Use it.
1231 * config.h.in, configure: Rebuild.
1232 * config/x86/x86_avx.cc: Handle !HAVE_AS_AVX.
1233
79b1edb6
RH
12342011-11-09 Richard Henderson <rth@redhat.com>
1235
1236 * barrier.tpl, memcpy.cc, memset.cc, method-wbetl.cc: Remove file.
1237 * config/alpha/unaligned.h: Remove file.
1238 * config/generic/unaligned.h: Remove file.
1239 * config/x86/unaligned.h: Remove file.
1240 * config/generic/cachepage.h: Remove file.
1241 * config/posix/cachepage.cc: Remove file.
1242 * config/generic/cacheline.cc: Remove file.
1243 * config/x86/cacheline.cc: Remove file.
1244 * config/generic/cacheline.h (gtm_cacheline): Remove the
1245 store_mask, copy_mask, copy_mask_wb methods.
1246 * config/x86/cacheline.h: Likewise.
1247 * config/alpha/cacheline.h: Fall back to generic after setting size.
1248 * config/generic/tls.cc (gtm_mask_stack): Remove.
1249 * config/x86/x86_avx.cc (GTM_vpperm_shift): Remove.
1250 (GTM_vpalignr_table): Remove.
1251 * config/x86/x86_sse.cc (GTM_palignr_table): Remove.
1252 (GTM_pshift_table): Remove.
1253 * config/libitm_i.h: Don't include cachepage.h.
1254 * Makefile.am (libitm_la_SOURCES): Remove cacheline.cc, cachepage.cc
1255 * Makefile.in, testsuite/Makefile.in: Rebuild.
1256
4bdd090f
RH
12572011-11-09 Richard Henderson <rth@redhat.com>
1258
8ee9fac2
RH
1259 * config/x86/cacheline.h (gtm_cacheline::store_mask): Use .byte
1260 to emit branch prediction hint.
1261
9bdc6343
RH
1262 * config/x86/sjlj.S: Protect elf directives with __ELF__.
1263 Protect .note.GNU-stack with __linux__.
1264
4bdd090f
RH
1265 * configure.ac (GCC_AS_CFI_PSEUDO_OP): Test it.
1266 * configure, aclocal.m4, config.h.in: Rebuild.
1267 * config/generic/asmcfi.h: New file.
1268 * config/x86/sjlj.S: Use it.
1269
4408b086
RH
12702011-11-08 Richard Henderson <rth@redhat.com>
1271
1272 * local.cc (_ITM_LB): Use a normal call, not a function alias.
1273
01f3428c
RH
12742011-11-08 Richard Henderson <rth@redhat.com>
1275
3d3b05ff
RH
1276 * configure.tgt: Test correct directory for supported cpus.
1277
01f3428c
RH
1278 * configure.ac: Exit if unsupported.
1279 * configure: Rebuild.
1280 * configure.tgt: Delete boilerplate from libgomp for unsupported
1281 targets. Set UNSUPPORTED for unsupported targets.
1282
07f03cd3
RO
12832011-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1284
1285 * configure.tgt: Handle i386 like i[456]86.
1286 * config/generic/tls.h [!HAVE_ARCH_GTM_THREAD] (gtm_thr): Don't
1287 take address.
1288 * config/generic/tls.cc [!HAVE_ARCH_GTM_THREAD ||
1289 !HAVE_ARCH_GTM_THREAD_DISP] (_gtm_thr_tls): New variable.
1290
0a35513e
AH
12912011-11-05 Aldy Hernandez <aldyh@redhat.com>
1292
1293 * method-wbetl.cc: Update copyright notice.
1294 * aatree.cc: Same.
1295 * util.cc: Same.
1296 * libitm.h: Same.
1297 * memset.cc: Same.
1298 * eh_cpp.cc: Same.
1299 * barrier.tpl: Same.
1300 * useraction.cc: Same.
1301 * stmlock.h: Same.
1302 * memcpy.cc: Same.
1303 * common.h: Same.
1304 * config/generic/tls.cc: Same.
1305 * config/generic/cacheline.h: Same.
1306 * config/generic/cachepage.h: Same.
1307 * config/generic/cacheline.cc: Same.
1308 * config/generic/unaligned.h: Same.
1309 * config/x86/cacheline.h: Same.
1310 * config/x86/cacheline.cc: Same.
1311 * config/x86/unaligned.h: Same.
1312 * config/alpha/cacheline.h: Same.
1313 * config/alpha/unaligned.h: Same.
1314 * config/alpha/sjlj.S: Same.
1315 * config/posix/cachepage.cc: Same.
1316 * config/linux/futex.h: Same.
1317 * config/linux/alpha/futex_bits.h: Same.
1318
13192011-11-04 Torvald Riegel <triegel@redhat.com>
1320
1321 * libitm.texi: No cover text and invariant sections.
1322
13232011-11-03 Richard Henderson <rth@redhat.com>
1324
1325 * local_type_traits: New file.
1326 * libitm_i.h: Use it. Use C headers, not C++ wrappers.
1327
13282011-11-03 Richard Henderson <rth@redhat.com>
1329
1330 * configure.ac: Don't test for gfortran.
1331 * configure: Rebuild.
1332
1333 * testsuite/lib/libitm.exp: Don't include gfortran-dg.exp.
1334 * testsuite/libitm.c++/c++.exp: Don't use gfortran-dg-runtest.
1335
13362011-11-03 Aldy Hernandez <aldyh@redhat.com>
1337
1338 * testsuite/libitm.c/memcpy-1.c: Add copyright notice.
1339 * testsuite/libitm.c/memset-1.c: Same.
1340 * testsuite/libitm.c/c.exp: Same.
1341 * testsuite/lib/libitm-dg.exp: Same.
1342 * testsuite/lib/libitm.exp: Same.
1343 * testsuite/libitm.c++/c++.exp: Same.
1344
13452011-11-03 Aldy Hernandez <aldyh@redhat.com>
1346
1347 * testsuite/config/default.exp: Update copyright date.
1348 * configure.ac: Add copyright info.
1349 * configure.tgt: Same.
1350
13512011-11-03 Aldy Hernandez <aldyh@redhat.com>
1352
1353 * testsuite/libitm.c/reentrant.c: XFAIL.
1354 * testsuite/libitm.c++/static_ctor.C: XFAIL.
1355
13562011-10-29 Torvald Riegel <triegel@redhat.com>
1357
1358 * beginend.cc (GTM::gtm_thread::rollback): Add aborting flag and
1359 handle aborts.
1360 (_ITM_abortTransaction): Handle aborts of outer transactions.
1361 * libitm_i.h: Same.
1362 * eh_cpp.cc (GTM::gtm_thread::revert_cpp_exceptions): Fix assertion.
1363 * libitm.texi: Document aborts of outer transactions.
1364 * testsuite/libitm.c/cancel.c: New file.
1365
13662011-10-19 Torvald Riegel <triegel@redhat.com>
1367
1368 * testsuite/*: Change __transaction to __transaction_atomic or
1369 __transaction_relaxed.
1370
13712011-10-19 Torvald Riegel <triegel@redhat.com>
1372
1373 * config/linux/x86/tls.h (abi_disp): Make TLS slot read volatile.
1374 (gtm_thr): Same.
1375
13762011-10-19 Torvald Riegel <triegel@redhat.com>
1377
1378 * libitm_i.h: Add gl_wt dispatch.
1379 * retry.cc (parse_default_method): Same.
1380 * method-gl.cc: New file.
1381 * Makefile.am: Use method-gl.cc.
1382 * Makefile.in: Rebuild.
1383
13842011-10-19 Torvald Riegel <triegel@redhat.com>
1385
1386 * beginend.cc (GTM::gtm_thread::trycommit): Ensure privatization
1387 safety if requested by a TM method.
1388 * dispatch.h (GTM::abi_dispatch::trycommit): Add parameter for
1389 privatization safety.
1390 * method-serial.cc: Same.
1391
13922011-10-19 Torvald Riegel <triegel@redhat.com>
1393
1394 * libitm_i.h: Renamed gtm_local_undo to gtm_undolog_entry.
1395 (GTM::gtm_thread): Renamed local_undo to undolog. Renamed
1396 undolog-related member functions from *_local to *_undolog.
1397 * local.cc (gtm_thread::commit_undolog): Same.
1398 * beginend.cc (GTM::gtm_thread::trycommit): Same.
1399 (GTM::gtm_thread::rollback): Roll back undolog before
1400 dispatch-specific rollback.
1401
14022011-10-19 Torvald Riegel <triegel@redhat.com>
1403
1404 * retry.cc (GTM::gtm_thread::decide_retry_strategy): Handle
1405 re-initialization of the current method group.
1406 * libitm_i.h (GTM::gtm_restart_reason): Add restart reason for this.
1407
14082011-10-19 Torvald Riegel <triegel@redhat.com>
1409
1410 * alloc.cc (commit_allocations_2): Do not free transaction-local
1411 memory when committing a nested transaction.
1412
14132011-10-19 Torvald Riegel <triegel@redhat.com>
1414
1415 * method-serial.cc (GTM::gtm_thread::serialirr_mode): Fixed: Use
1416 serial-irrevocable dispatch, not serial.
1417
14182011-10-19 Torvald Riegel <triegel@redhat.com>
1419
1420 * libitm_i.h (GTM::gtm_restart_reason): Re-arrange and clean up
1421 declarations.
1422 * dispatch.h (GTM::abi_dispatch::begin_or_restart): New.
1423 * method-serial.cc: Implement begin_or_restart().
1424 * beginend.cc (GTM::gtm_thread::begin_transaction): Call
1425 dispatch-specific begin_or_restart().
1426 (GTM::gtm_thread::restart): Same.
1427
14282011-08-23 Torvald Riegel <triegel@redhat.com>
1429
1430 * retry.cc (GTM::gtm_thread::decide_retry_strategy): Cleanup. Fix
1431 restarting without switching to serial mode.
1432 (GTM::gtm_thread::decide_begin_dispatch): Let the caller set the
1433 transaction state. Choose closed-nesting alternative if available.
1434 (GTM::gtm_thread::set_default_dispatch): New.
1435 (parse_default_method): New.
1436 (GTM::gtm_thread::number_of_threads_changed): New.
1437 * method-serial.cc (GTM::serial_mg): New method group class.
1438 (GTM::serialirr_dispatch): Belongs to serial_mg. Remove reinit and
1439 fini.
1440 (GTM::serial_dispatch): Same.
1441 (GTM::serialirr_onwrite_dispatch): Same.
1442 (GTM::gtm_thread::serialirr_mode): Remove calls to fini.
1443 * beginend.cc (GTM::gtm_thread::~gtm_thread): Maintain number of
1444 registered threads.
1445 (GTM::gtm_thread::gtm_thread): Same.
1446 (_ITM_abortTransaction): Remove calls to abi_dispatch::fini().
1447 (GTM::gtm_thread::trycommit): Same. Reset number of restarts.
1448 (GTM::gtm_thread::begin_transaction): Let decide_begin_dispatch()
1449 choose dispatch but set state according to dispatch here.
1450 * dispatch.h (GTM::abi_dispatch::fini): Move to method group.
1451 (GTM::method_group): New class.
1452 (GTM::abi_dispatch): Add comments. Maintain pointer to method_group.
1453 * libitm_i.h (GTM::gtm_thread): Add declarations for new members.
1454 * libitm.texi: Document TM methods, method groups, method life cycle.
1455 Rename method sets to method groups.
1456
14572011-08-23 Torvald Riegel <triegel@redhat.com>
1458
1459 * config/x86/tls.h: Moved to ...
1460 * config/linux/x86/tls.h: ... here.
1461
14622011-08-23 Torvald Riegel <triegel@redhat.com>
1463
1464 * config/x86/tls.h: Use __x86_64__ instead of __LP64__.
1465 Add X32 support.
1466 * config/x86/sjlj.S: Same.
1467
14682011-08-19 Torvald Riegel <triegel@redhat.com>
1469
1470 * config/linux/rwlock.h: New file.
1471 * config/linux/rwlock.c: New file.
1472 * configure.ac: Reenable futex support (undo SVN rev 157758).
1473 * Makefile.am: Same.
1474 * configure.tgt: Same.
1475 * config/linux/alpha/futex_bits.h: Same.
1476 * config/linux/futex.h: Same. Return number of woken processes.
1477 * config/linux/futex.cc: Same.
1478 (futex_wait): Remove spinning.
1479 * config/linux/x86/futex_bits.h: Same. Set futex timeout to zero.
1480 Use __x86_64__ instead of __LP64__.
1481 * aclocal.m4: Include generic futex checks.
1482 * configure: Rebuild.
1483 * Makefile.in: Rebuild.
1484 * testsuite/Makefile.in: Rebuild.
1485 * beginend.cc: Include pthread.h.
1486 * config/posix/cachepage.cc: Same.
1487
14882011-08-12 Torvald Riegel <triegel@redhat.com>
1489
1490 * config/x86/tls.h (gtm_tx, set_gtm_tx, setup_gtm_thr): Removed.
1491 (abi_disp, set_abi_disp): Move to tx's TLS slot.
1492 (set_gtm_thr): New.
1493 * config/generic/tls.h (gtm_tx, set_gtm_tx, setup_gtm_thr): Removed.
1494 (set_gtm_thr): New.
1495 (GTM::gtm_thread::thread_num): Removed.
1496 (GTM::gtm_thread): Renamed to GTM::gtm_thread_tls.
1497 * libitm_i.h (GTM::gtm_transaction): Renamed to GTM::gtm_thread. More
1498 tx-to-thread renaming.
1499 * beginend.cc: Adapted to tx-to-thread renaming.
1500 (GTM::gtm_thread::~gtm_thread): Extracted from thread_exit_handler().
1501 (GTM::gtm_thread::gtm_thread): Extracted from begin_transaction().
1502 * query.cc (_ITM_getTransactionId, _ITM_inTransaction): Renamed
1503 gtm_transaction to gtm_thread.
1504 (_ITM_getThreadnum): Removed. Not supported anymore.
1505 * testsuite/libitm.c/notx.c (main): Removed _ITM_getThreadnum call.
1506 * libitm.texi: Documented that _ITM_getThreadnum is not supported.
1507 * useraction.cc: Renamed gtm_transaction to gtm_thread. Adapted to
1508 gtm_tx-to-gtm_thr renaming if necessary.
1509 * eh_cpp.cc: Same.
1510 * local.cc: Same.
1511 * retry.cc: Same.
1512 * clone.cc: Same.
1513 * alloc.cc: Same.
1514 * alloc_c.cc: Same.
1515 * alloc_cpp.cc: Same.
1516 * method-serial.cc: Same.
1517 * config/generic/tls.cc: Same.
1518 * config/posix/rwlock.h (gtm_rwlock): Same.
1519 * config/posix/rwlock.cc: Same. Adapted to more tx-to-thread renaming.
1520
15212011-08-12 Torvald Riegel <triegel@redhat.com>
1522
1523 * config/posix/rwlock.cc (gtm_rwlock::read_lock): Changed locking
1524 implementation.
1525 (gtm_rwlock::read_unlock): Same.
1526 (gtm_rwlock::write_lock_generic): New. Generalized from ...
1527 (gtm_rwlock::write_lock, gtm_rwlock::write_upgrade): ... these.
1528 * libitm_i.h (GTM::gtm_transaction): Added shared_state.
1529 * config/posix/rwlock.h (GTM::gtm_rwlock): Removed a_reader and
1530 w_upgrade. Replaced by per-transaction flags (in shared_state).
1531 Added c_confirmed_writers.
1532 (GTM::gtm_rwlock::read_lock, GTM::gtm_rwlock::read_unlock,
1533 GTM::gtm_rwlock::write_upgrade): Add tx parameter.
1534 * retry.cc (GTM::gtm_transaction::decide_retry_strategy): Same.
1535 * method-serial.cc (GTM::gtm_transaction::serialirr_mode): Same.
1536 * beginend.cc (GTM::gtm_transaction::begin_transaction,
1537 _ITM_abortTransaction, GTM::gtm_transaction::trycommit): Same.
1538 * libitm.texi: Document locking conventions and implementations in
1539 libitm.
1540
15412011-08-12 Torvald Riegel <triegel@redhat.com>
1542
1543 * libitm_i.h (next_tx): Add list of all threads' transaction.
1544 * beginend.cc (GTM::gtm_transaction::begin_transaction): Register
1545 transaction with list of transactions and ...
1546 (thread_exit_handler): ... deregister here.
1547 * config/alpha/target.h: Add HW_CACHELINE_SIZE setting.
1548 * config/x86/target.h: Same.
1549
15502011-08-12 Torvald Riegel <triegel@redhat.com>
1551
1552 * testsuite/libitm.c++/static_ctor.C: New file.
1553
15542011-08-12 Torvald Riegel <triegel@redhat.com>
1555
1556 * testsuite/libitm.c/reentrant.c: New file.
1557
15582011-08-12 Torvald Riegel <triegel@redhat.com>
1559
1560 * config/generic/tls.h: Remove the free list for transactions and ...
1561 * beginend.cc (GTM::gtm_transaction::operator new): ... allocate ...
1562 (GTM::gtm_transaction::operator delete): ... and release here.
1563 (thread_exit_handler): New. Delete tx when thread terminates.
1564 (thread_exit_init): New.
1565 (GTM::gtm_transaction::begin_transaction): Set up on-exit handler.
1566 * testsuite/libitm.c/txrelease.c: New file.
1567
15682011-08-12 Torvald Riegel <triegel@redhat.com>
1569
1570 * query.cc (_ITM_getThreadnum): Set up gtm_thread if necessary.
1571 * testsuite/libitm.c/notx.c: New file.
1572
15732011-08-12 Torvald Riegel <triegel@redhat.com>
1574
1575 * config/generic/tls.h (gtm_thread): Move local_tid from here ...
1576 * libitm_i.h (local_tid): ... to here.
1577 * beginend.cc (GTM::gtm_transaction::begin_transaction): Same.
1578 (GTM::gtm_transaction::operator new): Set up gtm_thread if necessary.
1579
15802011-08-12 Torvald Riegel <triegel@redhat.com>
1581
1582 * retry.cc (GTM::gtm_transaction::decide_begin_dispatch): Use
1583 serialirr_onwrite_dispatch as new default for now.
1584 * method-serial.cc (serialirr_onwrite_dispatch): New.
1585 (GTM::dispatch_serialirr_onwrite): New.
1586 * libitm_i.h: Same.
1587
15882011-08-12 Torvald Riegel <triegel@redhat.com>
1589
1590 * beginend.cc (GTM::gtm_transaction::rollback): Roll back tx id as well.
1591 * query.cc (_ITM_getTransactionId): There is no active transaction if
1592 the current nesting level is zero.
1593
15942011-07-28 Torvald Riegel <triegel@redhat.com>
1595
1596 * beginend.cc (GTM::gtm_transaction::rollback): Fix nesting level
1597 rollback.
1598
15992011-07-28 Torvald Riegel <triegel@redhat.com>
1600
1601 * retry.cc (GTM::gtm_transaction::decide_begin_dispatch): Get
1602 transaction properties from the caller instead of from the
1603 transaction object.
1604 * libitm_i.h: Same.
1605 * beginend.cc (GTM::gtm_transaction::begin_transaction): Same.
1606
16072011-07-28 Torvald Riegel <triegel@redhat.com>
1608
1609 * local.cc (gtm_transaction::rollback_local): Support closed nesting.
1610 * eh_cpp.cc (GTM::gtm_transaction::revert_cpp_exceptions): Same.
1611 * dispatch.h: Same.
1612 * method-serial.cc: Same.
1613 * beginend.cc (GTM::gtm_transaction::begin_transaction): Change to
1614 flat nesting as default, and closed nesting on demand.
1615 (GTM::gtm_transaction::rollback): Same.
1616 (_ITM_abortTransaction): Same.
1617 (GTM::gtm_transaction::restart): Same.
1618 (GTM::gtm_transaction::trycommit): Same.
1619 (GTM::gtm_transaction::trycommit_and_finalize): Removed.
1620 (choose_code_path): New.
1621 (GTM::gtm_transaction_cp::save): New.
1622 (GTM::gtm_transaction_cp::commit): New.
1623 * query.cc (_ITM_inTransaction): Support flat nesting.
1624 * libitm_i.h (GTM::gtm_transaction_cp): New helper struct for nesting.
1625 (GTM::gtm_transaction): Support flat and closed nesting.
1626 * alloc.cc (commit_allocations_2): New.
1627 (commit_cb_data): New helper struct.
1628 (GTM::gtm_transaction::commit_allocations): Handle nested
1629 commits/rollbacks.
1630 * libitm.texi: Update user action section, add description of nesting.
1631
16322011-07-28 Torvald Riegel <triegel@redhat.com>
1633
1634 * libitm_i.h: Add closed nesting as restart reason.
1635 * retry.cc (GTM::gtm_transaction::decide_retry_strategy): Same.
1636
16372011-07-28 Torvald Riegel <triegel@redhat.com>
1638
1639 * useraction.cc: Use vector instead of list to store actions.
1640 Also support partial rollbacks for closed nesting.
1641 * libitm_i.h (GTM::gtm_transaction::user_action): Same.
1642 * beginend.cc: Same.
1643
16442011-07-28 Torvald Riegel <triegel@redhat.com>
1645
1646 * dispatch.h (GTM::abi_dispatch): Add can_run_uninstrumented_code and
1647 closed_nesting flags, as well as a closed nesting alternative.
1648 * method-serial.cc: Same.
1649 (serial_dispatch): Renamed to serialirr_dispatch.
1650 (GTM::dispatch_serialirr): Same.
1651 (serial_dispatch_ul): Renamed to serial_dispatch.
1652 (GTM::dispatch_serial): Same.
1653
16542011-07-28 Torvald Riegel <triegel@redhat.com>
1655
1656 * libitm.h (_ITM_codeProperties): Change pr_hasElse to the ABI's value.
1657
16582011-07-28 Torvald Riegel <triegel@redhat.com>
1659
1660 * aatree.h (aa_tree::remove): New.
1661 (aa_tree::operator new): Add placement new.
1662
16632011-07-02 Torvald Riegel <triegel@redhat.com>
1664
1665 * containers.h: New file.
1666 * util.cc (xmalloc, xrealloc): Accept cacheline-alloc flag.
1667 * libitm_i.h (xmalloc, xrealloc): Moved declarations from here ...
1668 * common.h: ... to here.
1669 (local_undo): Use GTM::vector for gtm_transaction::local_undo.
1670 * local.cc: Same.
1671
16722011-06-30 Torvald Riegel <triegel@redhat.com>
1673
1674 * libitm_i.h (STATE_ABORTING): Remove.
1675 * beginend.cc (_ITM_abortTransaction): Same.
1676 (GTM::gtm_transaction::trycommit_and_finalize): Same.
1677 * libitm.h (_ITM_registerThrownObject, _ITM_tryCommitTransaction): Remove.
1678 (_ITM_rollbackTransaction): Remove.
1679 * beginend.cc: Same.
1680 * libitm.map: Same.
1681 * libitm.texi: Document these ABI changes.
1682
16832011-06-30 Torvald Riegel <triegel@redhat.com>
1684
1685 * libitm.texi: New file.
1686 * Makefile.am: Add libitm.texi.
1687 * Makefile.in: Rebuild.
1688
16892011-06-30 Torvald Riegel <triegel@redhat.com>
1690
1691 * libitm_i.h: Move parts to common.h and dispatch.h.
1692 * common.h: New file.
1693 * dispatch.h: New file, new dispatch class.
1694 Rename GTM::abi_dispatch::lock_type to ls_modifier.
1695 RenameGTM::abi_dispatch::NOLOCK to NONTXNAL.
1696 * beginend.cc (GTM::gtm_transaction::begin_transaction): Delegate mode
1697 decision to retry.cc.
1698 * retry.cc (GTM::gtm_transaction::decide_retry_strategy): Use serial mode
1699 only.
1700 (GTM::gtm_transaction::decide_begin_dispatch): Same.
1701 * method-serial.cc: Adapt to new dispatch. Add serial mode with undo
1702 logging.
1703 * barrier.cc: Use new barriers definitions.
1704 (abi_dispatch::memmove_overlap_check): New.
1705 * config/x86/x86_sse.cc: Same.
1706 * config/x86/x86_avx.cc: Same.
1707 * Makefile.am: Don't build readonly and wbetl methods, memset.cc and
1708 memcpy.cc.
1709 * Makefile.in: Rebuild.
1710 * method-readonly.cc: Remove.
1711 * method-wbetl.cc: Rename GTM::abi_dispatch::lock_type to ls_modifier.
1712 Rename GTM::abi_dispatch::NOLOCK to NONTXNAL.
1713
17142011-06-30 Torvald Riegel <triegel@redhat.com>
1715
1716 * alloc_c.cc (_ITM_dropReferences): Don't support it anymore.
1717 * testsuite/libitm.c++/dropref.C: _ITM_dropReferences is expected to fail.
1718 * testsuite/libitm.c/dropref-2.c: Same.
1719 * testsuite/libitm.c/dropref.c: Same.
1720
17212011-06-30 Torvald Riegel <triegel@redhat.com>
1722
1723 * config/generic/tls.h (gtm_disp): Rename to abi_disp.
1724 * config/generic/tls.h (set_gtm_disp): Rename to set_abi_disp.
1725 * libitm_i.h: Rename gtm_dispatch to abi_dispatch.
1726 * alloc_c.cc: Same.
1727 * barrier.tpl: Same.
1728 * beginend.c: Same.
1729 * config/generic/tls.h: Same.
1730 * config/x86/tls.h: Same.
1731 * libitm_i.h: Same.
1732 * memcpy.cc: Same.
1733 * memset.cc: Same.
1734 * method-readonly.cc: Same.
1735 * method-serial.cc: Same.
1736 * method-wbetl.cc: Same.
1737 * retry.cc: Same.
1738
17392011-03-03 Richard Henderson <rth@redhat.com>
1740
1741 * config/posix/rwlock.cc (write_upgrade): Add missing case.
1742 From Patrik Marlier <patrick.marlier@unine.ch>.
1743
17442011-02-03 Richard Henderson <rth@redhat.com>
1745
1746 * acinclude.m4 (LIBITM_CHECK_SIZE_T_MANGLING): New.
1747 * configure.ac: Use it.
1748 * configure, config.h.in: Rebuild.
1749 * alloc_cpp.cc (_ZnwX): Use MANGLE_SIZE_T in constructing the name.
1750 (_ZnaX, _ZnwXRKSt9nothrow_t, _ZnaXRKSt9nothrow_t, _ZGTtnwX,
1751 _ZGTtnaX, _ZGTtnwXRKSt9nothrow_t, _ZGTtnaXRKSt9nothrow_t): Likewise.
1752 * libitm.map: Use wildcards to match size_t mangling.
1753
17542010-12-14 Richard Henderson <rth@redhat.com>
1755
1756 * beginend.cc (GTM::gtm_transaction::begin_transaction): Allocate
1757 blocks of TIDs per thread.
1758 * config/generic/tls.h (struct gtm_thread): Add local_tid member.
1759 (setup_gtm_thr): Return the thread structure.
1760 * config/x86/tls.h (setup_gtm_thr): Likewise.
1761
17622010-12-14 Richard Henderson <rth@redhat.com>
1763
1764 * clone.cc (table_lock): Remove.
1765 (find_clone): Don't take it.
1766 (ExcludeTransaction): New helper class.
1767 (_ITM_registerTMCloneTable): Use it.
1768 (_ITM_deregisterTMCloneTable): Likewise.
1769
17702010-12-14 Richard Henderson <rth@redhat.com>
1771
1772 * config/x86/tls.h: New file.
1773
17742010-07-15 Richard Henderson <rth@redhat.com>
1775
1776 * Makefile.am (AM_CXXFLAGS): Add -funwind-tables.
1777 * Makefile.in: Rebuild.
1778
17792010-07-13 Aldy Hernandez <aldyh@redhat.com>
1780
1781 * method-wbetl.cc (trydropreference): Fix source line.
1782
17832010-07-13 Aldy Hernandez <aldyh@redhat.com>
1784
1785 * libitm.h: Add comment.
1786 * libitm_i.h (begin_transaction): Add ITM_REGPARM.
1787
17882010-07-07 Aldy Hernandez <aldyh@redhat.com>
1789
1790 * configure.ac: Call LIBITM_CHECK_64BIT_SYNC_BUILTINS.
1791 * beginend.cc (begin_transaction): If 64-bit sync builtins are not
1792 available, use pthread mutexes.
1793 * acinclude.m4 (LIBITM_CHECK_64BIT_SYNC_BUILTINS): New.
1794 * config.h.in: Regenerate.
1795 * configure: Regenerate.
1796
17972010-07-06 Aldy Hernandez <aldyh@redhat.com>
1798
1799 * libitm.h (ITM_PURE): Define.
1800 Declare _ITM_malloc, _ITM_calloc, and _ITM_free.
1801
18022010-06-28 Aldy Hernandez <aldyh@redhat.com>
1803
1804 * method-wbetl.cc (class wbetl_dispatch): Add trydropreference.
1805 (validate): Add comment.
1806 (trydropreference): New.
1807 * method-readonly.cc (class readonly_dispatch): Add
1808 trydropreference.
1809 * alloc_c.cc (_ITM_dropReferences): Remove const attribute.
1810 Call trydropreference().
1811 * libitm.h (_ITM_dropReferences): Remove const attribute.
1812 * method-serial.cc (class serial_dispatch): Add trydropreference.
1813 * libitm_i.h (struct gtm_dispatch): Add trydropreference.
1814
18152010-06-28 Aldy Hernandez <aldyh@redhat.com>
1816
1817 * memcpy.cc (do_memcpy): Comment.
1818
18192010-06-25 Aldy Hernandez <aldyh@redhat.com>
1820
1821 * barrier.tpl: Add comments throughout.
1822
18232010-06-24 Aldy Hernandez <aldyh@redhat.com>
1824
1825 * method-wbetl.cc (struct w_entry): Add comments.
1826 (trycommit): Same.
1827 (rollback): Same.
1828
18292010-06-24 Aldy Hernandez <aldyh@redhat.com>
1830
1831 * alloc_c.cc (_ITM_dropReferences): New.
1832 * libitm.map (_ITM_dropReferences): Add.
1833 * libitm.h (_ITM_dropReferences): Add transaction_pure attribute.
1834 * libitm_i.h (struct gtm_transaction): Declare
1835 drop_references_allocations and drop_references_local.
1836 * local.cc (rollback_local): Ignore memory when applicable.
1837 (drop_references_local): New.
1838
18392010-06-23 Richard Henderson <rth@redhat.com>
1840
1841 * barrier.tpl, beginend.cc, clone.cc, tls.h, memcpy.cc,
1842 memset.cc, method-serial.cc: Revert the 2010-06-16 change.
1843 * config/x86/target.h (struct gtm_jmpbuf): Change CFA type to void*.
1844 * config/alpha/target.h: Likewise.
1845 * config/generic/tls.cc (gtm_mask_stack): Use it.
1846
18472010-06-23 Richard Henderson <rth@redhat.com>
1848
1849 * config/posix/cachepage.cc (gtm_cacheline_page::operator new): Use
1850 a mutex instead of trying a lock-free compare-and-swap on the list.
1851 (gtm_cacheline_page::operator delete): Likewise.
1852
18532010-06-16 Richard Henderson <rth@redhat.com>
1854
1855 * method-wbetl.cc (wbetl_dispatch::trycommit): Discard changes
1856 that overlap the libitm stack.
1857 * barrier.tpl: Mark incoming stack.
1858 * beginend.cc (_ITM_rollbackTransaction, _ITM_abortTransaction,
1859 _ITM_commitTransaction, _ITM_commitTransactionEH): Likewise.
1860 * clone.cc (_ITM_getTMCloneOrIrrevocable): Likewise.
1861 * memcpy.cc, memset.cc: Likewise.
1862 * method-serial.cc (_ITM_changeTransactionMode): Likewise.
1863 * config/generic/tls.h (gtm_thread): Add stack_top member.
1864 (gtm_stack_top, set_gtm_stack_top, struct gtm_stack_marker): New.
1865 * libitm_i.h (gtm_mask_stack): Declare.
1866 * config/generic/tls.cc: New file.
1867 * Makefile.am (libitm_la_SOURCES): Add it.
1868 (AM_CXXFLAGS): Turn off exceptions.
1869 * Makefile.in: Rebuild.
1870
18712010-06-16 Richard Henderson <rth@redhat.com>
1872
1873 * alloc.cc (struct gtm_alloc_action): Move definition ...
1874 * libitm_i.h: ... here.
1875 (class gtm_transaction): Declare new and delete.
1876 * beginend.cc (alloc_tx): Reformulate as operator new.
1877 (free_tx): Reformulate as operator delete.
1878 * config/generic/tls.h (gtm_thread): Change free_tx member to void *.
1879
18802010-06-11 Richard Henderson <rth@redhat.com>
1881
1882 * clone.cc (clone_entry_compare): Fix typo.
1883 From Patrik Marlier <patrick.marlier@unine.ch>.
1884
18852010-05-13 Richard Henderson <rth@redhat.com>
1886
1887 * alloc_c.cc (_ITM_malloc, _ITM_calloc, _ITM_free): Wrap functions
1888 in extern "C".
1889
18902010-05-07 Aldy Hernandez <aldyh@redhat.com>
1891
1892 * libitm_i.h (struct gtm_transaction): Remove
1893 get_allocation_size.
1894 (record_allocation): Remove size parameter.
1895 * libitm.map (_ITM_realloc): Remove.
1896 * alloc_c.cc (_ITM_realloc): Remove.
1897 (_ITM_malloc): Remove size argument to record_allocation.
1898 (_ITM_calloc): Same.
1899 * alloc_cpp.cc (_ZGTtnwm): Same.
1900 (_ZGTtnwmRKSt9nothrow_t): Same.
1901 (_ZGTtnam): Same.
1902 (_ZGTtnamRKSt9nothrow_t): Same.
1903 * alloc.cc (struct gtm_alloc_action): Remove size.
1904 (get_allocation_size): Remove.
1905 (commit_allocations): Add comment.
1906 (record_allocation): Remove size parameter.
1907 (forget_allocation): Remove set of size.
1908
19092010-04-19 Aldy Hernandez <aldyh@redhat.com>
1910
1911 * Makefile.am (abi_version): New.
1912 (AM_CXXFLAGS): Pass abi_version.
1913 * Makefile.in: Regenerate.
1914 * config/x86/unaligned.h: Remove always_inline kludge for vectors.
1915
19162010-04-06 Aldy Hernandez <aldyh@redhat.com>
1917
1918 * clone.cc (_ITM_getTMCloneOrIrrevocable): Rename from
1919 _ITM_getTMCloneOrIrrevokable.
1920 * libitm.h (_ITM_getTMCloneOrIrrevocable): Same.
1921 * libitm.map (_ITM_getTMCloneOrIrrevocable): Same.
1922
19232010-03-26 Aldy Hernandez <aldyh@redhat.com>
1924
1925 * configure.ac: Remove Linux futex support.
1926 * configure.tgt (config_path): Same.
1927 * Makefile.am: Same.
1928 * config/linux: Remove entire directory.
1929 * configure: Rebuild.
1930 * Makefile.in: Rebuild.
1931 * testsuite/Makefile.in: Rebuild.
1932
19332010-03-09 Aldy Hernandez <aldyh@redhat.com>
1934
1935 * retry.cc (decide_retry_strategy): Set state to STATE_SERIAL when
1936 switching to serial mode.
1937 * beginend.cc (trycommit_and_finalize): Unlock serial_lock.
1938
19392010-03-03 Aldy Hernandez <aldyh@redhat.com>
1940
1941 * configure.tgt: Add emacs -*- tags.
1942 * barrier.tpl: Same.
1943
19442010-02-23 Aldy Hernandez <aldyh@redhat.com>
1945
1946 * Makefile.am: Rename serial.cc to method-serial.cc.
1947 * Makefile.in: Regenerate with automake 1.11.1.
1948 * testsuite/Makefile.in: Same.
1949 * aclocal.m4: Regenerate with aclocal 1.11.1.
1950 * method-serial.cc: Rename from serial.cc.
1951 * libitm_i.h (struct gtm_transaction): Update comment on
1952 serialirr_mode.
1953
19542010-02-22 Aldy Hernandez <aldyh@redhat.com>
1955
1956 * libitm_i.h (GTM_longjmp): Add ITM_REGPARM.
1957 * config/linux/rwlock.h (class gtm_rwlock): Add comments.
1958
19592010-02-11 Aldy Hernandez <aldyh@redhat.com>
1960
1961 * configure: Rebuild.
1962
19632009-11-12 Richard Henderson <rth@redhat.com>
1964
1965 * Rewrite everything in C++.
1966
19672009-11-03 Richard Henderson <rth@redhat.com>
1968
1969 * config/x86/x86_sse.c, config/x86/x86_avx.c: New files.
1970 * Makefile.am (libitm_la_SOURCES): Add them.
1971 * configure.ac (ARCH_X86): New conditional.
1972 * Makefile.in, configure: Rebuild.
1973 * configure.tgt: Set up ARCH; do cflags setup at the same time.
1974 Move futex setup into "other system configury" case.
1975 * local.c (rollback_local): Merge into ...
1976 (GTM_rollback_local): ... here.
1977 (GTM_LB): Rename from GTM_alloc_local; do the memcpy here.
1978 (_ITM_LB): Define as an alias to GTM_LB.
1979
19802009-11-03 Richard Henderson <rth@redhat.com>
1981
1982 * method-readonly.c: New file.
1983 * Makefile.am (libitm_la_SOURCES): Add it.
1984 * Makefile.in: Rebuild.
1985 * beginend.c (gtm_stmlock_array, gtm_clock): New.
1986 (GTM_begin_transaction): Use dispatch_readonly for read-only txn.
1987 * libitm_i.h (gtm_stmlock, gtm_version): Move from method-wbetl.c.
1988 (GTM_VERSION_MAX, GTM_VERSION_INVALID, gtm_stmlock_owned_p,
1989 gtm_stmlock_set_owned, gtm_stmlock_get_addr,
1990 gtm_stmlock_get_version, gtm_stmlock_set_version, LOCK_ARRAY_SIZE,
1991 gtm_stmlock_array, gtm_get_stmlock, gtm_clock, RESTART_NOT_READONLY,
1992 gtm_get_clock, gtm_inc_clock): New.
1993 * method-wbetl.c (gtm_version, gtm_stmlock, OWNED_MASK, VERSION_MAX,
1994 LOCK_GET_OWNED, LOCK_SET_ADDR, LOCK_GET_ADDR, LOCK_GET_TIMESTAMP,
1995 LOCK_SET_TIMESTAMP, LOCK_ARRAY_SIZE, LOCK_MASK, LOCK_IDX, GET_LOCK,
1996 locks, gclock, CLOCK, GET_CLOCK, FETCH_AND_INC_CLOCK): Remove and
1997 replace uses with new libitm_i.h symbols.
1998 (dispatch_wbetl): Rename from wbetl_dispatch.
1999 * retry.c (GTM_decide_retry_strategy): If RESTART_NOT_READONLY, move
2000 away from dispatch_readonly; abort if the beginTransaction call
2001 asserted that the transaction was readonly.
2002
20032009-11-03 Richard Henderson <rth@redhat.com>
2004
2005 * memset.c: New file.
2006 * Makefile.am (libitm_la_SOURCES): Add it.
2007 * Makefile.in: Rebuild.
2008 * testsuite/libitm.c/memset-1.c: New.
2009
20102009-11-03 Richard Henderson <rth@redhat.com>
2011
2012 * dispatch.c: Remove file.
2013 * useraction.c (struct gtm_user_action): Move from libitm.h.
2014 * serial.c (GTM_null_read_lock, GTM_null_write_lock): New.
2015 (serial_memset, serial_memmove, serial_memcpy): Remove.
2016 (serial_W*, serial_R*): Remove.
2017 (serial_dispatch): Update to match.
2018 * configure.ac: Move Werror down below configure checks. Don't
2019 check for sys/loadavg.h, do check for malloc.h. Don't check for
2020 getloadavg and clock_gettime; do check for memalign, posix_memalign.
2021 Use GCC_AC_FUNC_MMAP_BLACKLIST
2022 * libitm.h: Split out all internal items to...
2023 * libitm_i.h: ... here. New file.
2024 * copymask.c: New file.
2025 * local.c (struct gtm_local_undo): Move from libitm.h.
2026 (GTM_alloc_local): Rename from alloc_local; export.
2027 * memcpy.c: New file.
2028 * alloc_c.c (_ITM_realloc): Use _ITM_memcpyRnWt directly.
2029 * config/posix/page.c: New file.
2030 * config/posix/target_tls.h: Remove file.
2031 * barrier.c: New file.
2032 * Makefile.am (libitm_la_SOURCES): Add barrier.c, memcpy.c,
2033 copymask.c, page.c.
2034 * alloc.c (struct gtm_alloc_action): Move from libitm.h.
2035 * method-wbetl.c: Rewrite for new cacheline methods.
2036 * Makefile.in, configure, testsuite/Makefile.in, config.h.in: Rebuild.
2037
2038 * config/alpha/sjlj.S: Fix typo.
2039 * config/alpha/target_i.h: Copy functions from alpha/target.h.
2040 * config/alpha/copymask.c: New file.
2041 * config/alpha/target.h (CACHELINE_SIZE): New.
2042 (STRICT_ALIGNMENT, PAGE_SIZE, FIXED_PAGE_SIZE): New.
2043
2044 * config/x86/target_i.h: Copy functions from x86/target.h.
2045 * config/x86/copymask.c: New file.
2046 * config/x86/target.h (_ITM_ALL_TARGET_TYPES): Remove.
2047 (CACHELINE_SIZE, STRICT_ALIGNMENT): New.
2048 (PAGE_SIZE, FIXED_PAGE_SIZE): New.
2049 * config/x86/target_tls.h: Move contents to target_i.h.
2050
2051 * testsuite/libitm.c/clone-1.c: Include libitm.h.
2052 * testsuite/libitm.c/memcpy-1.c: New.
2053
20542009-10-22 Richard Henderson <rth@redhat.com>
2055
2056 * Makefile.am (CCAS, CCASFLAGS, LTCCASCOMPILE): Remove.
2057 (AM_CCASFLAGS): New.
2058 * configure.ac: Add AM_PROG_AS. Use m4_rename_force for
2059 saving/restoring _AC_ARG_VAR_PRECIOUS.
2060 * Makefile.in, aclocal.m4, config.h.in, configure,
2061 testsuite/Makefile.in: Rebuild with automake 1.11; autoconf 2.64.
2062
20632009-10-22 Richard Henderson <rth@redhat.com>
2064
2065 * testsuite/*: Update for new compiler syntax.
2066
20672009-10-21 Richard Henderson <rth@redhat.com>
2068
2069 * libitm.h (_ITM_abortReason): Add outerAbort.
2070
20712009-08-03 Richard Henderson <rth@redhat.com>
2072
2073 * libitm.map (_ITM_commitTransactionEH, _ITM_cxa_allocate_exception,
2074 _ITM_cxa_begin_catch, _ITM_cxa_end_catch, _ITM_cxa_throw): Export.
2075 * method-wbetl.c (struct w_entry): Remove mask.
2076 (wbetl_write, wbetl_load): Return pointer to word containing the data;
2077 adjust all callers.
2078
20792009-07-22 Richard Henderson <rth@redhat.com>
2080
2081 * eh_cpp.c: New file.
2082 * Makefile.am (libitm_la_SOURCES): Add it.
2083 * Makefile.in: Rebuild.
2084 * beginend.c (GTM_rollback_transaction): Undo exception state.
2085 (GTM_trycommit_transaction): Mark inline.
2086 (GTM_trycommit_and_finalize_transaction): Split out from ...
2087 (_ITM_commitTransaction): ... here.
2088 (_ITM_commitTransactionEH): New function.
2089 * libitm.h (struct gtm_transaction): Add cxa_catch_count,
2090 cxa_unthrown, eh_in_flight; reorder.
2091
2092 * testsuite/libitm.c++/c++.exp: New.
2093 * testsuite/libitm.c++/eh-1.C: New.
2094
2095 * aatree.c (aa_free): Remove REGPARM.
2096 * aatree.h: Remove all REGPARM.
2097
20982009-07-18 Richard Henderson <rth@redhat.com>
2099
2100 * aatree.c, aatree.h, alloc.c, alloc_c.c, alloc_cpp.c: New files.
2101 * Makefile.am (libitm_la_SOURCES): Add them.
2102 * Makefile.in: Rebuild.
2103 * beginend.c (GTM_rollback_transaction): Use GTM_commit_allocations.
2104 (GTM_trycommit_transaction): Likewise.
2105 * libitm.h: Include aatree.h
2106 (struct gtm_alloc_action): New.
2107 (struct gtm_transaction): Add alloc_actions.
2108 (GTM_record_allocation, GTM_forget_allocation): Declare.
2109 (GTM_get_allocation_size, GTM_commit_allocations): Declare.
2110 * libitm.map (_ITM_malloc, _ITM_calloc, _ITM_realloc, _ITM_free,
2111 _ZGTtnwm, _ZGTtnam, _ZGTtdlPv, _ZGTtdaPv, _ZGTtnwmRKSt9nothrow_t,
2112 _ZGTtnamRKSt9nothrow_t, _ZGTtdlPvRKSt9nothrow_t,
2113 _ZGTtdaPvRKSt9nothrow_t): Export.
2114
21152009-07-18 Richard Henderson <rth@redhat.com>
2116
2117 * target_tls.h: Move ...
2118 * config/posix/target_tls.h: ... here.
2119
21202009-07-07 Richard Henderson <rth@redhat.com>
2121
2122 * config/x86/target.h (atomic_write_barrier): Use sfence if available.
2123
21242009-07-07 Richard Henderson <rth@redhat.com>
2125
2126 * Update to GPL3.
2127
21282009-07-07 Richard Henderson <rth@redhat.com>
2129
2130 * libitm.h (struct gtm_transaction): Widen id to _ITM_transactionId_t.
2131 * beginend.c (global_tid): Widen to _ITM_transactionId_t.
2132
2133 * configure.tgt: Don't use -ftls-model for x86 linux.
2134 * libitm.h: Include target.h after standard includes.
2135 (_gtm_thr): Rename from gtm_thr.
2136 (setup_gtm_thr, gtm_thr, gtm_tx, set_gtm_tx): New.
2137 (gtm_disp, set_gtm_disp): New.
2138 * beginend.c, dispatch.c, local.c, method-wbetl.c, query.c,
2139 retry.c, serial.c, useraction.c: Use accessor functions throughout.
2140 * config/alpha/target_tls.h, config/x86/target_tls.h: New files.
2141
21422009-07-07 Richard Henderson <rth@redhat.com>
2143
2144 * config/linux/rwlock.c (EZ): New define. Use it throughout.
2145
21462009-07-06 Richard Henderson <rth@redhat.com>
2147
2148 * libitm.h (_ITM_SRCLOCATION_DECL_1, _ITM_SRCLOCATION_DECL_2): Remove.
2149 (_ITM_SRCLOCATION_DEFN_1, _ITM_SRCLOCATION_DEFN_2): Remove.
2150 (_ITM_beginTransaction): Take variadic arguments.
2151 (_ITM_registerThrownObject): Declare.
2152 * beginend.c, serial.c: Update.
2153 * libitm.map: Add _ITM_registerThrownObject.
2154
21552009-01-28 Richard Henderson <rth@redhat.com>
2156
2157 * Makefile.am (libitm_la_SOURCES): Add clone.c.
2158 * Makefile.in: Rebuild.
2159 * beginend.c (_ITM_abortTransaction): Abort if irrevokable.
2160 (GTM_restart_transaction): Fix uninstrumented code check.
2161 * retry.c (GTM_decide_retry_strategy): Add serial check.
2162 * serial.c (GTM_serialmode): Add irrevokable variable. Don't
2163 automatically go irrevokable when in serial mode.
2164 * clone.c: New file.
2165 * libitm.h, libitm.map: Update.
2166
21672009-01-27 Richard Henderson <rth@redhat.com>
2168
2169 * Makefile.am (LTCCASCOMPILE): Define.
2170 (libitm_la_SOURCES): Add methid-wbetl.c.
2171 * testsuite/Makefile.am: New
2172 * configure.ac: Add testsuite/Makefile.
2173 * Makefile.in, testsuite/Makefile.in, configure: Regenerate.
2174 * beginend.c (GTM_begin_transaction): Install wbetl_dispatch.
2175 (_ITM_abortTransaction): Finalize implementation method; pass
2176 transaction properties to longjmp.
2177 (GTM_restart_transaction): Split out from ...
2178 (_ITM_commitTransaction): ... here.
2179 * config/linux/x86/futex_bits.h (cpu_relax, atomic_write_barrier):
2180 Move to config/x86/target.h.
2181 * config/linux/alpha/futex_bits.h: New.
2182 * config/x86/sjlj.S (GTM_longjmp): Fix 64-bit input register.
2183 * config/x86/target.h: Disable target types for 32-bit.
2184 * config/alpha/sjlj.S, config/alpha/target.h: New.
2185 * libitm.h (struct gtm_dispatch): Add init, fini.
2186 (enum restart_reason): New.
2187 (struct gtm_transaction): Add method and restarts.
2188 * retry.c (GTM_decide_retry_strategy): Implement.
2189 * serial.c (serial_init, serial_fini): New.
2190 (GTM_serialmode): Finialize outgoing method.
2191 * method-wbetl.c: New.
2192
21932008-12-09 Richard Henderson <rth@redhat.com>
2194
2195 * config/x86/target.h (_ITM_ALL_TARGET_TYPES, _ITM_TYPE_ATTR): New.
2196 * configure.tgt (i386-*, x86_64-*): Don't force SSE.
2197 * dispatch.c (_ITM_##R##T, _ITM_##W##T): Use _ITM_TYPE_ATTR.
2198 * libitm.h (_ITM_ALL_TARGET_TYPES, _ITM_TYPE_ATTR): Provide default.
2199 (_ITM_TYPE_M64, _ITM_TYPE_M128, _ITM_TYPE_M256): Move to x86 header.
2200 (_ITM_ALL_TYPES): Use _ITM_ALL_TARGET_TYPES.
2201 * local.c (_ITM_L##T): Use _ITM_TYPE_ATTR.
2202 * serial.c (serial_R##T, serial_W##T): Likewise.
2203
22042008-11-21 Richard Henderson <rth@redhat.com>
2205
2206 * Initial commit.
21fa2a29 2207\f
8d9254fc 2208Copyright (C) 2008-2020 Free Software Foundation, Inc.
21fa2a29
JJ
2209
2210Copying and distribution of this file, with or without modification,
2211are permitted in any medium without royalty provided the copyright
2212notice and this notice are preserved.