]> git.ipfire.org Git - thirdparty/gcc.git/blame - libitm/ChangeLog
Fix missed comment fix in last change.
[thirdparty/gcc.git] / libitm / ChangeLog
CommitLineData
b1de98e3
RH
12016-01-19 Richard Henderson <rth@redhat.com>
2
3 PR bootstrap/69343
4 PR bootstrap/69339
5 Revert:
6 2016-01-13 Richard Henderson <rth@redhat.com>
7
8 * Makefile.am (libitm_la_SOURCES) [ARCH_AARCH64]: Add vect128.cc
9 (libitm_la_SOURCES) [ARCH_ARM]: Add neon.cc
10 (libitm_la_SOURCES) [ARCH_PPC]: Add vect128.cc
11 (libitm_la_SOURCES) [ARCH_S390]: Add vect128.cc
12 * configure.ac (ARCH_AARCH64): New conditional.
13 (ARCH_PPC, ARCH_S390): Likewise.
14 * Makefile.in, configure: Rebuild.
15
16 * libitm.h (_ITM_TYPE_M128): Always define.
17 * vect64.cc: Split ...
18 * vect128.cc: ... out of...
19 * config/x86/x86_sse.cc: ... here.
20 * config/arm/neon.cc: New file.
21
f57fc960
TR
222016-01-19 Torvald Riegel <triegel@redhat.com>
23
24 * local_type_traits: Remove file.
25 * libitm_i.h: Don't include it anymore.
26 (sized_integral): Remove.
27
d2653984
TR
282016-01-16 Torvald Riegel <triegel@redhat.com>
29
30 * method-gl.cc (gl_wt_dispatch::trycommit): Ensure proxy privatization
31 safety.
32 * method-ml.cc (ml_wt_dispatch::trycommit): Likewise.
33 * libitm/testsuite/libitm.c/priv-1.c: New.
34
a04d5fc9
TR
352015-01-15 Torvald Riegel <triegel@redhat.com>
36
37 testsuite/libitm.c++/libstdc++-safeexc.C: New.
38
e89137ce
TR
392016-01-13 Torvald Riegel <triegel@redhat.com>
40
41 * beginend.cc (gtm_thread::trycommit): Fix seq_cst fences.
42 * config/linux/rwlock.cc (gtm_rwlock::write_lock_generic): Likewise.
43 (gtm_rwlock::write_unlock): Likewise.
44
4c868789
RH
452016-01-13 Richard Henderson <rth@redhat.com>
46
47 * Makefile.am (libitm_la_SOURCES) [ARCH_AARCH64]: Add vect128.cc
48 (libitm_la_SOURCES) [ARCH_ARM]: Add neon.cc
49 (libitm_la_SOURCES) [ARCH_PPC]: Add vect128.cc
50 (libitm_la_SOURCES) [ARCH_S390]: Add vect128.cc
51 * configure.ac (ARCH_AARCH64): New conditional.
52 (ARCH_PPC, ARCH_S390): Likewise.
53 * Makefile.in, configure: Rebuild.
54
55 * libitm.h (_ITM_TYPE_M128): Always define.
56 * vect64.cc: Split ...
57 * vect128.cc: ... out of...
58 * config/x86/x86_sse.cc: ... here.
59 * config/arm/neon.cc: New file.
60
629e4729
TR
612016-01-13 Torvald Riegel <triegel@redhat.com>
62
63 * beginend.cc (gtm_thread::trycommit): Fix privatization safety.
64 * config/linux/rwlock.cc (gtm_rwlock::write_lock_generic): Likewise.
65 * config/posix/rwlock.cc (gtm_rwlock::write_lock_generic): Likewise.
66 * dispatch.h (abi_dispatch::snapshot_most_recent): New.
67 * method-gl.cc (gl_wt_dispatch::snapshot_most_recent): New.
68 * method-ml.cc (ml_wt_dispatch::snapshot_most_recent): New.
69 * method-serial.cc (serial_dispatch::snapshot_most_recent): New.
70 (serialirr_dispatch::snapshot_most_recent): New.
71 (serialirr_onwrite_dispatch::snapshot_most_recent): New.
72
0d1ed412
TR
732016-01-12 Torvald Riegel <triegel@redhat.com>
74
75 * libitm_i.h (gtm_mask_stack): Remove.
76 * beginend.cc (gtm_stmlock_array, gtm_clock): Likewise.
77 * stmlock.h: Remove file.
78 * config/alpha/cacheline.h: Likewise.
79 * config/generic/cacheline.h: Likewise.
80 * config/powerpc/cacheline.h: Likewise.
81 * config/sparc/cacheline.h: Likewise.
82 * config/x86/cacheline.h: Likewise.
83
21fa2a29
JJ
842016-01-04 Jakub Jelinek <jakub@redhat.com>
85
818ab71a
JJ
86 Update copyright years.
87
21fa2a29
JJ
88 * libitm.texi: Bump @copying's copyright year.
89
e7f7330f
TR
902015-11-26 Torvald Riegel <triegel@redhat.com>
91
92 * method-ml.cc (ml_mg): Use multiplicative instead of simple hashing.
93 (ml_wt_dispatch::pre_write): Adapt.
94 (ml_wt_dispatch::pre_load): Likewise.
95
4f8a3b87
TR
962015-11-22 Torvald Riegel <triegel@redhat.com>
97
98 * libitm_i.h (gtm_alloc_action): Remove union.
99 * testsuite/libitm.c/alloc-1.c: New.
100
258c1d07
TR
1012015-11-19 Torvald Riegel <triegel@redhat.com>
102
103 * testsuite/libitm.c++/eh-5.C: New.
104 * libitm.h (_ITM_cxa_free_exception): New.
105 * libitm.map (_ITM_cxa_free_exception): Add it.
106 * libitm.texi: Update ABI docs.
107 * libitm_i.h (gtm_transaction_cp::cxa_unthrown): Remove.
108 (gtm_transaction_cp::cxa_uncaught_count): Add.
109 (gtm_thread::cxa_unthrown): Remove.
110 (gtm_thread::cxa_uncaught_count_ptr): Add.
111 (gtm_thread::cxa_uncaught_count): Add.
112 (gtm_thread::drop_references_allocations): Rename to...
113 (gtm_thread::discard_allocation): ... this and adapt.
114 (gtm_thread::init_cpp_exceptions): New.
115 * beginend.cc (gtm_thread::gtm_thread): Adapt EH handling.
116 (gtm_thread::begin_transaction): Likewise.
117 (gtm_transaction_cp::save): Likewise.
118 (gtm_thread::trycommit): Likewise.
119 * eh_cpp.cc: Add overview comments.
120 (__cxa_eh_globals, __cxa_get_globals, __cxa_free_exception): Declare.
121 (free_any_exception, _ITM_cxa_free_exception): New.
122 (gtm_thread::init_cpp_exceptions): Define.
123 (_ITM_cxa_allocate_exception, _ITM_cxa_throw): Adapt.
124 (_ITM_cxa_begin_catch, _ITM_cxa_end_catch): Likewise.
125 (gtm_thread::revert_cpp_exceptions): Likewise.
126
c518678b
TR
1272015-11-09 Torvald Riegel <triegel@redhat.com>
128
129 * alloc_cpp.cc (_ZdlPvX, _ZdlPvXRKSt9nothrow_t, _ZGTtdlPvX,
130 _ZGTtdlPvXRKSt9nothrow_t, delsz_opnt): New.
131 * libitm.map: Add _ZGTtdlPvX and _ZGTtdlPvXRKSt9nothrow_t.
132 * libitm_i.h (gtm_alloc_action): Add free_fn_sz and sz. Add comments.
133 (gtm_thread::forget_allocations): New overload with size_t argument.
134 * alloc.c (gtm_thread::forget_allocation): Define new overload and
135 adapt existing one.
136 (gtm_thread::record_allocation): Adapt.
137 (gtm_thread::commit_allocations_1): Adapt.
138 (gtm_thread::commit_allocations_2): Adapt.
139 * testsuite/libitm.c++/newdelete.C: New.
140
1e44e857
DJ
1412015-10-27 Daniel Jacobowitz <dan@codesourcery.com>
142 Joseph Myers <joseph@codesourcery.com>
143 Mark Shinwell <shinwell@codesourcery.com>
144 Andrew Stubbs <ams@codesourcery.com>
145 Rich Felker <dalias@libc.org>
146
147 * config/sh/sjlj.S (_ITM_beginTransaction): Bypass PLT calling
148 GTM_begin_transaction for compatibility with FDPIC.
149
9e531d37
DM
1502015-10-09 David Malcolm <dmalcolm@redhat.com>
151
152 * testsuite/lib/libitm.exp: Load multiline.exp before prune.exp,
153 using load_gcc_lib.
154
c629c246
GFM
1552015-08-20 Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org> (tiny change)
156
157 PR libitm/61164
158 * local_atomic (__always_inline): Rename to...
159 (__libitm_always_inline): ... this.
160
cd5a9a74
CSLL
1612015-07-03 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
162
163 PR target/52482
164 * config/powerpc/sjlj.S: Port to Xcode 2.5.
165
ea023bcf
UB
1662015-05-27 Uros Bizjak <ubizjak@gmail.com>
167
d778b5a0
UB
168 * config/linux/x86/futex_bits.h (sys_futex0) [__x86_64__]: Change
169 operands "op" and "val" to int.
170
1712015-05-27 Uros Bizjak <ubizjak@gmail.com>
172
173 * config/linux/sh/futex_bits.h (sys_futex0) Change operands
174 "op" and "val" to int.
175
1762015-05-27 Uros Bizjak <ubizjak@gmail.com>
177
178 * config/linux/alpha/futex_bits.h (sys_futex0) Change operands
179 "op" and "val" to int.
180
1812015-05-27 Uros Bizjak <ubizjak@gmail.com>
182
183 * config/linux/futex.cc (gtm_futex_wait, gtm_futex_wake):
184 Declare as static int.
185 (FUTEX_PRIVATE_FLAG): Remove L suffix.
186 * config/linux/futex_bits.h (sys_futex0) Change operand "op" to int.
187
1882015-05-27 Uros Bizjak <ubizjak@gmail.com>
189
190 * config/linux/x86/futex_bits.h (sys_futex0) [__PIC__]: Remove
191 sys_futex0 function.
ea023bcf 192
503902f9
MH
1932015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
194
195 * Makefile.in: Regenerated with automake-1.11.6.
196 * aclocal.m4: Likewise.
197 * configure: Likewise.
198 * testsuite/Makefile.in: Likewise.
199
96ce40cb
GR
2002015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
201
202 * config/arm/hwcap.cc: Use fcntl.h instead of sys/fcntl.h.
203 * config/linux/x86/tls.h: Only use __GLIBC_PREREQ if defined.
204
3a07b160
L
2052015-01-15 H.J. Lu <hongjiu.lu@intel.com>
206
207 PR libitm/64360
208 * libitm.c/stackundo.c (test2): Make it static.
209 (test1): Likewise.
210
5624e564
JJ
2112015-01-05 Jakub Jelinek <jakub@redhat.com>
212
213 Update copyright years.
214
b67cd4e3
JJ
2152015-01-05 Jakub Jelinek <jakub@redhat.com>
216
217 * libitm.texi: Bump @copying's copyright year.
218
69aef6dc
KT
2192014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
220
221 * testsuite/lib/libitm.exp: Load target-utils.exp.
222 Move load of target-supports.exp earlier.
223
68bc9270
UB
2242014-12-03 Uros Bizjak <ubizjak@gmail.com>
225
226 * configure.tgt (x86_64): Tune -m32 multilib to generic.
227
a699d672
L
2282014-11-21 H.J. Lu <hongjiu.lu@intel.com>
229
230 PR bootstrap/63784
231 * configure: Regenerated.
232
ebf6d33b
FXC
2332014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
234
235 PR target/63610
236 * configure: Regenerate.
237
99183741
MP
2382014-10-06 Marek Polacek <polacek@redhat.com>
239
240 * testsuite/libitm.c/memcpy-1.c: Declare getpagesize.
241 * testsuite/libitm.c/memset-1.c: Likewise.
242
b6334cf4
RH
2432014-07-24 Richard Henderson <rth@redhat.com>
244
245 * config/aarch64/sjlj.S (_ITM_beginTransaction): Use post-inc
246 addressing mode in epilogue.
247
3c698bf0
RO
2482014-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
249
250 * acinclude.m4 (LIBITM_CHECK_LINKER_HWCAP): Check for
251 -mclear-hwcap instead.
252 * configure: Regenerate.
253 * clearcap.map: Remove.
254
dbed5a9b
JM
2552014-05-21 John Marino <gnugcc@marino.st>
256
257 * configure.tgt (*-*-dragonfly*): New target.
258
b17f08dd
RH
2592014-05-19 Richard Henderson <rth@redhat.com>
260
261 * config/aarch64/sjlj.S: New file.
262 * config/aarch64/target.h: New file.
263 * configure.tgt: Enable aarch64.
264
5e1f630a
RO
2652014-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
266
267 * config/generic/asmcfi.h: Also check for
268 __GCC_HAVE_DWARF2_CFI_ASM.
269
84c2f4b0
RH
2702013-04-02 Richard Henderson <rth@redhat.com>
271
272 * config/alpha/target.h (PAGE_SIZE, FIXED_PAGE_SIZE): Remove.
273 * config/arm/target.h, config/sh/target.h: Likewise.
274 * config/sparc/target.h, config/x86/target.h: Likewise.
275
7cc51d64
JJ
2762014-03-26 Jakub Jelinek <jakub@redhat.com>
277
278 * config/linux/futex_bits.h: Include errno.h.
279 (sys_futex0): If syscall returns -1, return -errno rather than
280 -1.
281
c288ec8f
JM
2822014-03-26 Joseph Myers <joseph@codesourcery.com>
283
284 * libitm.texi (Index): Rename to Library Index.
285
ed100f5d
L
2862014-01-13 H.J. Lu <hongjiu.lu@intel.com>
287
288 PR libitm/53113
289 * Makefile.am (x86_sse.lo): Append -msse to CXXFLAGS.
290 (x86_avx.lo): Append -mavx to CXXFLAGS.
291 * Makefile.in: Regenerate.
292
f93608e6
RS
2932014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
294
295 Update copyright years
296
98db73df
TB
2972014-01-02 Tobias Burnus <burnus@net-b.de>
298
299 * libitm.texi: Bump @copying's copyright year.
300
b54214fe
UW
3012013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
302
303 * config/powerpc/sjlj.S [__powerpc64__ && _CALL_ELF == 2]:
304 (FUNC): Define ELFv2 variant.
305 (END): Likewise.
306 (HIDDEN): Likewise.
307 (CALL): Likewise.
308 (BASE): Likewise.
309 (LR_SAVE): Likewise.
310
3cbe17f7
AM
3112013-09-20 Alan Modra <amodra@gmail.com>
312
313 * configure: Regenerate.
314
6fb471d8
TR
3152013-08-30 Torvald Riegel <triegel@redhat.com>
316
317 * config/posix/rwlock.cc: Fix initialization order.
318
bec9ec3f
TR
3192013-08-30 Torvald Riegel <triegel@redhat.com>
320
321 * libitm_i.h (gtm_thread): Assign an asm name to serial_lock.
322 (htm_fastpath): Assign an asm name.
323 * libitm.h (_ITM_codeProperties): Add non-ABI flags used by custom
324 HTM fast paths.
325 (_ITM_actions): Likewise.
326 * config/x86/target.h (HTM_CUSTOM_FASTPATH): Enable custom fastpath on
327 x86_64.
328 * config/x86/sjlj.S (_ITM_beginTransaction): Add custom HTM fast path.
329 * config/posix/rwlock.h (gtm_rwlock): Update comments. Move summary
330 field to the start of the structure.
331 * config/linux/rwlock.h (gtm_rwlock): Update comments.
332 * beginend.cc (gtm_thread::begin_transaction): Add retry policy
333 handling for custom HTM fast paths.
334
1869217f
AK
3352013-08-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
336 Revert:
337 2013-08-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
338
339 * configure.tgt: Add -msoft-float to XCFLAGS.
340
d62d5152
AK
3412013-08-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
342
343 * configure.tgt: Add -msoft-float to XCFLAGS.
344
aaaffb2a
AK
3452013-07-29 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
346
347 * config/s390/target.h (htm_begin, htm_commit, htm_abort)
348 (htm_transaction_active): Enable zEC12 instructions in the
349 assembler.
350 * configure.tgt: Remove -Wa,-march=zEC12 from XCFLAGS.
351
167f68ed
AK
3522013-07-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
353
354 * acinclude.m4: Add htm asm check for s390.
355 * configure.tgt: Add -mhtm and -Wa,-march=zEC12 to the options.
356 * configure: Regenerate.
357 * config/s390/target.h: Remove __HTM__ check.
358 (htm_available): Call getauxval to get hwcaps and check whether
359 HTM is available or not.
360
0258b6e4
PB
3612013-07-15 Peter Bergner <bergner@vnet.ibm.com>
362
363 * acinclude.m4 (LIBITM_CHECK_AS_HTM): New.
364 * configure.ac: Use it.
365 (AC_CHECK_HEADERS): Check for sys/auxv.h.
366 (AC_CHECK_FUNCS): Check for getauxval.
367 * config.h.in, configure: Rebuild.
368 * configure.tgt (target_cpu): Add -mhtm to XCFLAGS.
369 * config/powerpc/target.h: Include sys/auxv.h and htmintrin.h.
370 (USE_HTM_FASTPATH): Define.
371 (_TBEGIN_STARTED, _TBEGIN_INDETERMINATE, _TBEGIN_PERSISTENT,
372 _HTM_RETRIES) New macros.
373 (htm_abort, htm_abort_should_retry, htm_available, htm_begin, htm_init,
374 htm_begin_success, htm_commit, htm_transaction_active): New functions.
375
5a3fe9b6
AK
3762013-06-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
377
378 * config/s390/target.h: Include htmintrin.h.
379 (_HTM_ITM_RETRIES): New macro definition.
380 (htm_available, htm_init, htm_begin, htm_begin_success)
381 (htm_commit, htm_abort, htm_abort_should_retry): New functions.
382
6c84d576
IS
3832013-06-20 Iain Sandoe <iain@codesourcery.com>
384 Cesar Philippidis <cesar@codesourcery.com>
385
386 * testsuite/lib/libitm.exp: Reorder lib loads into dependency order.
387 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
388 * testsuite/libitm.c/c.exp: load_gcc_lib gcc-dg.exp.
389 * testsuite/libitm.c++/c++.exp: load_gcc_lib gcc-dg.exp.
390
480c696b
TR
3912013-06-20 Torvald Riegel <triegel@redhat.com>
392
393 * query.cc (_ITM_inTransaction): Abort when using the HTM fastpath.
394 (_ITM_getTransactionId): Same.
395 * config/x86/target.h (htm_transaction_active): New.
396
b1db457b
TR
3972013-06-20 Torvald Riegel <triegel@redhat.com>
398
399 PR libitm/57643
400 * beginend.cc (gtm_thread::begin_transaction): Handle reentrancy in
401 the HTM fastpath.
402
51249377
GP
4032013-03-31 Gerald Pfeifer <gerald@pfeifer.com>
404
405 PR bootstrap/56714
406 * local_atomic (__always_inline): Always define our version.
407 (__calculate_memory_order): Mark inline.
408 (atomic_thread_fence): Ditto.
409 (atomic_signal_fence): Ditto.
410 (atomic_bool::atomic_flag_test_and_set_explicit): Ditto.
411 (atomic_bool::atomic_flag_clear_explicit): Ditto.
412 (atomic_bool::atomic_flag_test_and_set): Ditto.
413 (atomic_bool::atomic_flag_clear): Ditto.
414
f818478b
JJ
4152013-04-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
416
417 * config/s390/sjlj.S: New file.
418 * config/s390/target.h: New file.
419 * configure.tgt: Set options for S/390.
420
ab4425be
AK
4212013-03-23 Andi Kleen <ak@linux.intel.com>
422
423 * local_atomic (__always_inline): Add.
424 (__calculate_memory_order, atomic_thread_fence,
425 atomic_signal_fence, test_and_set, clear, store, load,
426 exchange, compare_exchange_weak, compare_exchange_strong,
427 fetch_add, fetch_sub, fetch_and, fetch_or, fetch_xor):
428 Add __always_inline to force inlining.
429
6c59ffd1
IS
4302013-02-11 Iain Sandoe <iain@codesourcery.com>
431 Jack Howarth <howarth@bromo.med.uc.edu>
432 Patrick Marlier <patrick.marlier@gmail.com>
433
434 PR libitm/55693
435 * alloc_cpp.cc: Enable function declarations on darwin.
436 * eh_cpp.cc: Likewise.
437
75f9527c
RS
4382013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
439
440 Update copyright years.
441
64fbcc74
TR
4422012-11-09 Torvald Riegel <triegel@redhat.com>
443
444 * beginend.cc (htm_fastpath): New.
445 (gtm_thread::begin_transaction, _ITM_commitTransaction,
446 _ITM_commitTransactionEH): Add HTM fastpath handling.
447 * config/linux/rwlock.h (gtm_rwlock.is_write_locked): New.
448 * config/posix/rwlock.h (gtm_rwlock.is_write_locked): New.
449 * config/x86/target.h (htm_available, htm_init, htm_begin_success,
450 htm_begin, htm_commit, htm_abort, htm_abort_should_retry): New.
451 * configure.tgt: Add -mrtm to XCFLAGS.
452 * method-serial.cc (htm_mg, o_htm_mg, htm_dispatch, dispatch_htm): New.
453 (gtm_thread::serialirr_mode): Add HTM fastpath handling.
454 * libitm_i.h (htm_fastpath, dispatch_htm): Declare.
455 * retry.cc (parse_default_method): Add HTM method parsing.
456 (gtm_thread::number_of_threads_changed): Use HTM by default if
457 available.
458
b9efc877
TS
4592012-11-04 Thomas Schwinge <thomas@codesourcery.com>
460
461 * configure: Regenerate.
462
07d3b5c8
RH
4632012-10-31 Richard Henderson <rth@redhat.com>
464
465 * acinclude.m4 (LIBITM_CHECK_AS_RTM): New.
466 * configure.ac: Use it.
467 * config.h.in, configure: Rebuild.
468 * testsuite/Makefile.in: Rebuild.
469
eb00e959
TR
4702012-10-24 Torvald Riegel <triegel@redhat.com>
471
472 * libitm.texi: Clarify ABI requirements for data-logging functions.
473
b679c813
TR
4742012-10-24 Torvald Riegel <triegel@redhat.com>
475
476 * retry.cc (gtm_thread::decide_begin_dispatch): Ask dispatch whether
477 it requires serial mode instead of assuming that for certain
478 dispatchs.
479 * dispatch.h (abi_dispatch::requires_serial): New.
480 (abi_dispatch::abi_dispatch): Adapt.
481 * method-gl.cc (gl_wt_dispatch::gl_wt_dispatch): Adapt.
482 * method-ml.cc (ml_wt_dispatch::ml_wt_dispatch): Same.
483 * method-serial.cc (serialirr_dispatch::serialirr_dispatch,
484 serial_dispatch::serial_dispatch,
485 serialirr_onwrite_dispatch::serialirr_onwrite_dispatch): Same.
486
0c609a21
UB
4872012-10-02 Uros Bizjak <ubizjak@gmail.com>
488
489 * config/x86/target.h (struct gtm_jmpbuf): Merge x86_64
490 and ia32 declarations some more.
491 * config/x86/sjlj.S (_ITM_beginTransaction): Move ret to common code.
492
c0758df9
JJ
4932012-09-20 Jakub Jelinek <jakub@redhat.com>
494
495 PR other/43620
496 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
497 * configure: Regenerate.
498 * Makefile.in: Regenerate.
499
690c45b8
DE
5002012-09-14 David Edelsohn <dje.gcc@gmail.com>
501
502 * configure: Regenerated.
503
68a12ef3
UB
5042012-07-31 Uros Bizjak <ubizjak@gmail.com>
505
506 * config/x86/target.h (cpu_relax): Use __builtin_ia32_pause.
507
f2f9a097
PM
5082012-05-21 Patrick Marlier <patrick.marlier@gmail.com>
509
510 * eh_cpp.cc: Fix __cxa_end_catch declaration.
511
e6d5f8c9
L
5122012-05-16 H.J. Lu <hongjiu.lu@intel.com>
513
514 * configure: Regenerated.
515
0100e3b3
L
5162012-04-04 H.J. Lu <hongjiu.lu@intel.com>
517
518 PR libitm/52854
519 * config/x86/target.h (gtm_jmpbuf): Replace long with long long
520 for x86-64.
521
2f6935f4
TG
5222012-04-03 Tristan Gingold <gingold@adacore.com>
523
524 * configure: Regenerate.
525
b9c23a61
L
5262012-03-31 H.J. Lu <hongjiu.lu@intel.com>
527
528 PR bootstrap/52812
529 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
530
6a26a74d
BRF
5312012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
532
533 * testsuite/lib/libitm.exp: load fortran-modules.exp
534
b24513a1
RO
5352012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
536
537 * configure.tgt (*-*-irix6*): Remove.
538
0d23faac
TR
5392012-03-13 Torvald Riegel <triegel@redhat.com>
540
541 PR libitm/52526
542 * config/linux/rwlock.cc (GTM::gtm_rwlock::read_lock): Fix lost
543 wake-up.
544
5c30094f
RO
5452012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
546
547 * configure.tgt (*-*-osf*): Remove.
548 * configure: Regenerate.
549
d28b0b08
TR
5502012-03-05 Torvald Riegel <triegel@redhat.com>
551
552 * dispatch.h (CREATE_DISPATCH_METHODS_MEM): Don't execute
553 memtransfer/memset if size isn't larger than zero.
554
034209bc
TR
5552012-03-02 Torvald Riegel <triegel@redhat.com>
556
557 * libitm.texi: Link to specification and add a usage example.
558
bc8da6ba
TR
5592012-02-24 Torvald Riegel <triegel@redhat.com>
560
561 * retry.cc (GTM::gtm_thread::number_of_threads_changed): Change
562 default dispatch for more than 1 thread to ml_wt.
563
63b08143
TR
5642012-02-20 Torvald Riegel <triegel@redhat.com>
565
566 * method-gl.cc (gl_wt_dispatch::orec): Put on separate cacheline.
567
4c9bd6ac
TR
5682012-02-20 Torvald Riegel <triegel@redhat.com>
569
570 * method-gl.cc (gl_wt_dispatch::rollback): Optimize memory orders.
571
651ff415
TR
5722012-02-20 Torvald Riegel <triegel@redhat.com>
573
574 * method-gl.cc (gl_wt_dispatch::trycommit): Remove handling of
575 serial mode corner cases made obsolete by prior gtm_rwlock changes.
576 (gl_wt_dispatch.rollback): Same.
577
efee0113
TR
5782012-02-20 Torvald Riegel <triegel@redhat.com>
579
580 * method-gl.cc (gl_wt_dispatch::pre_write): Optimize memory orders.
581
33a03827
TR
5822012-02-20 Torvald Riegel <triegel@redhat.com>
583
584 * method-gl.cc (gl_wt_dispatch::memtransfer_static): Add missing undo
585 for RfW src. Optimize number of calls to gtm_thr.
586
a19db3f2
TR
5872012-02-20 Torvald Riegel <triegel@redhat.com>
588
589 * beginend.cc (GTM::gtm_thread::begin_transaction): Move serial lock
590 acquisition to ...
591 * retry.cc (GTM::gtm_thread::decide_begin_dispatch): ... here.
592 (default_dispatch): Make atomic.
593 (GTM::gtm_thread::set_default_dispatch): Access atomically.
594 (GTM::gtm_thread::decide_retry_strategy): Access atomically and
595 use decide_begin_dispatch() if default_dispatch might have changed.
596 (GTM::gtm_thread::number_of_threads_changed): Initialize
597 default_dispatch here.
598
e948a1fb
IS
5992012-02-15 Iain Sandoe <iains@gcc.gnu.org>
600 Patrick Marlier <patrick.marlier@gmail.com>
601
602 PR libitm/52220
603 * alloc_cpp.cc: No dummy definitions for darwin.
604 * eh_cpp.cc: Likewise.
605
72824d5e
RH
6062012-02-14 Richard Henderson <rth@redhat.com>
607
608 * config/x86/target.h (GTM_longjmp): Correct the .cfi corrections.
609
1f319dba
UB
6102012-02-14 Uros Bizjak <ubizjak@gmail.com>
611
612 * config/x86/target.h (GTM_longjmp): Correct .cfi directives.
613
31772c95
TR
6142012-02-14 Torvald Riegel <triegel@redhat.com>
615
616 * libitm_i.h (GTM::gtm_rwlog_entry): New.
617 (GTM::gtm_thread): Add read and write logs.
618 (GTM::dispatch_ml_wt): Declare.
619 * retry.cc (parse_default_method): Support ml_wt.
620 * method-ml.cc: New file.
621 * Makefile.am: Add method-ml.cc.
622 * Makefile.in: Regenerate.
623
5b9cf5d2
TR
6242012-02-14 Torvald Riegel <triegel@redhat.com>
625
626 * dispatch.h (GTM::abi_dispatch::supports): New.
627 (GTM::method_group::reinit): New.
628 * retry.cc (GTM::gtm_thread::decide_retry_strategy): Use reinit().
629 (GTM::gtm_thread::number_of_threads_changed): Check that the method
630 supports the current situation.
631
7d33bcb7
TR
6322012-02-14 Torvald Riegel <triegel@redhat.com>
633
634 * util.cc (GTM::xcalloc): New.
635 * common.h (GTM::xcalloc): Declare.
636
62513f7b
EB
6372012-02-14 Eric Botcazou <ebotcazou@adacore.com>
638
639 * config/sparc/target.h (cpu_relax): Read from CC register.
640 * config/sparc/sjlj.S (GTM_longjmp): Restore %fp atomically.
641
6422012-02-14 Uros Bizjak <ubizjak@gmail.com>
d4a698d4
UB
643
644 * config/x86/target.h (GTM_longjmp): Jump indirect from memory address.
645
f3f5e3c3
EB
6462012-02-13 Eric Botcazou <ebotcazou@adacore.com>
647
62513f7b 648 * configure.tgt (target_cpu): Handle sparc and sparc64/sparcv9.
f3f5e3c3
EB
649 * config/sparc/cacheline.h: New file.
650 * config/sparc/target.h: Likewise.
651 * config/sparc/sjlj.S: Likewise.
652 * config/linux/sparc/futex_bits.h: Likewise.
653
6542012-02-13 Eric Botcazou <ebotcazou@adacore.com>
255a9a1b
EB
655
656 * configure.ac (link_itm): Fix comment.
657 * configure: Regenerate.
658 * testsuite/lib/libitm.exp: Do not pass -litm for the link.
659
681355e3
RO
6602012-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
661
fc985d2f 662 PR libitm/51822
62513f7b 663 * testsuite/libitm.c++/c++.exp (lang_link_flags): Add -shared-libgcc.
681355e3
RO
664 Correct libgomp references.
665
999bcff5
TR
6662012-01-24 Torvald Riegel <triegel@redhat.com>
667
668 * config/linux/rwlock.cc (GTM::gtm_rwlock::write_unlock): Fix reader
669 wake-up.
670
9848887a
UB
6712012-01-24 Uros Bizjak <ubizjak@gmail.com>
672
673 * config/x86/target.h (gtm_jmpbuf) [__x86_64__]: Move rip to the
674 end of structure.
675 * config/x86/sjlj.S (_ITM_beginTransaction) [__x86_64__]: Update
676 offset values. Do not copy return address. Decrement stack
677 by 56 bytes only.
678 (GTM_longjump) [__x86_64__]: Update offset values.
679
5752c591
UB
6802012-01-23 Uros Bizjak <ubizjak@gmail.com>
681
682 PR libitm/51830
683 * config/x86/sjlj.S (_ITM_beginTransaction) [!__x86_64__]: Load
684 the first function argument to %eax.
685
61e72ca4
RO
6862012-01-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
687
688 * libitm.h (_ITM_getThreadnum): Remove.
689 * libitm.map (_ITM_getThreadnum): Remove from LIBITM_1.0.
690
9ce91011
RO
6912012-01-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
692
693 * clearcap.map: New file.
694 * acinclude.m4 (LIBITM_CHECK_LINKER_HWCAP): New test.
695 * configure.ac: Call it.
696 Clear HWCAP_LDFLAGS if defaulting to -mavx.
697 * Makefile.am (AM_LDFLAGS): Add $(HWCAP_LDFLAGS)
698 * configure: Regenerate.
699 * Makefile.in: Regenerate.
700 * testsuite/Makefile.in: Regenerate.
701
3b4f05ec
RO
7022012-01-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
703
704 PR libitm/51173
705 * testsuite/libitm.c++/static_ctor.C: Skip test, note PR, remove
706 include, exclude options.
707
aab74ee9
TR
7082012-01-14 Torvald Riegel <triegel@redhat.com>
709
710 * local.cc (GTM::gtm_undolog::rollback): Truncate undo log after
711 rolling back.
712 * containers.h (GTM::vector::set_size): New.
713
07b6642b
TR
7142012-01-14 Torvald Riegel <triegel@redhat.com>
715
716 PR libitm/51855
717 * config/generic/tls.h (GTM::mask_stack_top): New.
718 (GTM::mask_stack_bottom): Declare.
719 * config/generic/tls.c (GTM::mask_stack_bottom): New.
720 * local.cc (gtm_undolog::rollback): Filter out any updates that
721 overlap the libitm stack. Add current transaction as parameter.
722 * libitm_i.h (GTM::gtm_undolog::rollback): Adapt.
723 * beginend.cc (GTM::gtm_thread::rollback): Adapt.
724 * testsuite/libitm.c/stackundo.c: New test.
725
8377e5e5
RH
7262012-01-10 Richard Henderson <rth@redhat.com>
727
728 * libitm_i.h (_Unwind_DeleteException): Declare weak.
729 * eh_cpp.cc (_Unwind_DeleteException): Define for
730 !HAVE_ELF_STYLE_WEAKREF.
731
11f30bb0
TR
7322012-01-08 Torvald Riegel <triegel@redhat.com>
733
734 * local.cc (GTM_LB): Use GTM::gtm_undolog.
735 (GTM::gtm_thread::drop_references_undolog): Remove.
736 (GTM::gtm_thread::commit_undolog,
737 GTM::gtm_thread::rollback_undolog): Move to ...
738 * libitm_i.h (GTM::gtm_undolog): ...here. New.
739 (GTM::gtm_undolog_entry): Remove.
740 (GTM::gtm_thread): Adapt.
741 * beginend.cc (GTM::gtm_thread::rollback): Adapt.
742 (GTM::gtm_thread::trycommit): Adapt.
743 * method-serial.cc (serial_dispatch::log): Adapt.
744 * method-gl.cc (gl_wt_dispatch::pre_write): Adapt.
745 (gl_wt_dispatch::store): Fix likely/unlikely.
746 * containers.h (GTM::vector::resize): Add additional_capacity
747 parameter and handle it.
748 (GTM::vector::resize_noinline): New/adapt.
749 (GTM::vector::push): New.
750
a32e5e93
RH
7512012-01-06 Richard Henderson <rth@redhat.com>
752
753 * configure.tgt: Support powerpc-linux and powerpc-darwin.
754 * config/linux/powerpc/futex_bits.h: New file.
755 * config/powerpc/cacheline.h: New file.
756 * config/powerpc/sjlj.S: New file.
757 * config/powerpc/target.h: New file.
758 * config/generic/asmcfi.h (cfi_offset): New.
759 (cfi_restore, cfi_undefined): New.
760
1f53a8e6
AH
7612012-01-05 Aldy Hernandez <aldyh@redhat.com>
762
763 PR other/51171
764 * testsuite/libitm.c/reentrant.c: Remove xfail.
765 (thread): Pass x to pure().
be223aaf 766 From Patrik Marlier <patrick.marlier@gmail.com>.
1f53a8e6 767
c898f7b8
TR
7682011-12-24 Torvald Riegel <triegel@redhat.com>
769
770 * beginend.cc (GTM::gtm_thread::trycommit): Don't enforce
771 privatization safety if already in serial mode.
772
610e3901
TR
7732011-12-24 Torvald Riegel <triegel@redhat.com>
774
775 * beginend.cc (GTM::gtm_thread::restart): Add and handle
776 finish_serial_upgrade parameter.
777 * libitm.h (GTM::gtm_thread::restart): Adapt declaration.
778 * config/linux/rwlock.cc (GTM::gtm_rwlock::write_lock_generic):
779 Don't unset reader flag.
780 (GTM::gtm_rwlock::write_upgrade_finish): New.
781 * config/posix/rwlock.cc: Same.
782 * config/linux/rwlock.h (GTM::gtm_rwlock::write_upgrade_finish):
783 Declare.
784 * config/posix/rwlock.h: Same.
785 * method-serial.cc (GTM::gtm_thread::serialirr_mode): Unset reader
786 flag after commit or after rollback when restarting.
787
799142bf
TR
7882011-12-24 Torvald Riegel <triegel@redhat.com>
789
790 * beginend.cc (GTM::gtm_thread::begin_transaction): Add comment.
791 (GTM::gtm_thread::try_commit): Changed memory order.
792 * config/linux/alpha/futex_bits.h (sys_futex0): Take atomic int
793 as parameter.
794 * config/linux/x86/futex_bits.h (sys_futex0): Same.
795 * config/linux/sh/futex_bits.h (sys_futex0): Same.
796 * config/linux/futex_bits.h (sys_futex0): Same.
797 * config/linux/futex.cc (futex_wait, futex_wake): Same.
798 * config/linux/futex.h (futex_wait, futex_wake): Same.
799 * config/linux/rwlock.h (gtm_rwlock::writers,
800 gtm_rwlock::writer_readers, gtm_rwlock::readers): Change to atomic
801 ints.
802 * config/linux/rwlock.cc (gtm_rwlock::read_lock,
803 gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock,
804 gtm_rwlock::write_unlock): Fix memory orders and fences.
805 * config/posix/rwlock.cc (gtm_rwlock::read_lock,
806 gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock,
807 gtm_rwlock::write_unlock): Same.
808 * config/linux/rwlock.h (gtm_rwlock::summary): Change to atomic int.
809 * method-gl.cc (gl_mg::init, gl_wt_dispatch::memtransfer_static,
810 gl_wt_dispatch::memset_static, gl_wt_dispatch::begin_or_restart):
811 Add comments.
812 (gl_wt_dispatch::pre_write, gl_wt_dispatch::validate,
813 gl_wt_dispatch::load, gl_wt_dispatch::store,
814 gl_wt_dispatch::try_commit, gl_wt_dispatch::rollback): Fix memory
815 orders and fences. Add comments.
816
b0f96e35
JJ
8172011-12-21 Jakub Jelinek <jakub@redhat.com>
818
819 * Makefile.am (AM_CXXFLAGS): Put $(XCFLAGS) first.
820 * Makefile.in: Regenerated.
821
cc163247
KK
8222011-12-17 Kaz Kojima <kkojima@gcc.gnu.org>
823
824 * configure.tgt: Add sh* case.
825 * config/sh/target.h: New file.
826 * config/sh/sjlj.S: New file.
827 * config/linux/sh/futex_bits.h: New file.
828
aebac0ca
RH
8292011-12-14 Richard Henderson <rth@redhat.com>
830
831 * config/arm/hwcap.h, config/arm/hwcap.cc: New files.
832 * config/arm/sjlj.S, config/arm/target.h: New files.
833 * config/generic/asmcfi.h (cfi_adjust_cfa_offset): New.
834 (cfi_rel_offset): New.
835 * config/linux/futex_bits.h: New file.
836 * config/linux/futex.cc: Include futex_bits.h here...
837 * config/linux/futex.h: ... not here.
838 * Makefile.am (libitm_la_SOURCES) <ARCH_ARM>: Add hwcap.cc.
839 * configure.ac (ARCH_AM): New conditional.
840 * Makefile.in, configure: Rebuild.
841 * configure.tgt: Handle ARM.
842
36cfbee1
RH
8432011-12-13 Richard Henderson <rth@redhat.com>
844
5d9d05d3
RH
845 * config/posix/rwlock.cc (gtm_rwlock::write_lock_generic): Fix
846 signed/unsigned comparison werror.
847
36cfbee1
RH
848 * local_atomic: New file.
849 * libitm_i.h: Include it.
850 (gtm_thread::shared_state): Use atomic template.
851 * beginend.cc (GTM::gtm_clock): Use atomic template.
852 (global_tid): Use atomic template if 64-bit atomics available.
853 (gtm_thread::gtm_thread): Update shared_state access.
854 (gtm_thread::trycommit): Likewise.
855 (choose_code_path): Update global_tid access.
856 * method-gl.cc (gl_mg::orec): Use atomic template. Update all users.
857 * stmlock.h (GTM::gtm_clock): Use atomic template.
858 (gtm_get_clock, gtm_inc_clock): Update accesses.
859 * config/linux/rwlock.cc (gtm_rwlock::read_lock): Remove
860 redundant __sync_synchronize after atomic shared_state access.
861 * config/posix/rwlock.cc (gtm_rwlock::read_lock): Likewise.
862 (gtm_rwlock::write_lock_generic): Likewise.
863 (gtm_rwlock::read_unlock): Likewise.
864 * config/alpha/target.h (atomic_read_barrier): Remove.
865 (atomic_write_barrier): Remove.
866 * config/x86/target.h (atomic_read_barrier): Remove.
867 (atomic_write_barrier): Remove.
868
062f93f2
RH
8692011-11-30 Richard Henderson <rth@redhat.com>
870
871 * libitm_i.h (GTM_longjmp): Swap first and second arguments.
872 * beginend.c (_ITM_abortTransaction): Update to match.
873 (GTM::gtm_thread::restart): Likewise.
874 * config/alpha/sjlj.S (GTM_longjmp): Likewise.
875 * config/x86/sjlj.S (GTM_longjmp): Likewise.
876
bd8aaa86
IS
8772011-11-23 Iain Sandoe <iains@gcc.gnu.org>
878
879 * Makefile.am (libitm_la_LDFLAGS): Remove "-no-undefined".
880 * Makefile.in: Regenerate.
881
8cf36bb3
IS
8822011-11-22 Iain Sandoe <iains@gcc.gnu.org>
883
884 * configure.ac: Use GCC_CHECK_ELF_STYLE_WEAKREF.
885 * alloc_cpp.cc: Generate dummy functions if we don't
886 HAVE_ELF_STYLE_WEAKREF.
887 * eh_cpp.cc: Likewise.
888 * configure: Regenerate.
889 * aclocal.m4: Likewise.
890 * config.h.in: Likewise.
891 * Makefile.in: Likewise.
892 * testsuite/Makefile.in: Likewise.
893
0b41ebef
IS
8942011-11-22 Iain Sandoe <iains@gcc.gnu.org>
895
896 * config/x86/sjlj.S (CONCAT1, CONCAT2, SYM): Respond to
897 __USER_LABEL_PREFIX__ for targets that use it.
8cf36bb3 898 (TYPE, SIZE, HIDDEN): New macros to assist on non-elf targets.
0b41ebef
IS
899 (_ITM_beginTransaction): Use SYM, TYPE, SIZE macros to assist
900 in portability to non-elf targets.
8cf36bb3 901 (GTM_longjmp): Likewise.
0b41ebef
IS
902 * libitm_i.h (begin_transaction): Apply __USER_LABEL_PREFIX__
903 where required.
904
9c9d352a
IS
9052011-11-22 Iain Sandoe <iains@gcc.gnu.org>
906
907 * testsuite/libitm.c/memcpy-1.c: Allow for MAP_ANON spelling.
908 * testsuite/libitm.c/memset-1.c: Likewise.
909
c6084f68
AT
9102011-11-21 Andreas Tobler <andreast@fgznet.ch>
911
912 * configure: Regenerate.
913
adcd36bc
RO
9142011-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
915
916 * acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Handle gold.
917 (LIBITM_ENABLE_SYMVERS): Handle sun style.
918 * Makefile.am: Handle sun style versioning.
919 (libitm_la_LINK): Add $(libitm_la_LDFLAGS).
920 * configure: Regenerate.
921 * Makefile.in: Regenerate.
922
59659b59
RO
9232011-11-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
924
925 * config/generic/asmcfi.h: Fix comment.
926 * config/x86/sjlj.S (_ITM_beginTransaction): Provide ELF PIC code
927 sequence without .hidden support, error for non-ELF targets.
928 (GTM_longjmp) [__ELF__]: Only use .hidden if
929 HAVE_ATTRIBUTE_VISIBILITY.
930
d846e425
RO
9312011-11-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
932
933 * alloc_cpp.cc [__osf__] (_ZnwX, _ZdlPv, _ZnaX, _ZdaPv,
934 _ZnwXRKSt9nothrow_t, _ZdlPvRKSt9nothrow_t, _ZdaPvRKSt9nothrow_t):
935 Dummy functions.
936 * eh_cpp.cc [__osf__] (__cxa_allocate_exception, __cxa_throw,
937 __cxa_begin_catch, __cxa_end_catch, __cxa_tm_cleanup): Likewise.
938
80713347
UB
9392011-11-16 Uros Bizjak <ubizjak@gmail.com>
940
941 PR bootstrap/51098
942 * acinclude.m4 (LIBITM_CHECK_AS_AVX): Fix target selector.
943 * configure: Regenerate.
944
2841f85e
L
9452011-11-14 H.J. Lu <hongjiu.lu@intel.com>
946
947 * testsuite/lib/libitm.exp: Check ia32 instead of ilp32.
948
8851b429
RO
9492011-11-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
950
951 * config/alpha/sjlj.S (_ITM_beginTransaction) [!__ELF__]: Don't use
952 .hidden.
953 (.note.GNU-stack): Only use if __linux__.
954 * alloc_cpp.cc [!__osf__] (_ZnaXRKSt9nothrow_t): Dummy function.
955 * testsuite/libitm.c/notx.c: Use dg-options "-pthread".
956 * testsuite/libitm.c/reentrant.c: Likewise.
957 * testsuite/libitm.c/simple-2.c: Likewise.
958 * testsuite/libitm.c/txrelease.c: Likewise.
959 * testsuite/libitm.c++/static_ctor.C: Likewise.
960
d4b17902
RH
9612011-11-10 Richard Henderson <rth@redhat.com>
962
963 * config/x86/x86_avx.cc: Remove #undef __AVX__ hack. Tidy comments.
964 * Makefile.am (x86_avx.lo): Only add -mavx if ARCH_X86_AVX.
965 * configure.ac (ARCH_X86_AVX): New conditional.
966 * Makefile.in, configure: Rebuild.
967
430616e7
RH
9682011-11-09 Richard Henderson <rth@redhat.com>
969
970 * acinclude.m4 (LIBITM_CHECK_AS_AVX): New.
971 * configure.ac: Use it.
972 * config.h.in, configure: Rebuild.
973 * config/x86/x86_avx.cc: Handle !HAVE_AS_AVX.
974
79b1edb6
RH
9752011-11-09 Richard Henderson <rth@redhat.com>
976
977 * barrier.tpl, memcpy.cc, memset.cc, method-wbetl.cc: Remove file.
978 * config/alpha/unaligned.h: Remove file.
979 * config/generic/unaligned.h: Remove file.
980 * config/x86/unaligned.h: Remove file.
981 * config/generic/cachepage.h: Remove file.
982 * config/posix/cachepage.cc: Remove file.
983 * config/generic/cacheline.cc: Remove file.
984 * config/x86/cacheline.cc: Remove file.
985 * config/generic/cacheline.h (gtm_cacheline): Remove the
986 store_mask, copy_mask, copy_mask_wb methods.
987 * config/x86/cacheline.h: Likewise.
988 * config/alpha/cacheline.h: Fall back to generic after setting size.
989 * config/generic/tls.cc (gtm_mask_stack): Remove.
990 * config/x86/x86_avx.cc (GTM_vpperm_shift): Remove.
991 (GTM_vpalignr_table): Remove.
992 * config/x86/x86_sse.cc (GTM_palignr_table): Remove.
993 (GTM_pshift_table): Remove.
994 * config/libitm_i.h: Don't include cachepage.h.
995 * Makefile.am (libitm_la_SOURCES): Remove cacheline.cc, cachepage.cc
996 * Makefile.in, testsuite/Makefile.in: Rebuild.
997
4bdd090f
RH
9982011-11-09 Richard Henderson <rth@redhat.com>
999
8ee9fac2
RH
1000 * config/x86/cacheline.h (gtm_cacheline::store_mask): Use .byte
1001 to emit branch prediction hint.
1002
9bdc6343
RH
1003 * config/x86/sjlj.S: Protect elf directives with __ELF__.
1004 Protect .note.GNU-stack with __linux__.
1005
4bdd090f
RH
1006 * configure.ac (GCC_AS_CFI_PSEUDO_OP): Test it.
1007 * configure, aclocal.m4, config.h.in: Rebuild.
1008 * config/generic/asmcfi.h: New file.
1009 * config/x86/sjlj.S: Use it.
1010
4408b086
RH
10112011-11-08 Richard Henderson <rth@redhat.com>
1012
1013 * local.cc (_ITM_LB): Use a normal call, not a function alias.
1014
01f3428c
RH
10152011-11-08 Richard Henderson <rth@redhat.com>
1016
3d3b05ff
RH
1017 * configure.tgt: Test correct directory for supported cpus.
1018
01f3428c
RH
1019 * configure.ac: Exit if unsupported.
1020 * configure: Rebuild.
1021 * configure.tgt: Delete boilerplate from libgomp for unsupported
1022 targets. Set UNSUPPORTED for unsupported targets.
1023
07f03cd3
RO
10242011-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1025
1026 * configure.tgt: Handle i386 like i[456]86.
1027 * config/generic/tls.h [!HAVE_ARCH_GTM_THREAD] (gtm_thr): Don't
1028 take address.
1029 * config/generic/tls.cc [!HAVE_ARCH_GTM_THREAD ||
1030 !HAVE_ARCH_GTM_THREAD_DISP] (_gtm_thr_tls): New variable.
1031
0a35513e
AH
10322011-11-05 Aldy Hernandez <aldyh@redhat.com>
1033
1034 * method-wbetl.cc: Update copyright notice.
1035 * aatree.cc: Same.
1036 * util.cc: Same.
1037 * libitm.h: Same.
1038 * memset.cc: Same.
1039 * eh_cpp.cc: Same.
1040 * barrier.tpl: Same.
1041 * useraction.cc: Same.
1042 * stmlock.h: Same.
1043 * memcpy.cc: Same.
1044 * common.h: Same.
1045 * config/generic/tls.cc: Same.
1046 * config/generic/cacheline.h: Same.
1047 * config/generic/cachepage.h: Same.
1048 * config/generic/cacheline.cc: Same.
1049 * config/generic/unaligned.h: Same.
1050 * config/x86/cacheline.h: Same.
1051 * config/x86/cacheline.cc: Same.
1052 * config/x86/unaligned.h: Same.
1053 * config/alpha/cacheline.h: Same.
1054 * config/alpha/unaligned.h: Same.
1055 * config/alpha/sjlj.S: Same.
1056 * config/posix/cachepage.cc: Same.
1057 * config/linux/futex.h: Same.
1058 * config/linux/alpha/futex_bits.h: Same.
1059
10602011-11-04 Torvald Riegel <triegel@redhat.com>
1061
1062 * libitm.texi: No cover text and invariant sections.
1063
10642011-11-03 Richard Henderson <rth@redhat.com>
1065
1066 * local_type_traits: New file.
1067 * libitm_i.h: Use it. Use C headers, not C++ wrappers.
1068
10692011-11-03 Richard Henderson <rth@redhat.com>
1070
1071 * configure.ac: Don't test for gfortran.
1072 * configure: Rebuild.
1073
1074 * testsuite/lib/libitm.exp: Don't include gfortran-dg.exp.
1075 * testsuite/libitm.c++/c++.exp: Don't use gfortran-dg-runtest.
1076
10772011-11-03 Aldy Hernandez <aldyh@redhat.com>
1078
1079 * testsuite/libitm.c/memcpy-1.c: Add copyright notice.
1080 * testsuite/libitm.c/memset-1.c: Same.
1081 * testsuite/libitm.c/c.exp: Same.
1082 * testsuite/lib/libitm-dg.exp: Same.
1083 * testsuite/lib/libitm.exp: Same.
1084 * testsuite/libitm.c++/c++.exp: Same.
1085
10862011-11-03 Aldy Hernandez <aldyh@redhat.com>
1087
1088 * testsuite/config/default.exp: Update copyright date.
1089 * configure.ac: Add copyright info.
1090 * configure.tgt: Same.
1091
10922011-11-03 Aldy Hernandez <aldyh@redhat.com>
1093
1094 * testsuite/libitm.c/reentrant.c: XFAIL.
1095 * testsuite/libitm.c++/static_ctor.C: XFAIL.
1096
10972011-10-29 Torvald Riegel <triegel@redhat.com>
1098
1099 * beginend.cc (GTM::gtm_thread::rollback): Add aborting flag and
1100 handle aborts.
1101 (_ITM_abortTransaction): Handle aborts of outer transactions.
1102 * libitm_i.h: Same.
1103 * eh_cpp.cc (GTM::gtm_thread::revert_cpp_exceptions): Fix assertion.
1104 * libitm.texi: Document aborts of outer transactions.
1105 * testsuite/libitm.c/cancel.c: New file.
1106
11072011-10-19 Torvald Riegel <triegel@redhat.com>
1108
1109 * testsuite/*: Change __transaction to __transaction_atomic or
1110 __transaction_relaxed.
1111
11122011-10-19 Torvald Riegel <triegel@redhat.com>
1113
1114 * config/linux/x86/tls.h (abi_disp): Make TLS slot read volatile.
1115 (gtm_thr): Same.
1116
11172011-10-19 Torvald Riegel <triegel@redhat.com>
1118
1119 * libitm_i.h: Add gl_wt dispatch.
1120 * retry.cc (parse_default_method): Same.
1121 * method-gl.cc: New file.
1122 * Makefile.am: Use method-gl.cc.
1123 * Makefile.in: Rebuild.
1124
11252011-10-19 Torvald Riegel <triegel@redhat.com>
1126
1127 * beginend.cc (GTM::gtm_thread::trycommit): Ensure privatization
1128 safety if requested by a TM method.
1129 * dispatch.h (GTM::abi_dispatch::trycommit): Add parameter for
1130 privatization safety.
1131 * method-serial.cc: Same.
1132
11332011-10-19 Torvald Riegel <triegel@redhat.com>
1134
1135 * libitm_i.h: Renamed gtm_local_undo to gtm_undolog_entry.
1136 (GTM::gtm_thread): Renamed local_undo to undolog. Renamed
1137 undolog-related member functions from *_local to *_undolog.
1138 * local.cc (gtm_thread::commit_undolog): Same.
1139 * beginend.cc (GTM::gtm_thread::trycommit): Same.
1140 (GTM::gtm_thread::rollback): Roll back undolog before
1141 dispatch-specific rollback.
1142
11432011-10-19 Torvald Riegel <triegel@redhat.com>
1144
1145 * retry.cc (GTM::gtm_thread::decide_retry_strategy): Handle
1146 re-initialization of the current method group.
1147 * libitm_i.h (GTM::gtm_restart_reason): Add restart reason for this.
1148
11492011-10-19 Torvald Riegel <triegel@redhat.com>
1150
1151 * alloc.cc (commit_allocations_2): Do not free transaction-local
1152 memory when committing a nested transaction.
1153
11542011-10-19 Torvald Riegel <triegel@redhat.com>
1155
1156 * method-serial.cc (GTM::gtm_thread::serialirr_mode): Fixed: Use
1157 serial-irrevocable dispatch, not serial.
1158
11592011-10-19 Torvald Riegel <triegel@redhat.com>
1160
1161 * libitm_i.h (GTM::gtm_restart_reason): Re-arrange and clean up
1162 declarations.
1163 * dispatch.h (GTM::abi_dispatch::begin_or_restart): New.
1164 * method-serial.cc: Implement begin_or_restart().
1165 * beginend.cc (GTM::gtm_thread::begin_transaction): Call
1166 dispatch-specific begin_or_restart().
1167 (GTM::gtm_thread::restart): Same.
1168
11692011-08-23 Torvald Riegel <triegel@redhat.com>
1170
1171 * retry.cc (GTM::gtm_thread::decide_retry_strategy): Cleanup. Fix
1172 restarting without switching to serial mode.
1173 (GTM::gtm_thread::decide_begin_dispatch): Let the caller set the
1174 transaction state. Choose closed-nesting alternative if available.
1175 (GTM::gtm_thread::set_default_dispatch): New.
1176 (parse_default_method): New.
1177 (GTM::gtm_thread::number_of_threads_changed): New.
1178 * method-serial.cc (GTM::serial_mg): New method group class.
1179 (GTM::serialirr_dispatch): Belongs to serial_mg. Remove reinit and
1180 fini.
1181 (GTM::serial_dispatch): Same.
1182 (GTM::serialirr_onwrite_dispatch): Same.
1183 (GTM::gtm_thread::serialirr_mode): Remove calls to fini.
1184 * beginend.cc (GTM::gtm_thread::~gtm_thread): Maintain number of
1185 registered threads.
1186 (GTM::gtm_thread::gtm_thread): Same.
1187 (_ITM_abortTransaction): Remove calls to abi_dispatch::fini().
1188 (GTM::gtm_thread::trycommit): Same. Reset number of restarts.
1189 (GTM::gtm_thread::begin_transaction): Let decide_begin_dispatch()
1190 choose dispatch but set state according to dispatch here.
1191 * dispatch.h (GTM::abi_dispatch::fini): Move to method group.
1192 (GTM::method_group): New class.
1193 (GTM::abi_dispatch): Add comments. Maintain pointer to method_group.
1194 * libitm_i.h (GTM::gtm_thread): Add declarations for new members.
1195 * libitm.texi: Document TM methods, method groups, method life cycle.
1196 Rename method sets to method groups.
1197
11982011-08-23 Torvald Riegel <triegel@redhat.com>
1199
1200 * config/x86/tls.h: Moved to ...
1201 * config/linux/x86/tls.h: ... here.
1202
12032011-08-23 Torvald Riegel <triegel@redhat.com>
1204
1205 * config/x86/tls.h: Use __x86_64__ instead of __LP64__.
1206 Add X32 support.
1207 * config/x86/sjlj.S: Same.
1208
12092011-08-19 Torvald Riegel <triegel@redhat.com>
1210
1211 * config/linux/rwlock.h: New file.
1212 * config/linux/rwlock.c: New file.
1213 * configure.ac: Reenable futex support (undo SVN rev 157758).
1214 * Makefile.am: Same.
1215 * configure.tgt: Same.
1216 * config/linux/alpha/futex_bits.h: Same.
1217 * config/linux/futex.h: Same. Return number of woken processes.
1218 * config/linux/futex.cc: Same.
1219 (futex_wait): Remove spinning.
1220 * config/linux/x86/futex_bits.h: Same. Set futex timeout to zero.
1221 Use __x86_64__ instead of __LP64__.
1222 * aclocal.m4: Include generic futex checks.
1223 * configure: Rebuild.
1224 * Makefile.in: Rebuild.
1225 * testsuite/Makefile.in: Rebuild.
1226 * beginend.cc: Include pthread.h.
1227 * config/posix/cachepage.cc: Same.
1228
12292011-08-12 Torvald Riegel <triegel@redhat.com>
1230
1231 * config/x86/tls.h (gtm_tx, set_gtm_tx, setup_gtm_thr): Removed.
1232 (abi_disp, set_abi_disp): Move to tx's TLS slot.
1233 (set_gtm_thr): New.
1234 * config/generic/tls.h (gtm_tx, set_gtm_tx, setup_gtm_thr): Removed.
1235 (set_gtm_thr): New.
1236 (GTM::gtm_thread::thread_num): Removed.
1237 (GTM::gtm_thread): Renamed to GTM::gtm_thread_tls.
1238 * libitm_i.h (GTM::gtm_transaction): Renamed to GTM::gtm_thread. More
1239 tx-to-thread renaming.
1240 * beginend.cc: Adapted to tx-to-thread renaming.
1241 (GTM::gtm_thread::~gtm_thread): Extracted from thread_exit_handler().
1242 (GTM::gtm_thread::gtm_thread): Extracted from begin_transaction().
1243 * query.cc (_ITM_getTransactionId, _ITM_inTransaction): Renamed
1244 gtm_transaction to gtm_thread.
1245 (_ITM_getThreadnum): Removed. Not supported anymore.
1246 * testsuite/libitm.c/notx.c (main): Removed _ITM_getThreadnum call.
1247 * libitm.texi: Documented that _ITM_getThreadnum is not supported.
1248 * useraction.cc: Renamed gtm_transaction to gtm_thread. Adapted to
1249 gtm_tx-to-gtm_thr renaming if necessary.
1250 * eh_cpp.cc: Same.
1251 * local.cc: Same.
1252 * retry.cc: Same.
1253 * clone.cc: Same.
1254 * alloc.cc: Same.
1255 * alloc_c.cc: Same.
1256 * alloc_cpp.cc: Same.
1257 * method-serial.cc: Same.
1258 * config/generic/tls.cc: Same.
1259 * config/posix/rwlock.h (gtm_rwlock): Same.
1260 * config/posix/rwlock.cc: Same. Adapted to more tx-to-thread renaming.
1261
12622011-08-12 Torvald Riegel <triegel@redhat.com>
1263
1264 * config/posix/rwlock.cc (gtm_rwlock::read_lock): Changed locking
1265 implementation.
1266 (gtm_rwlock::read_unlock): Same.
1267 (gtm_rwlock::write_lock_generic): New. Generalized from ...
1268 (gtm_rwlock::write_lock, gtm_rwlock::write_upgrade): ... these.
1269 * libitm_i.h (GTM::gtm_transaction): Added shared_state.
1270 * config/posix/rwlock.h (GTM::gtm_rwlock): Removed a_reader and
1271 w_upgrade. Replaced by per-transaction flags (in shared_state).
1272 Added c_confirmed_writers.
1273 (GTM::gtm_rwlock::read_lock, GTM::gtm_rwlock::read_unlock,
1274 GTM::gtm_rwlock::write_upgrade): Add tx parameter.
1275 * retry.cc (GTM::gtm_transaction::decide_retry_strategy): Same.
1276 * method-serial.cc (GTM::gtm_transaction::serialirr_mode): Same.
1277 * beginend.cc (GTM::gtm_transaction::begin_transaction,
1278 _ITM_abortTransaction, GTM::gtm_transaction::trycommit): Same.
1279 * libitm.texi: Document locking conventions and implementations in
1280 libitm.
1281
12822011-08-12 Torvald Riegel <triegel@redhat.com>
1283
1284 * libitm_i.h (next_tx): Add list of all threads' transaction.
1285 * beginend.cc (GTM::gtm_transaction::begin_transaction): Register
1286 transaction with list of transactions and ...
1287 (thread_exit_handler): ... deregister here.
1288 * config/alpha/target.h: Add HW_CACHELINE_SIZE setting.
1289 * config/x86/target.h: Same.
1290
12912011-08-12 Torvald Riegel <triegel@redhat.com>
1292
1293 * testsuite/libitm.c++/static_ctor.C: New file.
1294
12952011-08-12 Torvald Riegel <triegel@redhat.com>
1296
1297 * testsuite/libitm.c/reentrant.c: New file.
1298
12992011-08-12 Torvald Riegel <triegel@redhat.com>
1300
1301 * config/generic/tls.h: Remove the free list for transactions and ...
1302 * beginend.cc (GTM::gtm_transaction::operator new): ... allocate ...
1303 (GTM::gtm_transaction::operator delete): ... and release here.
1304 (thread_exit_handler): New. Delete tx when thread terminates.
1305 (thread_exit_init): New.
1306 (GTM::gtm_transaction::begin_transaction): Set up on-exit handler.
1307 * testsuite/libitm.c/txrelease.c: New file.
1308
13092011-08-12 Torvald Riegel <triegel@redhat.com>
1310
1311 * query.cc (_ITM_getThreadnum): Set up gtm_thread if necessary.
1312 * testsuite/libitm.c/notx.c: New file.
1313
13142011-08-12 Torvald Riegel <triegel@redhat.com>
1315
1316 * config/generic/tls.h (gtm_thread): Move local_tid from here ...
1317 * libitm_i.h (local_tid): ... to here.
1318 * beginend.cc (GTM::gtm_transaction::begin_transaction): Same.
1319 (GTM::gtm_transaction::operator new): Set up gtm_thread if necessary.
1320
13212011-08-12 Torvald Riegel <triegel@redhat.com>
1322
1323 * retry.cc (GTM::gtm_transaction::decide_begin_dispatch): Use
1324 serialirr_onwrite_dispatch as new default for now.
1325 * method-serial.cc (serialirr_onwrite_dispatch): New.
1326 (GTM::dispatch_serialirr_onwrite): New.
1327 * libitm_i.h: Same.
1328
13292011-08-12 Torvald Riegel <triegel@redhat.com>
1330
1331 * beginend.cc (GTM::gtm_transaction::rollback): Roll back tx id as well.
1332 * query.cc (_ITM_getTransactionId): There is no active transaction if
1333 the current nesting level is zero.
1334
13352011-07-28 Torvald Riegel <triegel@redhat.com>
1336
1337 * beginend.cc (GTM::gtm_transaction::rollback): Fix nesting level
1338 rollback.
1339
13402011-07-28 Torvald Riegel <triegel@redhat.com>
1341
1342 * retry.cc (GTM::gtm_transaction::decide_begin_dispatch): Get
1343 transaction properties from the caller instead of from the
1344 transaction object.
1345 * libitm_i.h: Same.
1346 * beginend.cc (GTM::gtm_transaction::begin_transaction): Same.
1347
13482011-07-28 Torvald Riegel <triegel@redhat.com>
1349
1350 * local.cc (gtm_transaction::rollback_local): Support closed nesting.
1351 * eh_cpp.cc (GTM::gtm_transaction::revert_cpp_exceptions): Same.
1352 * dispatch.h: Same.
1353 * method-serial.cc: Same.
1354 * beginend.cc (GTM::gtm_transaction::begin_transaction): Change to
1355 flat nesting as default, and closed nesting on demand.
1356 (GTM::gtm_transaction::rollback): Same.
1357 (_ITM_abortTransaction): Same.
1358 (GTM::gtm_transaction::restart): Same.
1359 (GTM::gtm_transaction::trycommit): Same.
1360 (GTM::gtm_transaction::trycommit_and_finalize): Removed.
1361 (choose_code_path): New.
1362 (GTM::gtm_transaction_cp::save): New.
1363 (GTM::gtm_transaction_cp::commit): New.
1364 * query.cc (_ITM_inTransaction): Support flat nesting.
1365 * libitm_i.h (GTM::gtm_transaction_cp): New helper struct for nesting.
1366 (GTM::gtm_transaction): Support flat and closed nesting.
1367 * alloc.cc (commit_allocations_2): New.
1368 (commit_cb_data): New helper struct.
1369 (GTM::gtm_transaction::commit_allocations): Handle nested
1370 commits/rollbacks.
1371 * libitm.texi: Update user action section, add description of nesting.
1372
13732011-07-28 Torvald Riegel <triegel@redhat.com>
1374
1375 * libitm_i.h: Add closed nesting as restart reason.
1376 * retry.cc (GTM::gtm_transaction::decide_retry_strategy): Same.
1377
13782011-07-28 Torvald Riegel <triegel@redhat.com>
1379
1380 * useraction.cc: Use vector instead of list to store actions.
1381 Also support partial rollbacks for closed nesting.
1382 * libitm_i.h (GTM::gtm_transaction::user_action): Same.
1383 * beginend.cc: Same.
1384
13852011-07-28 Torvald Riegel <triegel@redhat.com>
1386
1387 * dispatch.h (GTM::abi_dispatch): Add can_run_uninstrumented_code and
1388 closed_nesting flags, as well as a closed nesting alternative.
1389 * method-serial.cc: Same.
1390 (serial_dispatch): Renamed to serialirr_dispatch.
1391 (GTM::dispatch_serialirr): Same.
1392 (serial_dispatch_ul): Renamed to serial_dispatch.
1393 (GTM::dispatch_serial): Same.
1394
13952011-07-28 Torvald Riegel <triegel@redhat.com>
1396
1397 * libitm.h (_ITM_codeProperties): Change pr_hasElse to the ABI's value.
1398
13992011-07-28 Torvald Riegel <triegel@redhat.com>
1400
1401 * aatree.h (aa_tree::remove): New.
1402 (aa_tree::operator new): Add placement new.
1403
14042011-07-02 Torvald Riegel <triegel@redhat.com>
1405
1406 * containers.h: New file.
1407 * util.cc (xmalloc, xrealloc): Accept cacheline-alloc flag.
1408 * libitm_i.h (xmalloc, xrealloc): Moved declarations from here ...
1409 * common.h: ... to here.
1410 (local_undo): Use GTM::vector for gtm_transaction::local_undo.
1411 * local.cc: Same.
1412
14132011-06-30 Torvald Riegel <triegel@redhat.com>
1414
1415 * libitm_i.h (STATE_ABORTING): Remove.
1416 * beginend.cc (_ITM_abortTransaction): Same.
1417 (GTM::gtm_transaction::trycommit_and_finalize): Same.
1418 * libitm.h (_ITM_registerThrownObject, _ITM_tryCommitTransaction): Remove.
1419 (_ITM_rollbackTransaction): Remove.
1420 * beginend.cc: Same.
1421 * libitm.map: Same.
1422 * libitm.texi: Document these ABI changes.
1423
14242011-06-30 Torvald Riegel <triegel@redhat.com>
1425
1426 * libitm.texi: New file.
1427 * Makefile.am: Add libitm.texi.
1428 * Makefile.in: Rebuild.
1429
14302011-06-30 Torvald Riegel <triegel@redhat.com>
1431
1432 * libitm_i.h: Move parts to common.h and dispatch.h.
1433 * common.h: New file.
1434 * dispatch.h: New file, new dispatch class.
1435 Rename GTM::abi_dispatch::lock_type to ls_modifier.
1436 RenameGTM::abi_dispatch::NOLOCK to NONTXNAL.
1437 * beginend.cc (GTM::gtm_transaction::begin_transaction): Delegate mode
1438 decision to retry.cc.
1439 * retry.cc (GTM::gtm_transaction::decide_retry_strategy): Use serial mode
1440 only.
1441 (GTM::gtm_transaction::decide_begin_dispatch): Same.
1442 * method-serial.cc: Adapt to new dispatch. Add serial mode with undo
1443 logging.
1444 * barrier.cc: Use new barriers definitions.
1445 (abi_dispatch::memmove_overlap_check): New.
1446 * config/x86/x86_sse.cc: Same.
1447 * config/x86/x86_avx.cc: Same.
1448 * Makefile.am: Don't build readonly and wbetl methods, memset.cc and
1449 memcpy.cc.
1450 * Makefile.in: Rebuild.
1451 * method-readonly.cc: Remove.
1452 * method-wbetl.cc: Rename GTM::abi_dispatch::lock_type to ls_modifier.
1453 Rename GTM::abi_dispatch::NOLOCK to NONTXNAL.
1454
14552011-06-30 Torvald Riegel <triegel@redhat.com>
1456
1457 * alloc_c.cc (_ITM_dropReferences): Don't support it anymore.
1458 * testsuite/libitm.c++/dropref.C: _ITM_dropReferences is expected to fail.
1459 * testsuite/libitm.c/dropref-2.c: Same.
1460 * testsuite/libitm.c/dropref.c: Same.
1461
14622011-06-30 Torvald Riegel <triegel@redhat.com>
1463
1464 * config/generic/tls.h (gtm_disp): Rename to abi_disp.
1465 * config/generic/tls.h (set_gtm_disp): Rename to set_abi_disp.
1466 * libitm_i.h: Rename gtm_dispatch to abi_dispatch.
1467 * alloc_c.cc: Same.
1468 * barrier.tpl: Same.
1469 * beginend.c: Same.
1470 * config/generic/tls.h: Same.
1471 * config/x86/tls.h: Same.
1472 * libitm_i.h: Same.
1473 * memcpy.cc: Same.
1474 * memset.cc: Same.
1475 * method-readonly.cc: Same.
1476 * method-serial.cc: Same.
1477 * method-wbetl.cc: Same.
1478 * retry.cc: Same.
1479
14802011-03-03 Richard Henderson <rth@redhat.com>
1481
1482 * config/posix/rwlock.cc (write_upgrade): Add missing case.
1483 From Patrik Marlier <patrick.marlier@unine.ch>.
1484
14852011-02-03 Richard Henderson <rth@redhat.com>
1486
1487 * acinclude.m4 (LIBITM_CHECK_SIZE_T_MANGLING): New.
1488 * configure.ac: Use it.
1489 * configure, config.h.in: Rebuild.
1490 * alloc_cpp.cc (_ZnwX): Use MANGLE_SIZE_T in constructing the name.
1491 (_ZnaX, _ZnwXRKSt9nothrow_t, _ZnaXRKSt9nothrow_t, _ZGTtnwX,
1492 _ZGTtnaX, _ZGTtnwXRKSt9nothrow_t, _ZGTtnaXRKSt9nothrow_t): Likewise.
1493 * libitm.map: Use wildcards to match size_t mangling.
1494
14952010-12-14 Richard Henderson <rth@redhat.com>
1496
1497 * beginend.cc (GTM::gtm_transaction::begin_transaction): Allocate
1498 blocks of TIDs per thread.
1499 * config/generic/tls.h (struct gtm_thread): Add local_tid member.
1500 (setup_gtm_thr): Return the thread structure.
1501 * config/x86/tls.h (setup_gtm_thr): Likewise.
1502
15032010-12-14 Richard Henderson <rth@redhat.com>
1504
1505 * clone.cc (table_lock): Remove.
1506 (find_clone): Don't take it.
1507 (ExcludeTransaction): New helper class.
1508 (_ITM_registerTMCloneTable): Use it.
1509 (_ITM_deregisterTMCloneTable): Likewise.
1510
15112010-12-14 Richard Henderson <rth@redhat.com>
1512
1513 * config/x86/tls.h: New file.
1514
15152010-07-15 Richard Henderson <rth@redhat.com>
1516
1517 * Makefile.am (AM_CXXFLAGS): Add -funwind-tables.
1518 * Makefile.in: Rebuild.
1519
15202010-07-13 Aldy Hernandez <aldyh@redhat.com>
1521
1522 * method-wbetl.cc (trydropreference): Fix source line.
1523
15242010-07-13 Aldy Hernandez <aldyh@redhat.com>
1525
1526 * libitm.h: Add comment.
1527 * libitm_i.h (begin_transaction): Add ITM_REGPARM.
1528
15292010-07-07 Aldy Hernandez <aldyh@redhat.com>
1530
1531 * configure.ac: Call LIBITM_CHECK_64BIT_SYNC_BUILTINS.
1532 * beginend.cc (begin_transaction): If 64-bit sync builtins are not
1533 available, use pthread mutexes.
1534 * acinclude.m4 (LIBITM_CHECK_64BIT_SYNC_BUILTINS): New.
1535 * config.h.in: Regenerate.
1536 * configure: Regenerate.
1537
15382010-07-06 Aldy Hernandez <aldyh@redhat.com>
1539
1540 * libitm.h (ITM_PURE): Define.
1541 Declare _ITM_malloc, _ITM_calloc, and _ITM_free.
1542
15432010-06-28 Aldy Hernandez <aldyh@redhat.com>
1544
1545 * method-wbetl.cc (class wbetl_dispatch): Add trydropreference.
1546 (validate): Add comment.
1547 (trydropreference): New.
1548 * method-readonly.cc (class readonly_dispatch): Add
1549 trydropreference.
1550 * alloc_c.cc (_ITM_dropReferences): Remove const attribute.
1551 Call trydropreference().
1552 * libitm.h (_ITM_dropReferences): Remove const attribute.
1553 * method-serial.cc (class serial_dispatch): Add trydropreference.
1554 * libitm_i.h (struct gtm_dispatch): Add trydropreference.
1555
15562010-06-28 Aldy Hernandez <aldyh@redhat.com>
1557
1558 * memcpy.cc (do_memcpy): Comment.
1559
15602010-06-25 Aldy Hernandez <aldyh@redhat.com>
1561
1562 * barrier.tpl: Add comments throughout.
1563
15642010-06-24 Aldy Hernandez <aldyh@redhat.com>
1565
1566 * method-wbetl.cc (struct w_entry): Add comments.
1567 (trycommit): Same.
1568 (rollback): Same.
1569
15702010-06-24 Aldy Hernandez <aldyh@redhat.com>
1571
1572 * alloc_c.cc (_ITM_dropReferences): New.
1573 * libitm.map (_ITM_dropReferences): Add.
1574 * libitm.h (_ITM_dropReferences): Add transaction_pure attribute.
1575 * libitm_i.h (struct gtm_transaction): Declare
1576 drop_references_allocations and drop_references_local.
1577 * local.cc (rollback_local): Ignore memory when applicable.
1578 (drop_references_local): New.
1579
15802010-06-23 Richard Henderson <rth@redhat.com>
1581
1582 * barrier.tpl, beginend.cc, clone.cc, tls.h, memcpy.cc,
1583 memset.cc, method-serial.cc: Revert the 2010-06-16 change.
1584 * config/x86/target.h (struct gtm_jmpbuf): Change CFA type to void*.
1585 * config/alpha/target.h: Likewise.
1586 * config/generic/tls.cc (gtm_mask_stack): Use it.
1587
15882010-06-23 Richard Henderson <rth@redhat.com>
1589
1590 * config/posix/cachepage.cc (gtm_cacheline_page::operator new): Use
1591 a mutex instead of trying a lock-free compare-and-swap on the list.
1592 (gtm_cacheline_page::operator delete): Likewise.
1593
15942010-06-16 Richard Henderson <rth@redhat.com>
1595
1596 * method-wbetl.cc (wbetl_dispatch::trycommit): Discard changes
1597 that overlap the libitm stack.
1598 * barrier.tpl: Mark incoming stack.
1599 * beginend.cc (_ITM_rollbackTransaction, _ITM_abortTransaction,
1600 _ITM_commitTransaction, _ITM_commitTransactionEH): Likewise.
1601 * clone.cc (_ITM_getTMCloneOrIrrevocable): Likewise.
1602 * memcpy.cc, memset.cc: Likewise.
1603 * method-serial.cc (_ITM_changeTransactionMode): Likewise.
1604 * config/generic/tls.h (gtm_thread): Add stack_top member.
1605 (gtm_stack_top, set_gtm_stack_top, struct gtm_stack_marker): New.
1606 * libitm_i.h (gtm_mask_stack): Declare.
1607 * config/generic/tls.cc: New file.
1608 * Makefile.am (libitm_la_SOURCES): Add it.
1609 (AM_CXXFLAGS): Turn off exceptions.
1610 * Makefile.in: Rebuild.
1611
16122010-06-16 Richard Henderson <rth@redhat.com>
1613
1614 * alloc.cc (struct gtm_alloc_action): Move definition ...
1615 * libitm_i.h: ... here.
1616 (class gtm_transaction): Declare new and delete.
1617 * beginend.cc (alloc_tx): Reformulate as operator new.
1618 (free_tx): Reformulate as operator delete.
1619 * config/generic/tls.h (gtm_thread): Change free_tx member to void *.
1620
16212010-06-11 Richard Henderson <rth@redhat.com>
1622
1623 * clone.cc (clone_entry_compare): Fix typo.
1624 From Patrik Marlier <patrick.marlier@unine.ch>.
1625
16262010-05-13 Richard Henderson <rth@redhat.com>
1627
1628 * alloc_c.cc (_ITM_malloc, _ITM_calloc, _ITM_free): Wrap functions
1629 in extern "C".
1630
16312010-05-07 Aldy Hernandez <aldyh@redhat.com>
1632
1633 * libitm_i.h (struct gtm_transaction): Remove
1634 get_allocation_size.
1635 (record_allocation): Remove size parameter.
1636 * libitm.map (_ITM_realloc): Remove.
1637 * alloc_c.cc (_ITM_realloc): Remove.
1638 (_ITM_malloc): Remove size argument to record_allocation.
1639 (_ITM_calloc): Same.
1640 * alloc_cpp.cc (_ZGTtnwm): Same.
1641 (_ZGTtnwmRKSt9nothrow_t): Same.
1642 (_ZGTtnam): Same.
1643 (_ZGTtnamRKSt9nothrow_t): Same.
1644 * alloc.cc (struct gtm_alloc_action): Remove size.
1645 (get_allocation_size): Remove.
1646 (commit_allocations): Add comment.
1647 (record_allocation): Remove size parameter.
1648 (forget_allocation): Remove set of size.
1649
16502010-04-19 Aldy Hernandez <aldyh@redhat.com>
1651
1652 * Makefile.am (abi_version): New.
1653 (AM_CXXFLAGS): Pass abi_version.
1654 * Makefile.in: Regenerate.
1655 * config/x86/unaligned.h: Remove always_inline kludge for vectors.
1656
16572010-04-06 Aldy Hernandez <aldyh@redhat.com>
1658
1659 * clone.cc (_ITM_getTMCloneOrIrrevocable): Rename from
1660 _ITM_getTMCloneOrIrrevokable.
1661 * libitm.h (_ITM_getTMCloneOrIrrevocable): Same.
1662 * libitm.map (_ITM_getTMCloneOrIrrevocable): Same.
1663
16642010-03-26 Aldy Hernandez <aldyh@redhat.com>
1665
1666 * configure.ac: Remove Linux futex support.
1667 * configure.tgt (config_path): Same.
1668 * Makefile.am: Same.
1669 * config/linux: Remove entire directory.
1670 * configure: Rebuild.
1671 * Makefile.in: Rebuild.
1672 * testsuite/Makefile.in: Rebuild.
1673
16742010-03-09 Aldy Hernandez <aldyh@redhat.com>
1675
1676 * retry.cc (decide_retry_strategy): Set state to STATE_SERIAL when
1677 switching to serial mode.
1678 * beginend.cc (trycommit_and_finalize): Unlock serial_lock.
1679
16802010-03-03 Aldy Hernandez <aldyh@redhat.com>
1681
1682 * configure.tgt: Add emacs -*- tags.
1683 * barrier.tpl: Same.
1684
16852010-02-23 Aldy Hernandez <aldyh@redhat.com>
1686
1687 * Makefile.am: Rename serial.cc to method-serial.cc.
1688 * Makefile.in: Regenerate with automake 1.11.1.
1689 * testsuite/Makefile.in: Same.
1690 * aclocal.m4: Regenerate with aclocal 1.11.1.
1691 * method-serial.cc: Rename from serial.cc.
1692 * libitm_i.h (struct gtm_transaction): Update comment on
1693 serialirr_mode.
1694
16952010-02-22 Aldy Hernandez <aldyh@redhat.com>
1696
1697 * libitm_i.h (GTM_longjmp): Add ITM_REGPARM.
1698 * config/linux/rwlock.h (class gtm_rwlock): Add comments.
1699
17002010-02-11 Aldy Hernandez <aldyh@redhat.com>
1701
1702 * configure: Rebuild.
1703
17042009-11-12 Richard Henderson <rth@redhat.com>
1705
1706 * Rewrite everything in C++.
1707
17082009-11-03 Richard Henderson <rth@redhat.com>
1709
1710 * config/x86/x86_sse.c, config/x86/x86_avx.c: New files.
1711 * Makefile.am (libitm_la_SOURCES): Add them.
1712 * configure.ac (ARCH_X86): New conditional.
1713 * Makefile.in, configure: Rebuild.
1714 * configure.tgt: Set up ARCH; do cflags setup at the same time.
1715 Move futex setup into "other system configury" case.
1716 * local.c (rollback_local): Merge into ...
1717 (GTM_rollback_local): ... here.
1718 (GTM_LB): Rename from GTM_alloc_local; do the memcpy here.
1719 (_ITM_LB): Define as an alias to GTM_LB.
1720
17212009-11-03 Richard Henderson <rth@redhat.com>
1722
1723 * method-readonly.c: New file.
1724 * Makefile.am (libitm_la_SOURCES): Add it.
1725 * Makefile.in: Rebuild.
1726 * beginend.c (gtm_stmlock_array, gtm_clock): New.
1727 (GTM_begin_transaction): Use dispatch_readonly for read-only txn.
1728 * libitm_i.h (gtm_stmlock, gtm_version): Move from method-wbetl.c.
1729 (GTM_VERSION_MAX, GTM_VERSION_INVALID, gtm_stmlock_owned_p,
1730 gtm_stmlock_set_owned, gtm_stmlock_get_addr,
1731 gtm_stmlock_get_version, gtm_stmlock_set_version, LOCK_ARRAY_SIZE,
1732 gtm_stmlock_array, gtm_get_stmlock, gtm_clock, RESTART_NOT_READONLY,
1733 gtm_get_clock, gtm_inc_clock): New.
1734 * method-wbetl.c (gtm_version, gtm_stmlock, OWNED_MASK, VERSION_MAX,
1735 LOCK_GET_OWNED, LOCK_SET_ADDR, LOCK_GET_ADDR, LOCK_GET_TIMESTAMP,
1736 LOCK_SET_TIMESTAMP, LOCK_ARRAY_SIZE, LOCK_MASK, LOCK_IDX, GET_LOCK,
1737 locks, gclock, CLOCK, GET_CLOCK, FETCH_AND_INC_CLOCK): Remove and
1738 replace uses with new libitm_i.h symbols.
1739 (dispatch_wbetl): Rename from wbetl_dispatch.
1740 * retry.c (GTM_decide_retry_strategy): If RESTART_NOT_READONLY, move
1741 away from dispatch_readonly; abort if the beginTransaction call
1742 asserted that the transaction was readonly.
1743
17442009-11-03 Richard Henderson <rth@redhat.com>
1745
1746 * memset.c: New file.
1747 * Makefile.am (libitm_la_SOURCES): Add it.
1748 * Makefile.in: Rebuild.
1749 * testsuite/libitm.c/memset-1.c: New.
1750
17512009-11-03 Richard Henderson <rth@redhat.com>
1752
1753 * dispatch.c: Remove file.
1754 * useraction.c (struct gtm_user_action): Move from libitm.h.
1755 * serial.c (GTM_null_read_lock, GTM_null_write_lock): New.
1756 (serial_memset, serial_memmove, serial_memcpy): Remove.
1757 (serial_W*, serial_R*): Remove.
1758 (serial_dispatch): Update to match.
1759 * configure.ac: Move Werror down below configure checks. Don't
1760 check for sys/loadavg.h, do check for malloc.h. Don't check for
1761 getloadavg and clock_gettime; do check for memalign, posix_memalign.
1762 Use GCC_AC_FUNC_MMAP_BLACKLIST
1763 * libitm.h: Split out all internal items to...
1764 * libitm_i.h: ... here. New file.
1765 * copymask.c: New file.
1766 * local.c (struct gtm_local_undo): Move from libitm.h.
1767 (GTM_alloc_local): Rename from alloc_local; export.
1768 * memcpy.c: New file.
1769 * alloc_c.c (_ITM_realloc): Use _ITM_memcpyRnWt directly.
1770 * config/posix/page.c: New file.
1771 * config/posix/target_tls.h: Remove file.
1772 * barrier.c: New file.
1773 * Makefile.am (libitm_la_SOURCES): Add barrier.c, memcpy.c,
1774 copymask.c, page.c.
1775 * alloc.c (struct gtm_alloc_action): Move from libitm.h.
1776 * method-wbetl.c: Rewrite for new cacheline methods.
1777 * Makefile.in, configure, testsuite/Makefile.in, config.h.in: Rebuild.
1778
1779 * config/alpha/sjlj.S: Fix typo.
1780 * config/alpha/target_i.h: Copy functions from alpha/target.h.
1781 * config/alpha/copymask.c: New file.
1782 * config/alpha/target.h (CACHELINE_SIZE): New.
1783 (STRICT_ALIGNMENT, PAGE_SIZE, FIXED_PAGE_SIZE): New.
1784
1785 * config/x86/target_i.h: Copy functions from x86/target.h.
1786 * config/x86/copymask.c: New file.
1787 * config/x86/target.h (_ITM_ALL_TARGET_TYPES): Remove.
1788 (CACHELINE_SIZE, STRICT_ALIGNMENT): New.
1789 (PAGE_SIZE, FIXED_PAGE_SIZE): New.
1790 * config/x86/target_tls.h: Move contents to target_i.h.
1791
1792 * testsuite/libitm.c/clone-1.c: Include libitm.h.
1793 * testsuite/libitm.c/memcpy-1.c: New.
1794
17952009-10-22 Richard Henderson <rth@redhat.com>
1796
1797 * Makefile.am (CCAS, CCASFLAGS, LTCCASCOMPILE): Remove.
1798 (AM_CCASFLAGS): New.
1799 * configure.ac: Add AM_PROG_AS. Use m4_rename_force for
1800 saving/restoring _AC_ARG_VAR_PRECIOUS.
1801 * Makefile.in, aclocal.m4, config.h.in, configure,
1802 testsuite/Makefile.in: Rebuild with automake 1.11; autoconf 2.64.
1803
18042009-10-22 Richard Henderson <rth@redhat.com>
1805
1806 * testsuite/*: Update for new compiler syntax.
1807
18082009-10-21 Richard Henderson <rth@redhat.com>
1809
1810 * libitm.h (_ITM_abortReason): Add outerAbort.
1811
18122009-08-03 Richard Henderson <rth@redhat.com>
1813
1814 * libitm.map (_ITM_commitTransactionEH, _ITM_cxa_allocate_exception,
1815 _ITM_cxa_begin_catch, _ITM_cxa_end_catch, _ITM_cxa_throw): Export.
1816 * method-wbetl.c (struct w_entry): Remove mask.
1817 (wbetl_write, wbetl_load): Return pointer to word containing the data;
1818 adjust all callers.
1819
18202009-07-22 Richard Henderson <rth@redhat.com>
1821
1822 * eh_cpp.c: New file.
1823 * Makefile.am (libitm_la_SOURCES): Add it.
1824 * Makefile.in: Rebuild.
1825 * beginend.c (GTM_rollback_transaction): Undo exception state.
1826 (GTM_trycommit_transaction): Mark inline.
1827 (GTM_trycommit_and_finalize_transaction): Split out from ...
1828 (_ITM_commitTransaction): ... here.
1829 (_ITM_commitTransactionEH): New function.
1830 * libitm.h (struct gtm_transaction): Add cxa_catch_count,
1831 cxa_unthrown, eh_in_flight; reorder.
1832
1833 * testsuite/libitm.c++/c++.exp: New.
1834 * testsuite/libitm.c++/eh-1.C: New.
1835
1836 * aatree.c (aa_free): Remove REGPARM.
1837 * aatree.h: Remove all REGPARM.
1838
18392009-07-18 Richard Henderson <rth@redhat.com>
1840
1841 * aatree.c, aatree.h, alloc.c, alloc_c.c, alloc_cpp.c: New files.
1842 * Makefile.am (libitm_la_SOURCES): Add them.
1843 * Makefile.in: Rebuild.
1844 * beginend.c (GTM_rollback_transaction): Use GTM_commit_allocations.
1845 (GTM_trycommit_transaction): Likewise.
1846 * libitm.h: Include aatree.h
1847 (struct gtm_alloc_action): New.
1848 (struct gtm_transaction): Add alloc_actions.
1849 (GTM_record_allocation, GTM_forget_allocation): Declare.
1850 (GTM_get_allocation_size, GTM_commit_allocations): Declare.
1851 * libitm.map (_ITM_malloc, _ITM_calloc, _ITM_realloc, _ITM_free,
1852 _ZGTtnwm, _ZGTtnam, _ZGTtdlPv, _ZGTtdaPv, _ZGTtnwmRKSt9nothrow_t,
1853 _ZGTtnamRKSt9nothrow_t, _ZGTtdlPvRKSt9nothrow_t,
1854 _ZGTtdaPvRKSt9nothrow_t): Export.
1855
18562009-07-18 Richard Henderson <rth@redhat.com>
1857
1858 * target_tls.h: Move ...
1859 * config/posix/target_tls.h: ... here.
1860
18612009-07-07 Richard Henderson <rth@redhat.com>
1862
1863 * config/x86/target.h (atomic_write_barrier): Use sfence if available.
1864
18652009-07-07 Richard Henderson <rth@redhat.com>
1866
1867 * Update to GPL3.
1868
18692009-07-07 Richard Henderson <rth@redhat.com>
1870
1871 * libitm.h (struct gtm_transaction): Widen id to _ITM_transactionId_t.
1872 * beginend.c (global_tid): Widen to _ITM_transactionId_t.
1873
1874 * configure.tgt: Don't use -ftls-model for x86 linux.
1875 * libitm.h: Include target.h after standard includes.
1876 (_gtm_thr): Rename from gtm_thr.
1877 (setup_gtm_thr, gtm_thr, gtm_tx, set_gtm_tx): New.
1878 (gtm_disp, set_gtm_disp): New.
1879 * beginend.c, dispatch.c, local.c, method-wbetl.c, query.c,
1880 retry.c, serial.c, useraction.c: Use accessor functions throughout.
1881 * config/alpha/target_tls.h, config/x86/target_tls.h: New files.
1882
18832009-07-07 Richard Henderson <rth@redhat.com>
1884
1885 * config/linux/rwlock.c (EZ): New define. Use it throughout.
1886
18872009-07-06 Richard Henderson <rth@redhat.com>
1888
1889 * libitm.h (_ITM_SRCLOCATION_DECL_1, _ITM_SRCLOCATION_DECL_2): Remove.
1890 (_ITM_SRCLOCATION_DEFN_1, _ITM_SRCLOCATION_DEFN_2): Remove.
1891 (_ITM_beginTransaction): Take variadic arguments.
1892 (_ITM_registerThrownObject): Declare.
1893 * beginend.c, serial.c: Update.
1894 * libitm.map: Add _ITM_registerThrownObject.
1895
18962009-01-28 Richard Henderson <rth@redhat.com>
1897
1898 * Makefile.am (libitm_la_SOURCES): Add clone.c.
1899 * Makefile.in: Rebuild.
1900 * beginend.c (_ITM_abortTransaction): Abort if irrevokable.
1901 (GTM_restart_transaction): Fix uninstrumented code check.
1902 * retry.c (GTM_decide_retry_strategy): Add serial check.
1903 * serial.c (GTM_serialmode): Add irrevokable variable. Don't
1904 automatically go irrevokable when in serial mode.
1905 * clone.c: New file.
1906 * libitm.h, libitm.map: Update.
1907
19082009-01-27 Richard Henderson <rth@redhat.com>
1909
1910 * Makefile.am (LTCCASCOMPILE): Define.
1911 (libitm_la_SOURCES): Add methid-wbetl.c.
1912 * testsuite/Makefile.am: New
1913 * configure.ac: Add testsuite/Makefile.
1914 * Makefile.in, testsuite/Makefile.in, configure: Regenerate.
1915 * beginend.c (GTM_begin_transaction): Install wbetl_dispatch.
1916 (_ITM_abortTransaction): Finalize implementation method; pass
1917 transaction properties to longjmp.
1918 (GTM_restart_transaction): Split out from ...
1919 (_ITM_commitTransaction): ... here.
1920 * config/linux/x86/futex_bits.h (cpu_relax, atomic_write_barrier):
1921 Move to config/x86/target.h.
1922 * config/linux/alpha/futex_bits.h: New.
1923 * config/x86/sjlj.S (GTM_longjmp): Fix 64-bit input register.
1924 * config/x86/target.h: Disable target types for 32-bit.
1925 * config/alpha/sjlj.S, config/alpha/target.h: New.
1926 * libitm.h (struct gtm_dispatch): Add init, fini.
1927 (enum restart_reason): New.
1928 (struct gtm_transaction): Add method and restarts.
1929 * retry.c (GTM_decide_retry_strategy): Implement.
1930 * serial.c (serial_init, serial_fini): New.
1931 (GTM_serialmode): Finialize outgoing method.
1932 * method-wbetl.c: New.
1933
19342008-12-09 Richard Henderson <rth@redhat.com>
1935
1936 * config/x86/target.h (_ITM_ALL_TARGET_TYPES, _ITM_TYPE_ATTR): New.
1937 * configure.tgt (i386-*, x86_64-*): Don't force SSE.
1938 * dispatch.c (_ITM_##R##T, _ITM_##W##T): Use _ITM_TYPE_ATTR.
1939 * libitm.h (_ITM_ALL_TARGET_TYPES, _ITM_TYPE_ATTR): Provide default.
1940 (_ITM_TYPE_M64, _ITM_TYPE_M128, _ITM_TYPE_M256): Move to x86 header.
1941 (_ITM_ALL_TYPES): Use _ITM_ALL_TARGET_TYPES.
1942 * local.c (_ITM_L##T): Use _ITM_TYPE_ATTR.
1943 * serial.c (serial_R##T, serial_W##T): Likewise.
1944
19452008-11-21 Richard Henderson <rth@redhat.com>
1946
1947 * Initial commit.
21fa2a29
JJ
1948\f
1949Copyright (C) 2008-2016 Free Software Foundation, Inc.
1950
1951Copying and distribution of this file, with or without modification,
1952are permitted in any medium without royalty provided the copyright
1953notice and this notice are preserved.