2021-06-17  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/91488
	* testsuite/libitm.c++/libstdc++-pr91488.C: New test.

2021-01-15  Jakub Jelinek  <jakub@redhat.com>

	PR target/70454
	* configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
	be added through preprocessor check on
	__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.

2021-01-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* configure: Re-generate.

2021-01-01  Jakub Jelinek  <jakub@redhat.com>

	* libitm.texi: Bump @copying's copyright year.

2020-12-05  Iain Sandoe  <iain@sandoe.co.uk>

	PR target/97865
	* configure.tgt: Add dynamic_lookup to XLDFLAGS for Darwin.
	* configure: Regenerate.

2020-11-29  John David Anglin  <danglin@gcc.gnu.org>

	* configure: Regenerate.

2020-10-01  Alan Modra  <amodra@gmail.com>

	* config/powerpc/sjlj.S: Support __PCREL__ code.

2020-07-24  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* config/aarch64/sjlj.S: Add conditional pac-ret protection.

2020-07-09  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* config/aarch64/sjlj.S: Add BTI marking and related definitions,
	and add BTI c to function entries.

2020-07-09  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* config/aarch64/sjlj.S: Add stack note if __FreeBSD__ is defined.

2020-05-29  H.J. Lu  <hjl.tools@gmail.com>

	PR bootstrap/95413
	* configure: Regenerated.

2020-05-15  H.J. Lu  <hongjiu.lu@intel.com>

	PR bootstrap/95147
	* configure: Regenerated.

2020-05-14  H.J. Lu  <hongjiu.lu@intel.com>

	* configure: Regenerated.

2020-05-12  Nathan Sidwell  <nathan@acm.org>

	Fix throw specifiers on interface.
	* libitm/libitm.h (_ITM_NOTHROW): Define.
	(_ITM_cxa_allocate_exception, _ITM_cxa_free_exception)
	(_ITM_cxa_begin_catch): Use it.
	* eh_cpp.cc: Add throw() to __cxa_allocate_exception,
	__cxa_free_exception, __cxa_begin_catch, __cxa_tm_cleanup,
	__cxa_get_globals.
	(_ITM_cxa_allocate_exception, _ITM_cxa_free_exception)
	(_ITM_cxa_begin_catch): Likewise.

2020-05-05  Nathan Sidwell  <nathan@acm.org>

	* testsuite/lib/libitm.exp (libitm_init): Add
	-fdiagnostics-color=never to options.

2020-02-12  Sandra Loosemore  <sandra@codesourcery.com>

	PR libstdc++/79193
	PR libstdc++/88999

	* configure: Regenerated.

2020-01-24  Maciej W. Rozycki  <macro@wdc.com>

	* configure.ac: Handle `--with-toolexeclibdir='.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/Makefile.in: Regenerate.

2020-01-01  Jakub Jelinek  <jakub@redhat.com>

	Update copyright years.

	* libitm.texi: Bump @copying's copyright year.

2019-12-03  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	PR libgomp/91938
	* configure.tgt: Avoid IE tls on *-*-musl*.

2019-09-27  Maciej W. Rozycki  <macro@wdc.com>

	* configure: Regenerate.

2019-09-10  Christophe Lyon  <christophe.lyon@st.com>

	* config/arm/sjlj.S (ldaddr): Add FDPIC support.

2019-09-10  Christophe Lyon  <christophe.lyon@st.com>

	* configure.tgt: Handle *-*-uclinux*.
	* configure: Regenerate.

2019-09-06  Florian Weimer  <fweimer@redhat.com>

	* configure: Regenerate.

2019-09-03  Chung-Lin Tang  <cltang@codesourcery.com>

	PR other/79543
	* acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Fix GNU ld --version
	scanning to conform to the GNU Coding Standards.
	* configure: Regenerate.

2019-05-03  Jakub Jelinek  <jakub@redhat.com>

	* Makefile.am (finclude): Remove.
	* Makefile.in: Regenerated.

2019-01-01  Jakub Jelinek  <jakub@redhat.com>

	Update copyright years.

2019-01-01  Jakub Jelinek  <jakub@redhat.com>

	* libitm.texi: Bump @copying's copyright year.

2018-12-16  Jakub Jelinek  <jakub@redhat.com>

	PR c++/88482
	* eh_cpp.cc (__cxa_throw): Change DEST argument type from
	void * to void (*) (void *).
	(_ITM_cxa_throw): Likewise.
	* libitm.h (_ITM_cxa_throw): Likewise.
	* libitm.texi (_ITM_cxa_throw): Likewise.

2018-12-13  Peter Bergner  <bergner@linux.ibm.com>

	* config/powerpc/target.h (htm_available):  Add support for
	PPC_FEATURE2_HTM_NO_SUSPEND.  Use __builtin_cpu_supports if available.

2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am.
	(AUTOMAKE_OPTIONS): Add info-in-builddir.
	(CLEANFILES): Remove libitm.info.
	* configure.ac: Remove AC_PREREQ.
	* testsuite/Makefile.am (RUNTEST): Remove quotes.
	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
	Regenerate.

2018-10-30  Nicholas Krause <xerofoify@gmail.com>

	PR libitm/86293
	* method-serial.cc: Mark varible as potentially unused
	to silence warning.

2018-08-03  Sergei Trofimovich  <slyfox@gentoo.org>

	* config/sh/sjlj.S: Adjust to use PIC vs normal code to avoid
	absolute relocation in a shared library.

2018-06-12  H.J. Lu  <hongjiu.lu@intel.com>

	PR libitm/85988
	* config/linux/x86/tls.h (SEG_READ): Use the offset of
	__private_tm as base.
	(SEG_WRITE): Likewise.
	(SEG_ENCODE_WRITE): Correct the offset of pointer_guard for x32.
	(gtm_thr): Replace SEG_READ(10) with SEG_READ(0).
	(set_gtm_thr): Replace SEG_WRITE(10) with SEG_WRITE(0).
	(abi_disp): Replace SEG_DECODE_READ(11) with SEG_DECODE_READ(1).
	(set_abi_disp): Replace SEG_ENCODE_WRITE(11) with

2018-05-17  Jason Merrill  <jason@redhat.com>

	* beginend.cc (save): Disable -Werror=deprecated-copy.

2018-05-02  Tom de Vries  <tom@codesourcery.com>

	PR testsuite/85106
	* testsuite/lib/libitm.exp: Include scanltranstree.exp.

2018-05-02  Tom de Vries  <tom@codesourcery.com>

	PR testsuite/85106
	* testsuite/lib/libitm.exp: Include scanwpaipa.exp.

2018-04-24  H.J. Lu  <hongjiu.lu@intel.com>

	* config/x86/sjlj.S (_ITM_beginTransaction): Add
	(__CET__ & 2) != 0 check for shadow stack.
	(GTM_longjmp): Likewise.

2018-04-24  H.J. Lu  <hongjiu.lu@intel.com>

	* configure: Regenerated.

2018-04-23  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/85489
	* config/x86/sjlj.S (GTM_longjmp): Replace jle/jg with jbe/ja.

2018-04-19  Jakub Jelinek  <jakub@redhat.com>

	* configure: Regenerated.

2018-04-18  David Malcolm  <dmalcolm@redhat.com>

	PR jit/85384
	* configure: Regenerate.

2018-02-14  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>

	PR target/84148
	* configure: Regenerate.

2018-01-03  Jakub Jelinek  <jakub@redhat.com>

	Update copyright years.

	* libitm.texi: Bump @copying's copyright year.

2017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>

	* Makefile.in: Regenerate.
	* acinclude.m4: Add enable.m4 and cet.m4.
	* config/x86/sjlj.S: Include cet.h.
	(_ITM_beginTransaction): Add _CET_ENDBR.
	Save Shadow Stack pointer.
	(GTM_longjmp): Add _CET_ENDBR. Restore Shadow Stack pointer.
	* config/x86/target.h (struct gtm_jmpbuf):
	Add new field for Shadow Stack pointer.
	* configure: Regenerate.
	* configure.ac: Set CET_FLAGS. Update XCFLAGS.
	* configure.ac: Update libtool_VERSION for x86.
	* testsuite/Makefile.in: Regenerate.

2017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>

	* libitm/config/x86/target.h: Add new field (ssp).
	* libitm/config/x86/sjlj.S: Change offsets.

2017-05-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* testsuite/lib/libitm.exp: Load scanlang.exp.

2017-04-03  Jonathan Wakely  <jwakely@redhat.com>

	* libitm_i.h (sutrct gtm_thread): Fix typo in comment.

2017-01-21  Jakub Jelinek  <jakub@redhat.com>

	PR other/79046
	* testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
	of cat to get version from BASE-VER file.
	* testsuite/Makefile.in: Regenerated.

2017-01-19  Uros Bizjak  <ubizjak@gmail.com>

	* config/x86/target.h (htm_available): Determine vendor from
	__get_cpuid_max return.  Use signature_INTEL_ebx.  Cleanup.

2017-01-18  Torvald Riegel  <triegel@redhat.com>

	* config/x86/target.h (htm_available): Add check for some processors
	on which TSX is broken.

2017-01-17  Jakub Jelinek  <jakub@redhat.com>

	PR other/79046
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* testsuite/Makefile.in: Regenerated.
	* configure: Regenerated.
	* Makefile.in: Regenerated.

2017-01-04  Alan Modra  <amodra@gmail.com>

	* Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

2017-01-01  Jakub Jelinek  <jakub@redhat.com>

	Update copyright years.

	* libitm.texi: Bump @copying's copyright year.

2016-12-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Remove.
	* aclocal.m4: Regenerate.
	* configure.ac: Call GCC_CHECK_LINKER_HWCAP instead of
	LIBITM_CHECK_LINKER_HWCAP.

2016-11-15  Matthias Klose  <doko@ubuntu.com>

	* configure: Regenerate.

2016-04-19  H.J. Lu  <hongjiu.lu@intel.com>

	PR libitm/70456
	* util.cc (xmalloc): Use posix_memalign to allocate memory on
	on cache line if requested.

2016-03-03  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	* config/s390/target.h (TARGET_BEGIN_TRANSACTION_ATTRIBUTE): Define
	function attribute to disable floating point in begin_transaction() on
	S/390.
	* beginend.cc (begin_transaction): Use
	TARGET_BEGIN_TRANSACTION_ATTRIBUTE.

2016-01-22  Torvald Riegel  <triegel@redhat.com>

	* beginend.cc (GTM::gtm_thread::serial_lock): Put on cacheline
	boundary.
	(htm_fastpath): Remove.
	(gtm_thread::begin_transaction): Fix HTM fastpath.
	(_ITM_commitTransaction): Adapt.
	(_ITM_commitTransactionEH): Adapt.
	* libitm/config/linux/rwlock.h (gtm_rwlock): Add htm_fastpath member
	and accessors.
	* libitm/config/posix/rwlock.h (gtm_rwlock): Likewise.
	* libitm/config/posix/rwlock.cc (gtm_rwlock::gtm_rwlock): Adapt.
	* libitm/config/x86/sjlj.S (_ITM_beginTransaction): Fix HTM fastpath.
	* libitm/libitm_i.h (htm_fastpath): Remove declaration.
	* libitm/method-serial.cc (htm_mg): Adapt.
	(gtm_thread::serialirr_mode): Adapt.
	* libitm/query.cc (_ITM_inTransaction, _ITM_getTransactionId): Adapt.

2016-01-21  Torvald Riegel  <triegel@redhat.com>

	* testsuite/libitm.c++/libstdc++-safeexc.C: Not supported on darwin
	or AIX.

2016-01-19  Richard Henderson  <rth@redhat.com>

	PR bootstrap/69343
	PR bootstrap/69339
	Revert:
	2016-01-13  Richard Henderson  <rth@redhat.com>

	* Makefile.am (libitm_la_SOURCES) [ARCH_AARCH64]: Add vect128.cc
	(libitm_la_SOURCES) [ARCH_ARM]: Add neon.cc
	(libitm_la_SOURCES) [ARCH_PPC]: Add vect128.cc
	(libitm_la_SOURCES) [ARCH_S390]: Add vect128.cc
	* configure.ac (ARCH_AARCH64): New conditional.
	(ARCH_PPC, ARCH_S390): Likewise.
	* Makefile.in, configure: Rebuild.

	* libitm.h (_ITM_TYPE_M128): Always define.
	* vect64.cc: Split ...
	* vect128.cc: ... out of...
	* config/x86/x86_sse.cc: ... here.
	* config/arm/neon.cc: New file.

2016-01-19  Torvald Riegel  <triegel@redhat.com>

	* local_type_traits: Remove file.
	* libitm_i.h: Don't include it anymore.
	(sized_integral): Remove.

2016-01-16  Torvald Riegel  <triegel@redhat.com>

	* method-gl.cc (gl_wt_dispatch::trycommit): Ensure proxy privatization
	safety.
	* method-ml.cc (ml_wt_dispatch::trycommit): Likewise.
	* libitm/testsuite/libitm.c/priv-1.c: New.

2015-01-15  Torvald Riegel  <triegel@redhat.com>

	testsuite/libitm.c++/libstdc++-safeexc.C: New.

2016-01-13  Torvald Riegel  <triegel@redhat.com>

	* beginend.cc (gtm_thread::trycommit): Fix seq_cst fences.
	* config/linux/rwlock.cc (gtm_rwlock::write_lock_generic): Likewise.
	(gtm_rwlock::write_unlock): Likewise.

2016-01-13  Richard Henderson  <rth@redhat.com>

	* Makefile.am (libitm_la_SOURCES) [ARCH_AARCH64]: Add vect128.cc
	(libitm_la_SOURCES) [ARCH_ARM]: Add neon.cc
	(libitm_la_SOURCES) [ARCH_PPC]: Add vect128.cc
	(libitm_la_SOURCES) [ARCH_S390]: Add vect128.cc
	* configure.ac (ARCH_AARCH64): New conditional.
	(ARCH_PPC, ARCH_S390): Likewise.
	* Makefile.in, configure: Rebuild.

	* libitm.h (_ITM_TYPE_M128): Always define.
	* vect64.cc: Split ...
	* vect128.cc: ... out of...
	* config/x86/x86_sse.cc: ... here.
	* config/arm/neon.cc: New file.

2016-01-13  Torvald Riegel  <triegel@redhat.com>

	* beginend.cc (gtm_thread::trycommit): Fix privatization safety.
	* config/linux/rwlock.cc (gtm_rwlock::write_lock_generic): Likewise.
	* config/posix/rwlock.cc (gtm_rwlock::write_lock_generic): Likewise.
	* dispatch.h (abi_dispatch::snapshot_most_recent): New.
	* method-gl.cc (gl_wt_dispatch::snapshot_most_recent): New.
	* method-ml.cc (ml_wt_dispatch::snapshot_most_recent): New.
	* method-serial.cc (serial_dispatch::snapshot_most_recent): New.
	(serialirr_dispatch::snapshot_most_recent): New.
	(serialirr_onwrite_dispatch::snapshot_most_recent): New.

2016-01-12  Torvald Riegel  <triegel@redhat.com>

	* libitm_i.h (gtm_mask_stack): Remove.
	* beginend.cc (gtm_stmlock_array, gtm_clock): Likewise.
	* stmlock.h: Remove file.
	* config/alpha/cacheline.h: Likewise.
	* config/generic/cacheline.h: Likewise.
	* config/powerpc/cacheline.h: Likewise.
	* config/sparc/cacheline.h: Likewise.
	* config/x86/cacheline.h: Likewise.

2016-01-04  Jakub Jelinek  <jakub@redhat.com>

	Update copyright years.

	* libitm.texi: Bump @copying's copyright year.

2015-11-26  Torvald Riegel  <triegel@redhat.com>

	* method-ml.cc (ml_mg): Use multiplicative instead of simple hashing.
	(ml_wt_dispatch::pre_write): Adapt.
	(ml_wt_dispatch::pre_load): Likewise.

2015-11-22  Torvald Riegel  <triegel@redhat.com>

	* libitm_i.h (gtm_alloc_action): Remove union.
	* testsuite/libitm.c/alloc-1.c: New.

2015-11-19  Torvald Riegel  <triegel@redhat.com>

	* testsuite/libitm.c++/eh-5.C: New.
	* libitm.h (_ITM_cxa_free_exception): New.
	* libitm.map (_ITM_cxa_free_exception): Add it.
	* libitm.texi: Update ABI docs.
	* libitm_i.h (gtm_transaction_cp::cxa_unthrown): Remove.
	(gtm_transaction_cp::cxa_uncaught_count): Add.
	(gtm_thread::cxa_unthrown): Remove.
	(gtm_thread::cxa_uncaught_count_ptr): Add.
	(gtm_thread::cxa_uncaught_count): Add.
	(gtm_thread::drop_references_allocations): Rename to...
	(gtm_thread::discard_allocation): ... this and adapt.
	(gtm_thread::init_cpp_exceptions): New.
	* beginend.cc (gtm_thread::gtm_thread): Adapt EH handling.
	(gtm_thread::begin_transaction): Likewise.
	(gtm_transaction_cp::save): Likewise.
	(gtm_thread::trycommit): Likewise.
	* eh_cpp.cc: Add overview comments.
	(__cxa_eh_globals, __cxa_get_globals, __cxa_free_exception): Declare.
	(free_any_exception, _ITM_cxa_free_exception): New.
	(gtm_thread::init_cpp_exceptions): Define.
	(_ITM_cxa_allocate_exception, _ITM_cxa_throw): Adapt.
	(_ITM_cxa_begin_catch, _ITM_cxa_end_catch): Likewise.
	(gtm_thread::revert_cpp_exceptions): Likewise.

2015-11-09  Torvald Riegel  <triegel@redhat.com>

	* alloc_cpp.cc (_ZdlPvX, _ZdlPvXRKSt9nothrow_t, _ZGTtdlPvX,
	_ZGTtdlPvXRKSt9nothrow_t, delsz_opnt): New.
	* libitm.map: Add _ZGTtdlPvX and _ZGTtdlPvXRKSt9nothrow_t.
	* libitm_i.h (gtm_alloc_action): Add free_fn_sz and sz.  Add comments.
	(gtm_thread::forget_allocations): New overload with size_t argument.
	* alloc.c (gtm_thread::forget_allocation): Define new overload and
	adapt existing one.
	(gtm_thread::record_allocation): Adapt.
	(gtm_thread::commit_allocations_1): Adapt.
	(gtm_thread::commit_allocations_2): Adapt.
	* testsuite/libitm.c++/newdelete.C: New.

2015-10-27  Daniel Jacobowitz  <dan@codesourcery.com>
	    Joseph Myers  <joseph@codesourcery.com>
	    Mark Shinwell  <shinwell@codesourcery.com>
	    Andrew Stubbs  <ams@codesourcery.com>
	    Rich Felker <dalias@libc.org>

	* config/sh/sjlj.S (_ITM_beginTransaction): Bypass PLT calling
	GTM_begin_transaction for compatibility with FDPIC.

2015-10-09  David Malcolm  <dmalcolm@redhat.com>

	* testsuite/lib/libitm.exp: Load multiline.exp before prune.exp,
	using load_gcc_lib.

2015-08-20  Gleb Fotengauer-Malinovskiy  <glebfm@altlinux.org>  (tiny change)

	PR libitm/61164
	* local_atomic (__always_inline): Rename to...
	(__libitm_always_inline): ... this.

2015-07-03  Carlos Sánchez de La Lama  <csanchezdll@gmail.com>

	PR target/52482
	* config/powerpc/sjlj.S: Port to Xcode 2.5.

2015-05-27  Uros Bizjak  <ubizjak@gmail.com>

	* config/linux/x86/futex_bits.h (sys_futex0) [__x86_64__]: Change
	operands "op" and "val" to int.

2015-05-27  Uros Bizjak  <ubizjak@gmail.com>

	* config/linux/sh/futex_bits.h (sys_futex0) Change operands
	"op" and "val" to int.

2015-05-27  Uros Bizjak  <ubizjak@gmail.com>

	* config/linux/alpha/futex_bits.h (sys_futex0) Change operands
	"op" and "val" to int.

2015-05-27  Uros Bizjak  <ubizjak@gmail.com>

	* config/linux/futex.cc (gtm_futex_wait, gtm_futex_wake):
	Declare as static int.
	(FUTEX_PRIVATE_FLAG): Remove L suffix.
	* config/linux/futex_bits.h (sys_futex0) Change operand "op" to int.

2015-05-27  Uros Bizjak  <ubizjak@gmail.com>

	* config/linux/x86/futex_bits.h (sys_futex0) [__PIC__]: Remove
	sys_futex0 function.

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

	* Makefile.in: Regenerated with automake-1.11.6.
	* aclocal.m4: Likewise.
	* configure: Likewise.
	* testsuite/Makefile.in: Likewise.

2015-04-22  Gregor Richards  <gregor.richards@uwaterloo.ca>

	* config/arm/hwcap.cc: Use fcntl.h instead of sys/fcntl.h.
	* config/linux/x86/tls.h: Only use __GLIBC_PREREQ if defined.

2015-01-15  H.J. Lu  <hongjiu.lu@intel.com>

	PR libitm/64360
	* libitm.c/stackundo.c (test2): Make it static.
	(test1): Likewise.

2015-01-05  Jakub Jelinek  <jakub@redhat.com>

	Update copyright years.

2015-01-05  Jakub Jelinek  <jakub@redhat.com>

	* libitm.texi: Bump @copying's copyright year.

2014-12-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* testsuite/lib/libitm.exp: Load target-utils.exp.
	Move load of target-supports.exp earlier.

2014-12-03  Uros Bizjak  <ubizjak@gmail.com>

	* configure.tgt (x86_64): Tune -m32 multilib to generic.

2014-11-21  H.J. Lu  <hongjiu.lu@intel.com>

	PR bootstrap/63784
	* configure: Regenerated.

2014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR target/63610
	* configure: Regenerate.

2014-10-06  Marek Polacek  <polacek@redhat.com>

	* testsuite/libitm.c/memcpy-1.c: Declare getpagesize.
	* testsuite/libitm.c/memset-1.c: Likewise.

2014-07-24  Richard Henderson  <rth@redhat.com>

	* config/aarch64/sjlj.S (_ITM_beginTransaction): Use post-inc
	addressing mode in epilogue.

2014-05-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* acinclude.m4 (LIBITM_CHECK_LINKER_HWCAP): Check for
	-mclear-hwcap instead.
	* configure: Regenerate.
	* clearcap.map: Remove.

2014-05-21  John Marino  <gnugcc@marino.st>

	* configure.tgt (*-*-dragonfly*): New target.

2014-05-19  Richard Henderson  <rth@redhat.com>

	* config/aarch64/sjlj.S: New file.
	* config/aarch64/target.h: New file.
	* configure.tgt: Enable aarch64.

2014-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/generic/asmcfi.h: Also check for
	__GCC_HAVE_DWARF2_CFI_ASM.

2013-04-02  Richard Henderson  <rth@redhat.com>

	* config/alpha/target.h (PAGE_SIZE, FIXED_PAGE_SIZE): Remove.
	* config/arm/target.h, config/sh/target.h: Likewise.
	* config/sparc/target.h, config/x86/target.h: Likewise.

2014-03-26  Jakub Jelinek  <jakub@redhat.com>

	* config/linux/futex_bits.h: Include errno.h.
	(sys_futex0): If syscall returns -1, return -errno rather than
	-1.

2014-03-26  Joseph Myers  <joseph@codesourcery.com>

	* libitm.texi (Index): Rename to Library Index.

2014-01-13  H.J. Lu  <hongjiu.lu@intel.com>

	PR libitm/53113
	* Makefile.am (x86_sse.lo): Append -msse to CXXFLAGS.
	(x86_avx.lo): Append -mavx to CXXFLAGS.
	* Makefile.in: Regenerate.

2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>

	Update copyright years

2014-01-02  Tobias Burnus  <burnus@net-b.de>

	* libitm.texi: Bump @copying's copyright year.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* config/powerpc/sjlj.S [__powerpc64__ && _CALL_ELF == 2]:
	(FUNC): Define ELFv2 variant.
	(END): Likewise.
	(HIDDEN): Likewise.
	(CALL): Likewise.
	(BASE): Likewise.
	(LR_SAVE): Likewise.

2013-09-20  Alan Modra  <amodra@gmail.com>

	* configure: Regenerate.

2013-08-30  Torvald Riegel  <triegel@redhat.com>

	* config/posix/rwlock.cc: Fix initialization order.

2013-08-30  Torvald Riegel  <triegel@redhat.com>

	* libitm_i.h (gtm_thread): Assign an asm name to serial_lock.
	(htm_fastpath): Assign an asm name.
	* libitm.h (_ITM_codeProperties): Add non-ABI flags used by custom
	HTM fast paths.
	(_ITM_actions): Likewise.
	* config/x86/target.h (HTM_CUSTOM_FASTPATH): Enable custom fastpath on
	x86_64.
	* config/x86/sjlj.S (_ITM_beginTransaction): Add custom HTM fast path.
	* config/posix/rwlock.h (gtm_rwlock): Update comments.  Move summary
	field to the start of the structure.
	* config/linux/rwlock.h (gtm_rwlock): Update comments.
	* beginend.cc (gtm_thread::begin_transaction): Add retry policy
	handling for custom HTM fast paths.

2013-08-14  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
	Revert:
	2013-08-02  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* configure.tgt: Add -msoft-float to XCFLAGS.

2013-08-02  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* configure.tgt: Add -msoft-float to XCFLAGS.

2013-07-29  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/target.h (htm_begin, htm_commit, htm_abort)
	(htm_transaction_active): Enable zEC12 instructions in the
	assembler.
	* configure.tgt: Remove -Wa,-march=zEC12 from XCFLAGS.

2013-07-17  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* acinclude.m4: Add htm asm check for s390.
	* configure.tgt: Add -mhtm and -Wa,-march=zEC12 to the options.
	* configure: Regenerate.
	* config/s390/target.h: Remove __HTM__ check.
	(htm_available): Call getauxval to get hwcaps and check whether
	HTM is available or not.

2013-07-15  Peter Bergner  <bergner@vnet.ibm.com>

	* acinclude.m4 (LIBITM_CHECK_AS_HTM): New.
	* configure.ac: Use it.
	(AC_CHECK_HEADERS): Check for sys/auxv.h.
	(AC_CHECK_FUNCS): Check for getauxval.
	* config.h.in, configure: Rebuild.
	* configure.tgt (target_cpu): Add -mhtm to XCFLAGS.
	* config/powerpc/target.h: Include sys/auxv.h and htmintrin.h.
	(USE_HTM_FASTPATH): Define.
	(_TBEGIN_STARTED, _TBEGIN_INDETERMINATE, _TBEGIN_PERSISTENT,
	_HTM_RETRIES) New macros.
	(htm_abort, htm_abort_should_retry, htm_available, htm_begin, htm_init,
	htm_begin_success, htm_commit, htm_transaction_active): New functions.

2013-06-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/target.h: Include htmintrin.h.
	(_HTM_ITM_RETRIES): New macro definition.
	(htm_available, htm_init, htm_begin, htm_begin_success)
	(htm_commit, htm_abort, htm_abort_should_retry): New functions.

2013-06-20  Iain Sandoe  <iain@codesourcery.com>
	    Cesar Philippidis  <cesar@codesourcery.com>

	* testsuite/lib/libitm.exp: Reorder lib loads into dependency order.
	Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
	* testsuite/libitm.c/c.exp: load_gcc_lib gcc-dg.exp.
	* testsuite/libitm.c++/c++.exp: load_gcc_lib gcc-dg.exp.

2013-06-20  Torvald Riegel  <triegel@redhat.com>

	* query.cc (_ITM_inTransaction): Abort when using the HTM fastpath.
	(_ITM_getTransactionId): Same.
	* config/x86/target.h (htm_transaction_active): New.

2013-06-20  Torvald Riegel  <triegel@redhat.com>

	PR libitm/57643
	* beginend.cc (gtm_thread::begin_transaction): Handle reentrancy in
	the HTM fastpath.

2013-03-31  Gerald Pfeifer  <gerald@pfeifer.com>

	PR bootstrap/56714
	* local_atomic (__always_inline): Always define our version.
	(__calculate_memory_order): Mark inline.
	(atomic_thread_fence): Ditto.
	(atomic_signal_fence): Ditto.
	(atomic_bool::atomic_flag_test_and_set_explicit): Ditto.
	(atomic_bool::atomic_flag_clear_explicit): Ditto.
	(atomic_bool::atomic_flag_test_and_set): Ditto.
	(atomic_bool::atomic_flag_clear): Ditto.

2013-04-23  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/sjlj.S: New file.
	* config/s390/target.h: New file.
	* configure.tgt: Set options for S/390.

2013-03-23  Andi Kleen  <ak@linux.intel.com>

	* local_atomic (__always_inline): Add.
	(__calculate_memory_order, atomic_thread_fence,
	 atomic_signal_fence, test_and_set, clear, store, load,
	 exchange, compare_exchange_weak, compare_exchange_strong,
	 fetch_add, fetch_sub, fetch_and, fetch_or, fetch_xor):
	Add __always_inline to force inlining.

2013-02-11  Iain Sandoe  <iain@codesourcery.com>
	    Jack Howarth  <howarth@bromo.med.uc.edu>
	    Patrick Marlier  <patrick.marlier@gmail.com>

	PR libitm/55693
	* alloc_cpp.cc: Enable function declarations on darwin.
	* eh_cpp.cc: Likewise.

2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>

	Update copyright years.

2012-11-09  Torvald Riegel  <triegel@redhat.com>

	* beginend.cc (htm_fastpath): New.
	(gtm_thread::begin_transaction, _ITM_commitTransaction,
	_ITM_commitTransactionEH): Add HTM fastpath handling.
	* config/linux/rwlock.h (gtm_rwlock.is_write_locked): New.
	* config/posix/rwlock.h (gtm_rwlock.is_write_locked): New.
	* config/x86/target.h (htm_available, htm_init, htm_begin_success,
	htm_begin, htm_commit, htm_abort, htm_abort_should_retry): New.
	* configure.tgt: Add -mrtm to XCFLAGS.
	* method-serial.cc (htm_mg, o_htm_mg, htm_dispatch, dispatch_htm): New.
	(gtm_thread::serialirr_mode): Add HTM fastpath handling.
	* libitm_i.h (htm_fastpath, dispatch_htm): Declare.
	* retry.cc (parse_default_method): Add HTM method parsing.
	(gtm_thread::number_of_threads_changed): Use HTM by default if
	available.

2012-11-04  Thomas Schwinge  <thomas@codesourcery.com>

	* configure: Regenerate.

2012-10-31  Richard Henderson  <rth@redhat.com>

	* acinclude.m4 (LIBITM_CHECK_AS_RTM): New.
	* configure.ac: Use it.
	* config.h.in, configure: Rebuild.
	* testsuite/Makefile.in: Rebuild.

2012-10-24  Torvald Riegel  <triegel@redhat.com>

	* libitm.texi: Clarify ABI requirements for data-logging functions.

2012-10-24  Torvald Riegel  <triegel@redhat.com>

	* retry.cc (gtm_thread::decide_begin_dispatch): Ask dispatch whether
	it requires serial mode instead of assuming that for certain
	dispatchs.
	* dispatch.h (abi_dispatch::requires_serial): New.
	(abi_dispatch::abi_dispatch): Adapt.
	* method-gl.cc (gl_wt_dispatch::gl_wt_dispatch): Adapt.
	* method-ml.cc (ml_wt_dispatch::ml_wt_dispatch): Same.
	* method-serial.cc (serialirr_dispatch::serialirr_dispatch,
	serial_dispatch::serial_dispatch,
	serialirr_onwrite_dispatch::serialirr_onwrite_dispatch): Same.

2012-10-02  Uros Bizjak  <ubizjak@gmail.com>

	* config/x86/target.h (struct gtm_jmpbuf): Merge x86_64
	and ia32 declarations some more.
	* config/x86/sjlj.S (_ITM_beginTransaction): Move ret to common code.

2012-09-20  Jakub Jelinek  <jakub@redhat.com>

	PR other/43620
	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
	* configure: Regenerate.
	* Makefile.in: Regenerate.

2012-09-14  David Edelsohn  <dje.gcc@gmail.com>

	* configure: Regenerated.

2012-07-31  Uros Bizjak  <ubizjak@gmail.com>

	* config/x86/target.h (cpu_relax): Use __builtin_ia32_pause.

2012-05-21  Patrick Marlier  <patrick.marlier@gmail.com>

	* eh_cpp.cc: Fix __cxa_end_catch declaration.

2012-05-16  H.J. Lu  <hongjiu.lu@intel.com>

	* configure: Regenerated.

2012-04-04  H.J. Lu  <hongjiu.lu@intel.com>

	PR libitm/52854
	* config/x86/target.h (gtm_jmpbuf): Replace long with long long
	for x86-64.

2012-04-03  Tristan Gingold  <gingold@adacore.com>

	* configure: Regenerate.

2012-03-31  H.J. Lu  <hongjiu.lu@intel.com>

	PR bootstrap/52812
	* configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.

2012-03-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

	* testsuite/lib/libitm.exp: load fortran-modules.exp

2012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* configure.tgt (*-*-irix6*): Remove.

2012-03-13  Torvald Riegel  <triegel@redhat.com>

	PR libitm/52526
	* config/linux/rwlock.cc (GTM::gtm_rwlock::read_lock): Fix lost
	wake-up.

2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* configure.tgt (*-*-osf*): Remove.
	* configure: Regenerate.

2012-03-05  Torvald Riegel  <triegel@redhat.com>

	* dispatch.h (CREATE_DISPATCH_METHODS_MEM): Don't execute
	memtransfer/memset if size isn't larger than zero.

2012-03-02  Torvald Riegel  <triegel@redhat.com>

	* libitm.texi: Link to specification and add a usage example.

2012-02-24  Torvald Riegel  <triegel@redhat.com>

	* retry.cc (GTM::gtm_thread::number_of_threads_changed): Change
	default dispatch for more than 1 thread to ml_wt.

2012-02-20  Torvald Riegel  <triegel@redhat.com>

	* method-gl.cc (gl_wt_dispatch::orec): Put on separate cacheline.

2012-02-20  Torvald Riegel  <triegel@redhat.com>

	* method-gl.cc (gl_wt_dispatch::rollback): Optimize memory orders.

2012-02-20  Torvald Riegel  <triegel@redhat.com>

	* method-gl.cc (gl_wt_dispatch::trycommit): Remove handling of
	serial mode corner cases made obsolete by prior gtm_rwlock changes.
	(gl_wt_dispatch.rollback): Same.

2012-02-20  Torvald Riegel  <triegel@redhat.com>

	* method-gl.cc (gl_wt_dispatch::pre_write): Optimize memory orders.

2012-02-20  Torvald Riegel  <triegel@redhat.com>

	* method-gl.cc (gl_wt_dispatch::memtransfer_static): Add missing undo
	for RfW src.  Optimize number of calls to gtm_thr.

2012-02-20  Torvald Riegel  <triegel@redhat.com>

	* beginend.cc (GTM::gtm_thread::begin_transaction): Move serial lock
	acquisition to ...
	* retry.cc (GTM::gtm_thread::decide_begin_dispatch): ... here.
	(default_dispatch): Make atomic.
	(GTM::gtm_thread::set_default_dispatch): Access atomically.
	(GTM::gtm_thread::decide_retry_strategy): Access atomically and
	use decide_begin_dispatch() if default_dispatch might have changed.
	(GTM::gtm_thread::number_of_threads_changed): Initialize
	default_dispatch here.

2012-02-15  Iain Sandoe  <iains@gcc.gnu.org>
	    Patrick Marlier  <patrick.marlier@gmail.com>

	PR libitm/52220
	* alloc_cpp.cc: No dummy definitions for darwin.
	* eh_cpp.cc: Likewise.

2012-02-14  Richard Henderson  <rth@redhat.com>

	* config/x86/target.h (GTM_longjmp): Correct the .cfi corrections.

2012-02-14  Uros Bizjak  <ubizjak@gmail.com>

	* config/x86/target.h (GTM_longjmp): Correct .cfi directives.

2012-02-14  Torvald Riegel  <triegel@redhat.com>

	* libitm_i.h (GTM::gtm_rwlog_entry): New.
	(GTM::gtm_thread): Add read and write logs.
	(GTM::dispatch_ml_wt): Declare.
	* retry.cc (parse_default_method): Support ml_wt.
	* method-ml.cc: New file.
	* Makefile.am: Add method-ml.cc.
	* Makefile.in: Regenerate.

2012-02-14  Torvald Riegel  <triegel@redhat.com>

	* dispatch.h (GTM::abi_dispatch::supports): New.
	(GTM::method_group::reinit): New.
	* retry.cc (GTM::gtm_thread::decide_retry_strategy): Use reinit().
	(GTM::gtm_thread::number_of_threads_changed): Check that the method
	supports the current situation.

2012-02-14  Torvald Riegel  <triegel@redhat.com>

	* util.cc (GTM::xcalloc): New.
	* common.h (GTM::xcalloc): Declare.

2012-02-14  Eric Botcazou  <ebotcazou@adacore.com>

	* config/sparc/target.h (cpu_relax): Read from CC register.
	* config/sparc/sjlj.S (GTM_longjmp): Restore %fp atomically.

2012-02-14  Uros Bizjak  <ubizjak@gmail.com>

	* config/x86/target.h (GTM_longjmp): Jump indirect from memory address.

2012-02-13  Eric Botcazou  <ebotcazou@adacore.com>

	* configure.tgt (target_cpu): Handle sparc and sparc64/sparcv9.
	* config/sparc/cacheline.h: New file.
	* config/sparc/target.h: Likewise.
	* config/sparc/sjlj.S: Likewise.
	* config/linux/sparc/futex_bits.h: Likewise.

2012-02-13  Eric Botcazou  <ebotcazou@adacore.com>

	* configure.ac (link_itm): Fix comment.
	* configure: Regenerate.
	* testsuite/lib/libitm.exp: Do not pass -litm for the link.

2012-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR libitm/51822
	* testsuite/libitm.c++/c++.exp (lang_link_flags): Add -shared-libgcc.
	Correct libgomp references.

2012-01-24  Torvald Riegel  <triegel@redhat.com>

	* config/linux/rwlock.cc (GTM::gtm_rwlock::write_unlock): Fix reader
	wake-up.

2012-01-24  Uros Bizjak  <ubizjak@gmail.com>

	* config/x86/target.h (gtm_jmpbuf) [__x86_64__]: Move rip to the
	end of structure.
	* config/x86/sjlj.S (_ITM_beginTransaction) [__x86_64__]: Update
	offset values.  Do not copy return address.  Decrement stack
	by 56 bytes only.
	(GTM_longjump) [__x86_64__]: Update offset values.

2012-01-23  Uros Bizjak  <ubizjak@gmail.com>

	PR libitm/51830
	* config/x86/sjlj.S (_ITM_beginTransaction) [!__x86_64__]: Load
	the first function argument to %eax.

2012-01-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* libitm.h (_ITM_getThreadnum): Remove.
	* libitm.map (_ITM_getThreadnum): Remove from LIBITM_1.0.

2012-01-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* clearcap.map: New file.
	* acinclude.m4 (LIBITM_CHECK_LINKER_HWCAP): New test.
	* configure.ac: Call it.
	Clear HWCAP_LDFLAGS if defaulting to -mavx.
	* Makefile.am (AM_LDFLAGS): Add $(HWCAP_LDFLAGS)
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

2012-01-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR libitm/51173
	* testsuite/libitm.c++/static_ctor.C: Skip test, note PR, remove
	include, exclude options.

2012-01-14  Torvald Riegel  <triegel@redhat.com>

	* local.cc (GTM::gtm_undolog::rollback): Truncate undo log after
	rolling back.
	* containers.h (GTM::vector::set_size): New.

2012-01-14  Torvald Riegel  <triegel@redhat.com>

	PR libitm/51855
	* config/generic/tls.h (GTM::mask_stack_top): New.
	(GTM::mask_stack_bottom): Declare.
	* config/generic/tls.c (GTM::mask_stack_bottom): New.
	* local.cc (gtm_undolog::rollback): Filter out any updates that
	overlap the libitm stack.  Add current transaction as parameter.
	* libitm_i.h (GTM::gtm_undolog::rollback): Adapt.
	* beginend.cc (GTM::gtm_thread::rollback): Adapt.
	* testsuite/libitm.c/stackundo.c: New test.

2012-01-10  Richard Henderson  <rth@redhat.com>

	* libitm_i.h (_Unwind_DeleteException): Declare weak.
	* eh_cpp.cc (_Unwind_DeleteException): Define for
	!HAVE_ELF_STYLE_WEAKREF.

2012-01-08  Torvald Riegel  <triegel@redhat.com>

	* local.cc (GTM_LB): Use GTM::gtm_undolog.
	(GTM::gtm_thread::drop_references_undolog): Remove.
	(GTM::gtm_thread::commit_undolog,
	GTM::gtm_thread::rollback_undolog): Move to ...
	* libitm_i.h (GTM::gtm_undolog): ...here. New.
	(GTM::gtm_undolog_entry): Remove.
	(GTM::gtm_thread): Adapt.
	* beginend.cc (GTM::gtm_thread::rollback): Adapt.
	(GTM::gtm_thread::trycommit): Adapt.
	* method-serial.cc (serial_dispatch::log): Adapt.
	* method-gl.cc (gl_wt_dispatch::pre_write): Adapt.
	(gl_wt_dispatch::store): Fix likely/unlikely.
	* containers.h (GTM::vector::resize): Add additional_capacity
	parameter and handle it.
	(GTM::vector::resize_noinline): New/adapt.
	(GTM::vector::push): New.

2012-01-06  Richard Henderson  <rth@redhat.com>

	* configure.tgt: Support powerpc-linux and powerpc-darwin.
	* config/linux/powerpc/futex_bits.h: New file.
	* config/powerpc/cacheline.h: New file.
	* config/powerpc/sjlj.S: New file.
	* config/powerpc/target.h: New file.
	* config/generic/asmcfi.h (cfi_offset): New.
	(cfi_restore, cfi_undefined): New.

2012-01-05  Aldy Hernandez  <aldyh@redhat.com>

	PR other/51171
	* testsuite/libitm.c/reentrant.c: Remove xfail.
	(thread): Pass x to pure().
	From Patrik Marlier <patrick.marlier@gmail.com>.

2011-12-24  Torvald Riegel  <triegel@redhat.com>

	* beginend.cc (GTM::gtm_thread::trycommit): Don't enforce
	privatization safety if already in serial mode.

2011-12-24  Torvald Riegel  <triegel@redhat.com>

	* beginend.cc (GTM::gtm_thread::restart): Add and handle
	finish_serial_upgrade parameter.
	* libitm.h (GTM::gtm_thread::restart): Adapt declaration.
	* config/linux/rwlock.cc (GTM::gtm_rwlock::write_lock_generic):
	Don't unset reader flag.
	(GTM::gtm_rwlock::write_upgrade_finish): New.
	* config/posix/rwlock.cc: Same.
	* config/linux/rwlock.h (GTM::gtm_rwlock::write_upgrade_finish):
	Declare.
	* config/posix/rwlock.h: Same.
	* method-serial.cc (GTM::gtm_thread::serialirr_mode): Unset reader
	flag after commit or after rollback when restarting.

2011-12-24  Torvald Riegel  <triegel@redhat.com>

	* beginend.cc (GTM::gtm_thread::begin_transaction): Add comment.
	(GTM::gtm_thread::try_commit): Changed memory order.
	* config/linux/alpha/futex_bits.h (sys_futex0): Take atomic int
	as parameter.
	* config/linux/x86/futex_bits.h (sys_futex0): Same.
	* config/linux/sh/futex_bits.h (sys_futex0): Same.
	* config/linux/futex_bits.h (sys_futex0): Same.
	* config/linux/futex.cc (futex_wait, futex_wake): Same.
	* config/linux/futex.h (futex_wait, futex_wake): Same.
	* config/linux/rwlock.h (gtm_rwlock::writers,
	gtm_rwlock::writer_readers, gtm_rwlock::readers): Change to atomic
	ints.
	* config/linux/rwlock.cc (gtm_rwlock::read_lock,
	gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock,
	gtm_rwlock::write_unlock): Fix memory orders and fences.
	* config/posix/rwlock.cc (gtm_rwlock::read_lock,
	gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock,
	gtm_rwlock::write_unlock): Same.
	* config/linux/rwlock.h (gtm_rwlock::summary): Change to atomic int.
	* method-gl.cc (gl_mg::init, gl_wt_dispatch::memtransfer_static,
	gl_wt_dispatch::memset_static, gl_wt_dispatch::begin_or_restart):
	Add comments.
	(gl_wt_dispatch::pre_write, gl_wt_dispatch::validate,
	gl_wt_dispatch::load, gl_wt_dispatch::store,
	gl_wt_dispatch::try_commit, gl_wt_dispatch::rollback): Fix memory
	orders and fences.  Add comments.

2011-12-21  Jakub Jelinek  <jakub@redhat.com>

	* Makefile.am (AM_CXXFLAGS): Put $(XCFLAGS) first.
	* Makefile.in: Regenerated.

2011-12-17  Kaz Kojima  <kkojima@gcc.gnu.org>

	* configure.tgt: Add sh* case.
	* config/sh/target.h: New file.
	* config/sh/sjlj.S: New file.
	* config/linux/sh/futex_bits.h: New file.

2011-12-14  Richard Henderson  <rth@redhat.com>

	* config/arm/hwcap.h, config/arm/hwcap.cc: New files.
	* config/arm/sjlj.S, config/arm/target.h: New files.
	* config/generic/asmcfi.h (cfi_adjust_cfa_offset): New.
	(cfi_rel_offset): New.
	* config/linux/futex_bits.h: New file.
	* config/linux/futex.cc: Include futex_bits.h here...
	* config/linux/futex.h: ... not here.
	* Makefile.am (libitm_la_SOURCES) <ARCH_ARM>: Add hwcap.cc.
	* configure.ac (ARCH_AM): New conditional.
	* Makefile.in, configure: Rebuild.
	* configure.tgt: Handle ARM.

2011-12-13  Richard Henderson  <rth@redhat.com>

	* config/posix/rwlock.cc (gtm_rwlock::write_lock_generic): Fix
	signed/unsigned comparison werror.

	* local_atomic: New file.
	* libitm_i.h: Include it.
	(gtm_thread::shared_state): Use atomic template.
	* beginend.cc (GTM::gtm_clock): Use atomic template.
	(global_tid): Use atomic template if 64-bit atomics available.
	(gtm_thread::gtm_thread): Update shared_state access.
	(gtm_thread::trycommit): Likewise.
	(choose_code_path): Update global_tid access.
	* method-gl.cc (gl_mg::orec): Use atomic template.  Update all users.
	* stmlock.h (GTM::gtm_clock): Use atomic template.
	(gtm_get_clock, gtm_inc_clock): Update accesses.
	* config/linux/rwlock.cc (gtm_rwlock::read_lock): Remove
	redundant __sync_synchronize after atomic shared_state access.
	* config/posix/rwlock.cc (gtm_rwlock::read_lock): Likewise.
	(gtm_rwlock::write_lock_generic): Likewise.
	(gtm_rwlock::read_unlock): Likewise.
	* config/alpha/target.h (atomic_read_barrier): Remove.
	(atomic_write_barrier): Remove.
	* config/x86/target.h (atomic_read_barrier): Remove.
	(atomic_write_barrier): Remove.

2011-11-30  Richard Henderson  <rth@redhat.com>

	* libitm_i.h (GTM_longjmp): Swap first and second arguments.
	* beginend.c (_ITM_abortTransaction): Update to match.
	(GTM::gtm_thread::restart): Likewise.
	* config/alpha/sjlj.S (GTM_longjmp): Likewise.
	* config/x86/sjlj.S (GTM_longjmp): Likewise.

2011-11-23  Iain Sandoe  <iains@gcc.gnu.org>

	* Makefile.am (libitm_la_LDFLAGS): Remove "-no-undefined".
	* Makefile.in: Regenerate.

2011-11-22  Iain Sandoe  <iains@gcc.gnu.org>

	* configure.ac: Use GCC_CHECK_ELF_STYLE_WEAKREF.
	* alloc_cpp.cc: Generate dummy functions if we don't
	HAVE_ELF_STYLE_WEAKREF.
	* eh_cpp.cc: Likewise.
	* configure: Regenerate.
	* aclocal.m4:  Likewise.
	* config.h.in: Likewise.
	* Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.

2011-11-22  Iain Sandoe  <iains@gcc.gnu.org>

	* config/x86/sjlj.S (CONCAT1, CONCAT2, SYM): Respond to
	__USER_LABEL_PREFIX__ for targets that use it.
	(TYPE, SIZE, HIDDEN): New macros to assist on non-elf targets.
	(_ITM_beginTransaction): Use SYM, TYPE, SIZE macros to assist
	in portability to non-elf targets.
	(GTM_longjmp): Likewise.
	* libitm_i.h (begin_transaction): Apply __USER_LABEL_PREFIX__
	where required.

2011-11-22  Iain Sandoe  <iains@gcc.gnu.org>

	* testsuite/libitm.c/memcpy-1.c: Allow for MAP_ANON spelling.
	* testsuite/libitm.c/memset-1.c: Likewise.

2011-11-21  Andreas Tobler  <andreast@fgznet.ch>

	* configure: Regenerate.

2011-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Handle gold.
	(LIBITM_ENABLE_SYMVERS): Handle sun style.
	* Makefile.am: Handle sun style versioning.
	(libitm_la_LINK): Add $(libitm_la_LDFLAGS).
	* configure: Regenerate.
	* Makefile.in: Regenerate.

2011-11-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/generic/asmcfi.h: Fix comment.
	* config/x86/sjlj.S (_ITM_beginTransaction): Provide ELF PIC code
	sequence without .hidden support, error for non-ELF targets.
	(GTM_longjmp) [__ELF__]: Only use .hidden if
	HAVE_ATTRIBUTE_VISIBILITY.

2011-11-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* alloc_cpp.cc [__osf__] (_ZnwX, _ZdlPv, _ZnaX, _ZdaPv,
	_ZnwXRKSt9nothrow_t, _ZdlPvRKSt9nothrow_t, _ZdaPvRKSt9nothrow_t):
	Dummy functions.
	* eh_cpp.cc [__osf__] (__cxa_allocate_exception, __cxa_throw,
	__cxa_begin_catch, __cxa_end_catch, __cxa_tm_cleanup): Likewise.

2011-11-16  Uros Bizjak  <ubizjak@gmail.com>

	PR bootstrap/51098
	* acinclude.m4 (LIBITM_CHECK_AS_AVX): Fix target selector.
	* configure: Regenerate.

2011-11-14  H.J. Lu  <hongjiu.lu@intel.com>

	* testsuite/lib/libitm.exp: Check ia32 instead of ilp32.

2011-11-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/alpha/sjlj.S (_ITM_beginTransaction) [!__ELF__]: Don't use
	.hidden.
	(.note.GNU-stack): Only use if __linux__.
	* alloc_cpp.cc [!__osf__] (_ZnaXRKSt9nothrow_t): Dummy function.
	* testsuite/libitm.c/notx.c: Use dg-options "-pthread".
	* testsuite/libitm.c/reentrant.c: Likewise.
	* testsuite/libitm.c/simple-2.c: Likewise.
	* testsuite/libitm.c/txrelease.c: Likewise.
	* testsuite/libitm.c++/static_ctor.C: Likewise.

2011-11-10  Richard Henderson  <rth@redhat.com>

	* config/x86/x86_avx.cc: Remove #undef __AVX__ hack.  Tidy comments.
	* Makefile.am (x86_avx.lo): Only add -mavx if ARCH_X86_AVX.
	* configure.ac (ARCH_X86_AVX): New conditional.
	* Makefile.in, configure: Rebuild.

2011-11-09  Richard Henderson  <rth@redhat.com>

	* acinclude.m4 (LIBITM_CHECK_AS_AVX): New.
	* configure.ac: Use it.
	* config.h.in, configure: Rebuild.
	* config/x86/x86_avx.cc: Handle !HAVE_AS_AVX.

2011-11-09  Richard Henderson  <rth@redhat.com>

	* barrier.tpl, memcpy.cc, memset.cc, method-wbetl.cc: Remove file.
	* config/alpha/unaligned.h: Remove file.
	* config/generic/unaligned.h: Remove file.
	* config/x86/unaligned.h: Remove file.
	* config/generic/cachepage.h: Remove file.
	* config/posix/cachepage.cc: Remove file.
	* config/generic/cacheline.cc: Remove file.
	* config/x86/cacheline.cc: Remove file.
	* config/generic/cacheline.h (gtm_cacheline): Remove the
	store_mask, copy_mask, copy_mask_wb methods.
	* config/x86/cacheline.h: Likewise.
	* config/alpha/cacheline.h: Fall back to generic after setting size.
	* config/generic/tls.cc (gtm_mask_stack): Remove.
	* config/x86/x86_avx.cc (GTM_vpperm_shift): Remove.
	(GTM_vpalignr_table): Remove.
	* config/x86/x86_sse.cc (GTM_palignr_table): Remove.
	(GTM_pshift_table): Remove.
	* config/libitm_i.h: Don't include cachepage.h.
	* Makefile.am (libitm_la_SOURCES): Remove cacheline.cc, cachepage.cc
	* Makefile.in, testsuite/Makefile.in: Rebuild.

2011-11-09  Richard Henderson  <rth@redhat.com>

	* config/x86/cacheline.h (gtm_cacheline::store_mask): Use .byte
	to emit branch prediction hint.

	* config/x86/sjlj.S: Protect elf directives with __ELF__.
	Protect .note.GNU-stack with __linux__.

	* configure.ac (GCC_AS_CFI_PSEUDO_OP): Test it.
	* configure, aclocal.m4, config.h.in: Rebuild.
	* config/generic/asmcfi.h: New file.
	* config/x86/sjlj.S: Use it.

2011-11-08  Richard Henderson  <rth@redhat.com>

	* local.cc (_ITM_LB): Use a normal call, not a function alias.

2011-11-08  Richard Henderson  <rth@redhat.com>

	* configure.tgt: Test correct directory for supported cpus.

	* configure.ac: Exit if unsupported.
	* configure: Rebuild.
	* configure.tgt: Delete boilerplate from libgomp for unsupported
	targets.  Set UNSUPPORTED for unsupported targets.

2011-11-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* configure.tgt: Handle i386 like i[456]86.
	* config/generic/tls.h [!HAVE_ARCH_GTM_THREAD] (gtm_thr): Don't
	take address.
	* config/generic/tls.cc [!HAVE_ARCH_GTM_THREAD ||
	!HAVE_ARCH_GTM_THREAD_DISP] (_gtm_thr_tls): New variable.

2011-11-05  Aldy Hernandez  <aldyh@redhat.com>

	* method-wbetl.cc: Update copyright notice.
	* aatree.cc: Same.
	* util.cc: Same.
	* libitm.h: Same.
	* memset.cc: Same.
	* eh_cpp.cc: Same.
	* barrier.tpl: Same.
	* useraction.cc: Same.
	* stmlock.h: Same.
	* memcpy.cc: Same.
	* common.h: Same.
	* config/generic/tls.cc: Same.
	* config/generic/cacheline.h: Same.
	* config/generic/cachepage.h: Same.
	* config/generic/cacheline.cc: Same.
	* config/generic/unaligned.h: Same.
	* config/x86/cacheline.h: Same.
	* config/x86/cacheline.cc: Same.
	* config/x86/unaligned.h: Same.
	* config/alpha/cacheline.h: Same.
	* config/alpha/unaligned.h: Same.
	* config/alpha/sjlj.S: Same.
	* config/posix/cachepage.cc: Same.
	* config/linux/futex.h: Same.
	* config/linux/alpha/futex_bits.h: Same.

2011-11-04  Torvald Riegel  <triegel@redhat.com>

	* libitm.texi: No cover text and invariant sections.

2011-11-03  Richard Henderson  <rth@redhat.com>

	* local_type_traits: New file.
	* libitm_i.h: Use it.  Use C headers, not C++ wrappers.

2011-11-03  Richard Henderson  <rth@redhat.com>

	* configure.ac: Don't test for gfortran.
	* configure: Rebuild.

	* testsuite/lib/libitm.exp: Don't include gfortran-dg.exp.
	* testsuite/libitm.c++/c++.exp: Don't use gfortran-dg-runtest.

2011-11-03  Aldy Hernandez  <aldyh@redhat.com>

	* testsuite/libitm.c/memcpy-1.c: Add copyright notice.
	* testsuite/libitm.c/memset-1.c: Same.
	* testsuite/libitm.c/c.exp: Same.
	* testsuite/lib/libitm-dg.exp: Same.
	* testsuite/lib/libitm.exp: Same.
	* testsuite/libitm.c++/c++.exp: Same.

2011-11-03  Aldy Hernandez  <aldyh@redhat.com>

	* testsuite/config/default.exp: Update copyright date.
	* configure.ac: Add copyright info.
	* configure.tgt: Same.

2011-11-03  Aldy Hernandez  <aldyh@redhat.com>

	* testsuite/libitm.c/reentrant.c: XFAIL.
	* testsuite/libitm.c++/static_ctor.C: XFAIL.

2011-10-29  Torvald Riegel  <triegel@redhat.com>

	* beginend.cc (GTM::gtm_thread::rollback): Add aborting flag and
	handle aborts.
	(_ITM_abortTransaction): Handle aborts of outer transactions.
	* libitm_i.h: Same.
	* eh_cpp.cc (GTM::gtm_thread::revert_cpp_exceptions): Fix assertion.
	* libitm.texi: Document aborts of outer transactions.
	* testsuite/libitm.c/cancel.c: New file.

2011-10-19  Torvald Riegel  <triegel@redhat.com>

	* testsuite/*: Change __transaction to __transaction_atomic or
	__transaction_relaxed.

2011-10-19  Torvald Riegel  <triegel@redhat.com>

	* config/linux/x86/tls.h (abi_disp): Make TLS slot read volatile.
	(gtm_thr): Same.

2011-10-19  Torvald Riegel  <triegel@redhat.com>

	* libitm_i.h: Add gl_wt dispatch.
	* retry.cc (parse_default_method): Same.
	* method-gl.cc: New file.
	* Makefile.am: Use method-gl.cc.
	* Makefile.in: Rebuild.

2011-10-19  Torvald Riegel  <triegel@redhat.com>

	* beginend.cc (GTM::gtm_thread::trycommit): Ensure privatization
	safety if requested by a TM method.
	* dispatch.h (GTM::abi_dispatch::trycommit): Add parameter for
	privatization safety.
	* method-serial.cc: Same.

2011-10-19  Torvald Riegel  <triegel@redhat.com>

	* libitm_i.h: Renamed gtm_local_undo to gtm_undolog_entry.
	(GTM::gtm_thread): Renamed local_undo to undolog. Renamed
	undolog-related member functions from *_local to *_undolog.
	* local.cc (gtm_thread::commit_undolog): Same.
	* beginend.cc (GTM::gtm_thread::trycommit): Same.
	(GTM::gtm_thread::rollback): Roll back undolog before
	dispatch-specific rollback.

2011-10-19  Torvald Riegel  <triegel@redhat.com>

	* retry.cc (GTM::gtm_thread::decide_retry_strategy): Handle
	re-initialization of the current method group.
	* libitm_i.h (GTM::gtm_restart_reason): Add restart reason for this.

2011-10-19  Torvald Riegel  <triegel@redhat.com>

	* alloc.cc (commit_allocations_2): Do not free transaction-local
	memory when committing a nested transaction.

2011-10-19  Torvald Riegel  <triegel@redhat.com>

	* method-serial.cc (GTM::gtm_thread::serialirr_mode): Fixed: Use
	serial-irrevocable dispatch, not serial.

2011-10-19  Torvald Riegel  <triegel@redhat.com>

	* libitm_i.h (GTM::gtm_restart_reason): Re-arrange and clean up
	declarations.
	* dispatch.h (GTM::abi_dispatch::begin_or_restart): New.
	* method-serial.cc: Implement begin_or_restart().
	* beginend.cc (GTM::gtm_thread::begin_transaction): Call
	dispatch-specific begin_or_restart().
	(GTM::gtm_thread::restart): Same.

2011-08-23  Torvald Riegel  <triegel@redhat.com>

	* retry.cc (GTM::gtm_thread::decide_retry_strategy): Cleanup. Fix
	restarting without switching to serial mode.
	(GTM::gtm_thread::decide_begin_dispatch): Let the caller set the
	transaction state. Choose closed-nesting alternative if available.
	(GTM::gtm_thread::set_default_dispatch): New.
	(parse_default_method): New.
	(GTM::gtm_thread::number_of_threads_changed): New.
	* method-serial.cc (GTM::serial_mg): New method group class.
	(GTM::serialirr_dispatch): Belongs to serial_mg. Remove reinit and
	fini.
	(GTM::serial_dispatch): Same.
	(GTM::serialirr_onwrite_dispatch): Same.
	(GTM::gtm_thread::serialirr_mode): Remove calls to fini.
	* beginend.cc (GTM::gtm_thread::~gtm_thread): Maintain number of
	registered threads.
	(GTM::gtm_thread::gtm_thread): Same.
	(_ITM_abortTransaction): Remove calls to abi_dispatch::fini().
	(GTM::gtm_thread::trycommit): Same. Reset number of restarts.
	(GTM::gtm_thread::begin_transaction): Let decide_begin_dispatch()
	choose dispatch but set state according to dispatch here.
	* dispatch.h (GTM::abi_dispatch::fini): Move to method group.
	(GTM::method_group): New class.
	(GTM::abi_dispatch): Add comments. Maintain pointer to method_group.
	* libitm_i.h (GTM::gtm_thread): Add declarations for new members.
	* libitm.texi: Document TM methods, method groups, method life cycle.
	Rename method sets to method groups.

2011-08-23  Torvald Riegel  <triegel@redhat.com>

	* config/x86/tls.h: Moved to ...
	* config/linux/x86/tls.h: ... here.

2011-08-23  Torvald Riegel  <triegel@redhat.com>

	* config/x86/tls.h: Use __x86_64__ instead of __LP64__.
	Add X32 support.
	* config/x86/sjlj.S: Same.

2011-08-19  Torvald Riegel  <triegel@redhat.com>

	* config/linux/rwlock.h: New file.
	* config/linux/rwlock.c: New file.
	* configure.ac: Reenable futex support (undo SVN rev 157758).
	* Makefile.am: Same.
	* configure.tgt: Same.
	* config/linux/alpha/futex_bits.h: Same.
	* config/linux/futex.h: Same. Return number of woken processes.
	* config/linux/futex.cc: Same.
	(futex_wait): Remove spinning.
	* config/linux/x86/futex_bits.h: Same. Set futex timeout to zero.
	Use __x86_64__ instead of __LP64__.
	* aclocal.m4: Include generic futex checks.
	* configure: Rebuild.
	* Makefile.in: Rebuild.
	* testsuite/Makefile.in: Rebuild.
	* beginend.cc: Include pthread.h.
	* config/posix/cachepage.cc: Same.

2011-08-12  Torvald Riegel  <triegel@redhat.com>

	* config/x86/tls.h (gtm_tx, set_gtm_tx, setup_gtm_thr): Removed.
	(abi_disp, set_abi_disp): Move to tx's TLS slot.
	(set_gtm_thr): New.
	* config/generic/tls.h (gtm_tx, set_gtm_tx, setup_gtm_thr): Removed.
	(set_gtm_thr): New.
	(GTM::gtm_thread::thread_num): Removed.
	(GTM::gtm_thread): Renamed to GTM::gtm_thread_tls.
	* libitm_i.h (GTM::gtm_transaction): Renamed to GTM::gtm_thread. More
	tx-to-thread renaming.
	* beginend.cc: Adapted to tx-to-thread renaming.
	(GTM::gtm_thread::~gtm_thread): Extracted from thread_exit_handler().
	(GTM::gtm_thread::gtm_thread): Extracted from begin_transaction().
	* query.cc (_ITM_getTransactionId, _ITM_inTransaction): Renamed
	gtm_transaction to gtm_thread.
	(_ITM_getThreadnum): Removed. Not supported anymore.
	* testsuite/libitm.c/notx.c (main): Removed _ITM_getThreadnum call.
	* libitm.texi: Documented that _ITM_getThreadnum is not supported.
	* useraction.cc: Renamed gtm_transaction to gtm_thread. Adapted to
	gtm_tx-to-gtm_thr renaming if necessary.
	* eh_cpp.cc: Same.
	* local.cc: Same.
	* retry.cc: Same.
	* clone.cc: Same.
	* alloc.cc: Same.
	* alloc_c.cc: Same.
	* alloc_cpp.cc: Same.
	* method-serial.cc: Same.
	* config/generic/tls.cc: Same.
	* config/posix/rwlock.h (gtm_rwlock): Same.
	* config/posix/rwlock.cc: Same. Adapted to more tx-to-thread renaming.

2011-08-12  Torvald Riegel  <triegel@redhat.com>

	* config/posix/rwlock.cc (gtm_rwlock::read_lock): Changed locking
	implementation.
	(gtm_rwlock::read_unlock): Same.
	(gtm_rwlock::write_lock_generic): New. Generalized from ...
	(gtm_rwlock::write_lock, gtm_rwlock::write_upgrade): ... these.
	* libitm_i.h (GTM::gtm_transaction): Added shared_state.
	* config/posix/rwlock.h (GTM::gtm_rwlock): Removed a_reader and
	w_upgrade. Replaced by per-transaction flags (in shared_state).
	Added c_confirmed_writers.
	(GTM::gtm_rwlock::read_lock, GTM::gtm_rwlock::read_unlock,
	GTM::gtm_rwlock::write_upgrade): Add tx parameter.
	* retry.cc (GTM::gtm_transaction::decide_retry_strategy): Same.
	* method-serial.cc (GTM::gtm_transaction::serialirr_mode): Same.
	* beginend.cc (GTM::gtm_transaction::begin_transaction,
	_ITM_abortTransaction, GTM::gtm_transaction::trycommit): Same.
	* libitm.texi: Document locking conventions and implementations in
	libitm.

2011-08-12  Torvald Riegel  <triegel@redhat.com>

	* libitm_i.h (next_tx): Add list of all threads' transaction.
	* beginend.cc (GTM::gtm_transaction::begin_transaction): Register
	transaction with list of transactions and ...
	(thread_exit_handler): ... deregister here.
	* config/alpha/target.h: Add HW_CACHELINE_SIZE setting.
	* config/x86/target.h: Same.

2011-08-12  Torvald Riegel  <triegel@redhat.com>

	* testsuite/libitm.c++/static_ctor.C: New file.

2011-08-12  Torvald Riegel  <triegel@redhat.com>

	* testsuite/libitm.c/reentrant.c: New file.

2011-08-12  Torvald Riegel  <triegel@redhat.com>

	* config/generic/tls.h: Remove the free list for transactions and ...
	* beginend.cc (GTM::gtm_transaction::operator new): ... allocate ...
	(GTM::gtm_transaction::operator delete): ... and release here.
	(thread_exit_handler): New. Delete tx when thread terminates.
	(thread_exit_init): New.
	(GTM::gtm_transaction::begin_transaction): Set up on-exit handler.
	* testsuite/libitm.c/txrelease.c: New file.

2011-08-12  Torvald Riegel  <triegel@redhat.com>

	* query.cc (_ITM_getThreadnum): Set up gtm_thread if necessary.
	* testsuite/libitm.c/notx.c: New file.

2011-08-12  Torvald Riegel  <triegel@redhat.com>

	* config/generic/tls.h (gtm_thread): Move local_tid from here ...
	* libitm_i.h (local_tid): ... to here.
	* beginend.cc (GTM::gtm_transaction::begin_transaction): Same.
	(GTM::gtm_transaction::operator new): Set up gtm_thread if necessary.

2011-08-12  Torvald Riegel  <triegel@redhat.com>

	* retry.cc (GTM::gtm_transaction::decide_begin_dispatch): Use
	serialirr_onwrite_dispatch as new default for now.
	* method-serial.cc (serialirr_onwrite_dispatch): New.
	(GTM::dispatch_serialirr_onwrite): New.
	* libitm_i.h: Same.

2011-08-12  Torvald Riegel  <triegel@redhat.com>

	* beginend.cc (GTM::gtm_transaction::rollback): Roll back tx id as well.
	* query.cc (_ITM_getTransactionId): There is no active transaction if
	the current nesting level is zero.

2011-07-28  Torvald Riegel  <triegel@redhat.com>

	* beginend.cc (GTM::gtm_transaction::rollback): Fix nesting level
	rollback.

2011-07-28  Torvald Riegel  <triegel@redhat.com>

	* retry.cc (GTM::gtm_transaction::decide_begin_dispatch): Get
	transaction properties from the caller instead of from the
	transaction object.
	* libitm_i.h: Same.
	* beginend.cc (GTM::gtm_transaction::begin_transaction): Same.

2011-07-28  Torvald Riegel  <triegel@redhat.com>

	* local.cc (gtm_transaction::rollback_local): Support closed nesting.
	* eh_cpp.cc (GTM::gtm_transaction::revert_cpp_exceptions): Same.
	* dispatch.h: Same.
	* method-serial.cc: Same.
	* beginend.cc (GTM::gtm_transaction::begin_transaction): Change to
	flat nesting as default, and closed nesting on demand.
	(GTM::gtm_transaction::rollback): Same.
	(_ITM_abortTransaction): Same.
	(GTM::gtm_transaction::restart): Same.
	(GTM::gtm_transaction::trycommit): Same.
	(GTM::gtm_transaction::trycommit_and_finalize): Removed.
	(choose_code_path): New.
	(GTM::gtm_transaction_cp::save): New.
	(GTM::gtm_transaction_cp::commit): New.
	* query.cc (_ITM_inTransaction): Support flat nesting.
	* libitm_i.h (GTM::gtm_transaction_cp): New helper struct for nesting.
	(GTM::gtm_transaction): Support flat and closed nesting.
	* alloc.cc (commit_allocations_2): New.
	(commit_cb_data): New helper struct.
	(GTM::gtm_transaction::commit_allocations): Handle nested
	commits/rollbacks.
	* libitm.texi: Update user action section, add description of nesting.

2011-07-28  Torvald Riegel  <triegel@redhat.com>

	* libitm_i.h: Add closed nesting as restart reason.
	* retry.cc (GTM::gtm_transaction::decide_retry_strategy): Same.

2011-07-28  Torvald Riegel  <triegel@redhat.com>

	* useraction.cc: Use vector instead of list to store actions.
	Also support partial rollbacks for closed nesting.
	* libitm_i.h (GTM::gtm_transaction::user_action): Same.
	* beginend.cc: Same.

2011-07-28  Torvald Riegel  <triegel@redhat.com>

	* dispatch.h (GTM::abi_dispatch): Add can_run_uninstrumented_code and
	closed_nesting flags, as well as a closed nesting alternative.
	* method-serial.cc: Same.
	(serial_dispatch): Renamed to serialirr_dispatch.
	(GTM::dispatch_serialirr): Same.
	(serial_dispatch_ul): Renamed to serial_dispatch.
	(GTM::dispatch_serial): Same.

2011-07-28  Torvald Riegel  <triegel@redhat.com>

	* libitm.h (_ITM_codeProperties): Change pr_hasElse to the ABI's value.

2011-07-28  Torvald Riegel  <triegel@redhat.com>

	* aatree.h (aa_tree::remove): New.
	(aa_tree::operator new): Add placement new.

2011-07-02  Torvald Riegel  <triegel@redhat.com>

	* containers.h: New file.
	* util.cc (xmalloc, xrealloc): Accept cacheline-alloc flag.
	* libitm_i.h (xmalloc, xrealloc): Moved declarations from here ...
	* common.h: ... to here.
	(local_undo): Use GTM::vector for gtm_transaction::local_undo.
	* local.cc: Same.

2011-06-30  Torvald Riegel  <triegel@redhat.com>

	* libitm_i.h (STATE_ABORTING): Remove.
	* beginend.cc (_ITM_abortTransaction): Same.
	(GTM::gtm_transaction::trycommit_and_finalize): Same.
	* libitm.h (_ITM_registerThrownObject, _ITM_tryCommitTransaction): Remove.
	(_ITM_rollbackTransaction): Remove.
	* beginend.cc: Same.
	* libitm.map: Same.
	* libitm.texi: Document these ABI changes.

2011-06-30  Torvald Riegel  <triegel@redhat.com>

	* libitm.texi: New file.
	* Makefile.am: Add libitm.texi.
	* Makefile.in: Rebuild.

2011-06-30  Torvald Riegel  <triegel@redhat.com>

	* libitm_i.h: Move parts to common.h and dispatch.h.
	* common.h: New file.
	* dispatch.h: New file, new dispatch class.
	Rename GTM::abi_dispatch::lock_type to ls_modifier.
	RenameGTM::abi_dispatch::NOLOCK to NONTXNAL.
	* beginend.cc (GTM::gtm_transaction::begin_transaction): Delegate mode
	decision to retry.cc.
	* retry.cc (GTM::gtm_transaction::decide_retry_strategy): Use serial mode
	only.
	(GTM::gtm_transaction::decide_begin_dispatch): Same.
	* method-serial.cc: Adapt to new dispatch. Add serial mode with undo
	logging.
	* barrier.cc: Use new barriers definitions.
	(abi_dispatch::memmove_overlap_check): New.
	* config/x86/x86_sse.cc: Same.
	* config/x86/x86_avx.cc: Same.
	* Makefile.am: Don't build readonly and wbetl methods, memset.cc and
	memcpy.cc.
	* Makefile.in: Rebuild.
	* method-readonly.cc: Remove.
	* method-wbetl.cc: Rename GTM::abi_dispatch::lock_type to ls_modifier.
	Rename GTM::abi_dispatch::NOLOCK to NONTXNAL.

2011-06-30  Torvald Riegel  <triegel@redhat.com>

	* alloc_c.cc (_ITM_dropReferences): Don't support it anymore.
	* testsuite/libitm.c++/dropref.C: _ITM_dropReferences is expected to fail.
	* testsuite/libitm.c/dropref-2.c: Same.
	* testsuite/libitm.c/dropref.c: Same.

2011-06-30  Torvald Riegel  <triegel@redhat.com>

	* config/generic/tls.h (gtm_disp): Rename to abi_disp.
	* config/generic/tls.h (set_gtm_disp): Rename to set_abi_disp.
	* libitm_i.h: Rename gtm_dispatch to abi_dispatch.
	* alloc_c.cc: Same.
	* barrier.tpl: Same.
	* beginend.c: Same.
	* config/generic/tls.h: Same.
	* config/x86/tls.h: Same.
	* libitm_i.h: Same.
	* memcpy.cc: Same.
	* memset.cc: Same.
	* method-readonly.cc: Same.
	* method-serial.cc: Same.
	* method-wbetl.cc: Same.
	* retry.cc: Same.

2011-03-03  Richard Henderson  <rth@redhat.com>

	* config/posix/rwlock.cc (write_upgrade): Add missing case.
	From Patrik Marlier <patrick.marlier@unine.ch>.

2011-02-03  Richard Henderson  <rth@redhat.com>

	* acinclude.m4 (LIBITM_CHECK_SIZE_T_MANGLING): New.
	* configure.ac: Use it.
	* configure, config.h.in: Rebuild.
	* alloc_cpp.cc (_ZnwX): Use MANGLE_SIZE_T in constructing the name.
	(_ZnaX, _ZnwXRKSt9nothrow_t, _ZnaXRKSt9nothrow_t, _ZGTtnwX,
	_ZGTtnaX, _ZGTtnwXRKSt9nothrow_t, _ZGTtnaXRKSt9nothrow_t): Likewise.
	* libitm.map: Use wildcards to match size_t mangling.

2010-12-14  Richard Henderson  <rth@redhat.com>

	* beginend.cc (GTM::gtm_transaction::begin_transaction): Allocate
	blocks of TIDs per thread.
	* config/generic/tls.h (struct gtm_thread): Add local_tid member.
	(setup_gtm_thr): Return the thread structure.
	* config/x86/tls.h (setup_gtm_thr): Likewise.

2010-12-14  Richard Henderson  <rth@redhat.com>

	* clone.cc (table_lock): Remove.
	(find_clone): Don't take it.
	(ExcludeTransaction): New helper class.
	(_ITM_registerTMCloneTable): Use it.
	(_ITM_deregisterTMCloneTable): Likewise.

2010-12-14  Richard Henderson  <rth@redhat.com>

	* config/x86/tls.h: New file.

2010-07-15  Richard Henderson  <rth@redhat.com>

	* Makefile.am (AM_CXXFLAGS): Add -funwind-tables.
	* Makefile.in: Rebuild.

2010-07-13  Aldy Hernandez  <aldyh@redhat.com>

	* method-wbetl.cc (trydropreference): Fix source line.

2010-07-13  Aldy Hernandez  <aldyh@redhat.com>

	* libitm.h: Add comment.
	* libitm_i.h (begin_transaction): Add ITM_REGPARM.

2010-07-07  Aldy Hernandez  <aldyh@redhat.com>

	* configure.ac: Call LIBITM_CHECK_64BIT_SYNC_BUILTINS.
	* beginend.cc (begin_transaction): If 64-bit sync builtins are not
	available, use pthread mutexes.
	* acinclude.m4 (LIBITM_CHECK_64BIT_SYNC_BUILTINS): New.
	* config.h.in: Regenerate.
	* configure: Regenerate.

2010-07-06  Aldy Hernandez  <aldyh@redhat.com>

	* libitm.h (ITM_PURE): Define.
	Declare _ITM_malloc, _ITM_calloc, and _ITM_free.

2010-06-28  Aldy Hernandez  <aldyh@redhat.com>

	* method-wbetl.cc (class wbetl_dispatch): Add trydropreference.
	(validate): Add comment.
	(trydropreference): New.
	* method-readonly.cc (class readonly_dispatch): Add
	trydropreference.
	* alloc_c.cc (_ITM_dropReferences): Remove const attribute.
	Call trydropreference().
	* libitm.h (_ITM_dropReferences): Remove const attribute.
	* method-serial.cc (class serial_dispatch): Add trydropreference.
	* libitm_i.h (struct gtm_dispatch): Add trydropreference.

2010-06-28  Aldy Hernandez  <aldyh@redhat.com>

	* memcpy.cc (do_memcpy): Comment.

2010-06-25  Aldy Hernandez  <aldyh@redhat.com>

	* barrier.tpl: Add comments throughout.

2010-06-24  Aldy Hernandez  <aldyh@redhat.com>

	* method-wbetl.cc (struct w_entry): Add comments.
	(trycommit): Same.
	(rollback): Same.

2010-06-24  Aldy Hernandez  <aldyh@redhat.com>

	* alloc_c.cc (_ITM_dropReferences): New.
	* libitm.map (_ITM_dropReferences): Add.
	* libitm.h (_ITM_dropReferences): Add transaction_pure attribute.
	* libitm_i.h (struct gtm_transaction): Declare
	drop_references_allocations and drop_references_local.
	* local.cc (rollback_local): Ignore memory when applicable.
	(drop_references_local): New.

2010-06-23  Richard Henderson  <rth@redhat.com>

	* barrier.tpl, beginend.cc, clone.cc, tls.h, memcpy.cc,
	memset.cc, method-serial.cc: Revert the 2010-06-16 change.
	* config/x86/target.h (struct gtm_jmpbuf): Change CFA type to void*.
	* config/alpha/target.h: Likewise.
	* config/generic/tls.cc (gtm_mask_stack): Use it.

2010-06-23  Richard Henderson  <rth@redhat.com>

	* config/posix/cachepage.cc (gtm_cacheline_page::operator new): Use
	a mutex instead of trying a lock-free compare-and-swap on the list.
	(gtm_cacheline_page::operator delete): Likewise.

2010-06-16  Richard Henderson  <rth@redhat.com>

	* method-wbetl.cc (wbetl_dispatch::trycommit): Discard changes
	that overlap the libitm stack.
	* barrier.tpl: Mark incoming stack.
	* beginend.cc (_ITM_rollbackTransaction, _ITM_abortTransaction,
	_ITM_commitTransaction, _ITM_commitTransactionEH): Likewise.
	* clone.cc (_ITM_getTMCloneOrIrrevocable): Likewise.
	* memcpy.cc, memset.cc: Likewise.
	* method-serial.cc (_ITM_changeTransactionMode): Likewise.
	* config/generic/tls.h (gtm_thread): Add stack_top member.
	(gtm_stack_top, set_gtm_stack_top, struct gtm_stack_marker): New.
	* libitm_i.h (gtm_mask_stack): Declare.
	* config/generic/tls.cc: New file.
	* Makefile.am (libitm_la_SOURCES): Add it.
	(AM_CXXFLAGS): Turn off exceptions.
	* Makefile.in: Rebuild.

2010-06-16  Richard Henderson  <rth@redhat.com>

	* alloc.cc (struct gtm_alloc_action): Move definition ...
	* libitm_i.h: ... here.
	(class gtm_transaction): Declare new and delete.
	* beginend.cc (alloc_tx): Reformulate as operator new.
	(free_tx): Reformulate as operator delete.
	* config/generic/tls.h (gtm_thread): Change free_tx member to void *.

2010-06-11  Richard Henderson  <rth@redhat.com>

	* clone.cc (clone_entry_compare): Fix typo.
	From Patrik Marlier <patrick.marlier@unine.ch>.

2010-05-13  Richard Henderson  <rth@redhat.com>

	* alloc_c.cc (_ITM_malloc, _ITM_calloc, _ITM_free): Wrap functions
	in extern "C".

2010-05-07  Aldy Hernandez  <aldyh@redhat.com>

	* libitm_i.h (struct gtm_transaction): Remove
	get_allocation_size.
	(record_allocation): Remove size parameter.
	* libitm.map (_ITM_realloc): Remove.
	* alloc_c.cc (_ITM_realloc): Remove.
	(_ITM_malloc): Remove size argument to record_allocation.
	(_ITM_calloc): Same.
	* alloc_cpp.cc (_ZGTtnwm): Same.
	(_ZGTtnwmRKSt9nothrow_t): Same.
	(_ZGTtnam): Same.
	(_ZGTtnamRKSt9nothrow_t): Same.
	* alloc.cc (struct gtm_alloc_action): Remove size.
	(get_allocation_size): Remove.
	(commit_allocations): Add comment.
	(record_allocation): Remove size parameter.
	(forget_allocation): Remove set of size.

2010-04-19  Aldy Hernandez  <aldyh@redhat.com>

	* Makefile.am (abi_version): New.
	(AM_CXXFLAGS): Pass abi_version.
	* Makefile.in: Regenerate.
	* config/x86/unaligned.h: Remove always_inline kludge for vectors.

2010-04-06  Aldy Hernandez  <aldyh@redhat.com>

	* clone.cc (_ITM_getTMCloneOrIrrevocable): Rename from
	_ITM_getTMCloneOrIrrevokable.
	* libitm.h (_ITM_getTMCloneOrIrrevocable): Same.
	* libitm.map (_ITM_getTMCloneOrIrrevocable): Same.

2010-03-26  Aldy Hernandez  <aldyh@redhat.com>

	* configure.ac: Remove Linux futex support.
	* configure.tgt (config_path): Same.
	* Makefile.am: Same.
	* config/linux: Remove entire directory.
	* configure: Rebuild.
	* Makefile.in: Rebuild.
	* testsuite/Makefile.in: Rebuild.

2010-03-09  Aldy Hernandez  <aldyh@redhat.com>

	* retry.cc (decide_retry_strategy): Set state to STATE_SERIAL when
	switching to serial mode.
	* beginend.cc (trycommit_and_finalize): Unlock serial_lock.

2010-03-03  Aldy Hernandez  <aldyh@redhat.com>

	* configure.tgt: Add emacs -*- tags.
	* barrier.tpl: Same.

2010-02-23  Aldy Hernandez  <aldyh@redhat.com>

	* Makefile.am: Rename serial.cc to method-serial.cc.
	* Makefile.in: Regenerate with automake 1.11.1.
	* testsuite/Makefile.in: Same.
	* aclocal.m4: Regenerate with aclocal 1.11.1.
	* method-serial.cc: Rename from serial.cc.
	* libitm_i.h (struct gtm_transaction): Update comment on
	serialirr_mode.

2010-02-22  Aldy Hernandez  <aldyh@redhat.com>

	* libitm_i.h (GTM_longjmp): Add ITM_REGPARM.
	* config/linux/rwlock.h (class gtm_rwlock): Add comments.

2010-02-11  Aldy Hernandez  <aldyh@redhat.com>

	* configure: Rebuild.

2009-11-12  Richard Henderson  <rth@redhat.com>

	* Rewrite everything in C++.

2009-11-03  Richard Henderson  <rth@redhat.com>

	* config/x86/x86_sse.c, config/x86/x86_avx.c: New files.
	* Makefile.am (libitm_la_SOURCES): Add them.
	* configure.ac (ARCH_X86): New conditional.
	* Makefile.in, configure: Rebuild.
	* configure.tgt: Set up ARCH; do cflags setup at the same time.
	Move futex setup into "other system configury" case.
	* local.c (rollback_local): Merge into ...
	(GTM_rollback_local): ... here.
	(GTM_LB): Rename from GTM_alloc_local; do the memcpy here.
	(_ITM_LB): Define as an alias to GTM_LB.

2009-11-03  Richard Henderson  <rth@redhat.com>

	* method-readonly.c: New file.
	* Makefile.am (libitm_la_SOURCES): Add it.
	* Makefile.in: Rebuild.
	* beginend.c (gtm_stmlock_array, gtm_clock): New.
	(GTM_begin_transaction): Use dispatch_readonly for read-only txn.
	* libitm_i.h (gtm_stmlock, gtm_version): Move from method-wbetl.c.
	(GTM_VERSION_MAX, GTM_VERSION_INVALID, gtm_stmlock_owned_p,
	gtm_stmlock_set_owned, gtm_stmlock_get_addr,
	gtm_stmlock_get_version, gtm_stmlock_set_version, LOCK_ARRAY_SIZE,
	gtm_stmlock_array, gtm_get_stmlock, gtm_clock, RESTART_NOT_READONLY,
	gtm_get_clock, gtm_inc_clock): New.
	* method-wbetl.c (gtm_version, gtm_stmlock, OWNED_MASK, VERSION_MAX,
	LOCK_GET_OWNED, LOCK_SET_ADDR, LOCK_GET_ADDR, LOCK_GET_TIMESTAMP,
	LOCK_SET_TIMESTAMP, LOCK_ARRAY_SIZE, LOCK_MASK, LOCK_IDX, GET_LOCK,
	locks, gclock, CLOCK, GET_CLOCK, FETCH_AND_INC_CLOCK): Remove and
	replace uses with new libitm_i.h symbols.
	(dispatch_wbetl): Rename from wbetl_dispatch.
	* retry.c (GTM_decide_retry_strategy): If RESTART_NOT_READONLY, move
	away from dispatch_readonly; abort if the beginTransaction call
	asserted that the transaction was readonly.

2009-11-03  Richard Henderson  <rth@redhat.com>

	* memset.c: New file.
	* Makefile.am (libitm_la_SOURCES): Add it.
	* Makefile.in: Rebuild.
	* testsuite/libitm.c/memset-1.c: New.

2009-11-03  Richard Henderson  <rth@redhat.com>

	* dispatch.c: Remove file.
	* useraction.c (struct gtm_user_action): Move from libitm.h.
	* serial.c (GTM_null_read_lock, GTM_null_write_lock): New.
	(serial_memset, serial_memmove, serial_memcpy): Remove.
	(serial_W*, serial_R*): Remove.
	(serial_dispatch): Update to match.
	* configure.ac: Move Werror down below configure checks.  Don't
	check for sys/loadavg.h, do check for malloc.h.  Don't check for
	getloadavg and clock_gettime; do check for memalign, posix_memalign.
	Use GCC_AC_FUNC_MMAP_BLACKLIST
	* libitm.h: Split out all internal items to...
	* libitm_i.h: ... here.  New file.
	* copymask.c: New file.
	* local.c (struct gtm_local_undo): Move from libitm.h.
	(GTM_alloc_local): Rename from alloc_local; export.
	* memcpy.c: New file.
	* alloc_c.c (_ITM_realloc): Use _ITM_memcpyRnWt directly.
	* config/posix/page.c: New file.
	* config/posix/target_tls.h: Remove file.
	* barrier.c: New file.
	* Makefile.am (libitm_la_SOURCES): Add barrier.c, memcpy.c,
	copymask.c, page.c.
	* alloc.c (struct gtm_alloc_action): Move from libitm.h.
	* method-wbetl.c: Rewrite for new cacheline methods.
	* Makefile.in, configure, testsuite/Makefile.in, config.h.in: Rebuild.

	* config/alpha/sjlj.S: Fix typo.
	* config/alpha/target_i.h: Copy functions from alpha/target.h.
	* config/alpha/copymask.c: New file.
	* config/alpha/target.h (CACHELINE_SIZE): New.
	(STRICT_ALIGNMENT, PAGE_SIZE, FIXED_PAGE_SIZE): New.

	* config/x86/target_i.h: Copy functions from x86/target.h.
	* config/x86/copymask.c: New file.
	* config/x86/target.h (_ITM_ALL_TARGET_TYPES): Remove.
	(CACHELINE_SIZE, STRICT_ALIGNMENT): New.
	(PAGE_SIZE, FIXED_PAGE_SIZE): New.
	* config/x86/target_tls.h: Move contents to target_i.h.

	* testsuite/libitm.c/clone-1.c: Include libitm.h.
	* testsuite/libitm.c/memcpy-1.c: New.

2009-10-22  Richard Henderson  <rth@redhat.com>

	* Makefile.am (CCAS, CCASFLAGS, LTCCASCOMPILE): Remove.
	(AM_CCASFLAGS): New.
	* configure.ac: Add AM_PROG_AS.  Use m4_rename_force for
	saving/restoring _AC_ARG_VAR_PRECIOUS.
	* Makefile.in, aclocal.m4, config.h.in, configure,
	testsuite/Makefile.in: Rebuild with automake 1.11; autoconf 2.64.

2009-10-22  Richard Henderson  <rth@redhat.com>

	* testsuite/*: Update for new compiler syntax.

2009-10-21  Richard Henderson  <rth@redhat.com>

	* libitm.h (_ITM_abortReason): Add outerAbort.

2009-08-03  Richard Henderson  <rth@redhat.com>

	* libitm.map (_ITM_commitTransactionEH, _ITM_cxa_allocate_exception,
	_ITM_cxa_begin_catch, _ITM_cxa_end_catch, _ITM_cxa_throw): Export.
	* method-wbetl.c (struct w_entry): Remove mask.
	(wbetl_write, wbetl_load): Return pointer to word containing the data;
	adjust all callers.

2009-07-22  Richard Henderson  <rth@redhat.com>

	* eh_cpp.c: New file.
	* Makefile.am (libitm_la_SOURCES): Add it.
	* Makefile.in: Rebuild.
	* beginend.c (GTM_rollback_transaction): Undo exception state.
	(GTM_trycommit_transaction): Mark inline.
	(GTM_trycommit_and_finalize_transaction): Split out from ...
	(_ITM_commitTransaction): ... here.
	(_ITM_commitTransactionEH): New function.
	* libitm.h (struct gtm_transaction): Add cxa_catch_count,
	cxa_unthrown, eh_in_flight; reorder.

	* testsuite/libitm.c++/c++.exp: New.
	* testsuite/libitm.c++/eh-1.C: New.

	* aatree.c (aa_free): Remove REGPARM.
	* aatree.h: Remove all REGPARM.

2009-07-18  Richard Henderson  <rth@redhat.com>

	* aatree.c, aatree.h, alloc.c, alloc_c.c, alloc_cpp.c: New files.
	* Makefile.am (libitm_la_SOURCES): Add them.
	* Makefile.in: Rebuild.
	* beginend.c (GTM_rollback_transaction): Use GTM_commit_allocations.
	(GTM_trycommit_transaction): Likewise.
	* libitm.h: Include aatree.h
	(struct gtm_alloc_action): New.
	(struct gtm_transaction): Add alloc_actions.
	(GTM_record_allocation, GTM_forget_allocation): Declare.
	(GTM_get_allocation_size, GTM_commit_allocations): Declare.
	* libitm.map (_ITM_malloc, _ITM_calloc, _ITM_realloc, _ITM_free,
	_ZGTtnwm, _ZGTtnam, _ZGTtdlPv, _ZGTtdaPv, _ZGTtnwmRKSt9nothrow_t,
	_ZGTtnamRKSt9nothrow_t, _ZGTtdlPvRKSt9nothrow_t,
	_ZGTtdaPvRKSt9nothrow_t): Export.

2009-07-18  Richard Henderson  <rth@redhat.com>

	* target_tls.h: Move ...
	* config/posix/target_tls.h: ... here.

2009-07-07  Richard Henderson  <rth@redhat.com>

	* config/x86/target.h (atomic_write_barrier): Use sfence if available.

2009-07-07  Richard Henderson  <rth@redhat.com>

	* Update to GPL3.

2009-07-07  Richard Henderson  <rth@redhat.com>

	* libitm.h (struct gtm_transaction): Widen id to _ITM_transactionId_t.
	* beginend.c (global_tid): Widen to _ITM_transactionId_t.

	* configure.tgt: Don't use -ftls-model for x86 linux.
	* libitm.h: Include target.h after standard includes.
	(_gtm_thr): Rename from gtm_thr.
	(setup_gtm_thr, gtm_thr, gtm_tx, set_gtm_tx): New.
	(gtm_disp, set_gtm_disp): New.
	* beginend.c, dispatch.c, local.c, method-wbetl.c, query.c,
	retry.c, serial.c, useraction.c: Use accessor functions throughout.
	* config/alpha/target_tls.h, config/x86/target_tls.h: New files.

2009-07-07  Richard Henderson  <rth@redhat.com>

	* config/linux/rwlock.c (EZ): New define.  Use it throughout.

2009-07-06  Richard Henderson  <rth@redhat.com>

	* libitm.h (_ITM_SRCLOCATION_DECL_1, _ITM_SRCLOCATION_DECL_2): Remove.
	(_ITM_SRCLOCATION_DEFN_1, _ITM_SRCLOCATION_DEFN_2): Remove.
	(_ITM_beginTransaction): Take variadic arguments.
	(_ITM_registerThrownObject): Declare.
	* beginend.c, serial.c: Update.
	* libitm.map: Add _ITM_registerThrownObject.

2009-01-28  Richard Henderson  <rth@redhat.com>

	* Makefile.am (libitm_la_SOURCES): Add clone.c.
	* Makefile.in: Rebuild.
	* beginend.c (_ITM_abortTransaction): Abort if irrevokable.
	(GTM_restart_transaction): Fix uninstrumented code check.
	* retry.c (GTM_decide_retry_strategy): Add serial check.
	* serial.c (GTM_serialmode): Add irrevokable variable.  Don't
	automatically go irrevokable when in serial mode.
	* clone.c: New file.
	* libitm.h, libitm.map: Update.

2009-01-27  Richard Henderson  <rth@redhat.com>

	* Makefile.am (LTCCASCOMPILE): Define.
	(libitm_la_SOURCES): Add methid-wbetl.c.
	* testsuite/Makefile.am: New
	* configure.ac: Add testsuite/Makefile.
	* Makefile.in, testsuite/Makefile.in, configure: Regenerate.
	* beginend.c (GTM_begin_transaction): Install wbetl_dispatch.
	(_ITM_abortTransaction): Finalize implementation method; pass
	transaction properties to longjmp.
	(GTM_restart_transaction): Split out from ...
	(_ITM_commitTransaction): ... here.
	* config/linux/x86/futex_bits.h (cpu_relax, atomic_write_barrier):
	Move to config/x86/target.h.
	* config/linux/alpha/futex_bits.h: New.
	* config/x86/sjlj.S (GTM_longjmp): Fix 64-bit input register.
	* config/x86/target.h: Disable target types for 32-bit.
	* config/alpha/sjlj.S, config/alpha/target.h: New.
	* libitm.h (struct gtm_dispatch): Add init, fini.
	(enum restart_reason): New.
	(struct gtm_transaction): Add method and restarts.
	* retry.c (GTM_decide_retry_strategy): Implement.
	* serial.c (serial_init, serial_fini): New.
	(GTM_serialmode): Finialize outgoing method.
	* method-wbetl.c: New.

2008-12-09  Richard Henderson  <rth@redhat.com>

	* config/x86/target.h (_ITM_ALL_TARGET_TYPES, _ITM_TYPE_ATTR): New.
	* configure.tgt (i386-*, x86_64-*): Don't force SSE.
	* dispatch.c (_ITM_##R##T, _ITM_##W##T): Use _ITM_TYPE_ATTR.
	* libitm.h (_ITM_ALL_TARGET_TYPES, _ITM_TYPE_ATTR): Provide default.
	(_ITM_TYPE_M64, _ITM_TYPE_M128, _ITM_TYPE_M256): Move to x86 header.
	(_ITM_ALL_TYPES): Use _ITM_ALL_TARGET_TYPES.
	* local.c (_ITM_L##T): Use _ITM_TYPE_ATTR.
	* serial.c (serial_R##T, serial_W##T): Likewise.

2008-11-21  Richard Henderson  <rth@redhat.com>

	* Initial commit.

Copyright (C) 2008-2021 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
