OSDN Git Service

Check if GCC uses assembler cfi support
[pf3gnuchains/gcc-fork.git] / libitm / ChangeLog
index cfb959d..b94cd32 100644 (file)
@@ -1,5 +1,340 @@
+2014-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/generic/asmcfi.h: Also check for
+       __GCC_HAVE_DWARF2_CFI_ASM.
+
+2013-04-11  Release Manager
+
+       * GCC 4.7.3 released.
+
+2012-09-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR other/43620
+       * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
+       * Makefile.in: Regenerated.
+       * configure: Regenerated.
+       * testsuite/Makefile.in: Regenerated.
+
+2012-09-20  Release Manager
+
+       * GCC 4.7.2 released.
+
+2012-06-14  Release Manager
+
+       * GCC 4.7.1 released.
+
+2012-04-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+       Backported from mainline
+       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-03-22  Release Manager
+
+       * GCC 4.7.0 released.
+
+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-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.