Commit Graph

137 Commits

Author SHA1 Message Date
Andi Kleen
b01819be5d Avoid nonconst memmodels in libitm's local outdated copy of <atomic> too
This avoids warnings in libitm for non constant memory models,
fixing the bootstrap with -Werror

Passed bootstrap and test on x86_64-linux.

libitm/:

2013-03-23  Andi Kleen  <andi@my.domain.org>

	* 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.

From-SVN: r197018
2013-03-24 00:23:20 +00:00
Iain Sandoe
6c59ffd1ac re PR libitm/55693 (libitm.c++/eh-1.C execution test fails on darwin from r193271)
/libgcc
2013-02-11  Iain Sandoe  <iain@codesourcery.com>
	    Jack Howarth  <howarth@bromo.med.uc.edu>
	    Patrick Marlier  <patrick.marlier@gmail.com>

	PR libitm/55693
	* config/darwin-crt-tm.c: Remove dummy functions hack.

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

	PR libitm/55693
	* config/darwin.h: Replace ENDFILE_SPEC with TM_DESTRUCTOR and
	define ENDFILE_SPEC as TM_DESTRUCTOR.
	* config/i386/darwin.h (ENDFILE_SPEC): Use TM_DESTRUCTOR.

/libitm
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.

Co-Authored-By: Jack Howarth <howarth@bromo.med.uc.edu>
Co-Authored-By: Patrick Marlier <patrick.marlier@gmail.com>

From-SVN: r195960
2013-02-11 23:30:10 +00:00
Richard Sandiford
75f9527c9b Update copyright in libitm.
From-SVN: r195697
2013-02-03 17:46:11 +00:00
Torvald Riegel
64fbcc74a3 Add HTM fastpath and use Intel RTM for it on x86.
* 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.

From-SVN: r193369
2012-11-09 17:04:40 +00:00
Thomas Schwinge
b9efc87730 configure: Regenerate.
libatomic/
	* configure: Regenerate.

libitm/
	* configure: Regenerate.

From-SVN: r193144
2012-11-05 00:17:34 +01:00
Richard Henderson
07d3b5c8c0 Detect assembler support for RTM
* acinclude.m4 (LIBITM_CHECK_AS_RTM): New.
	* configure.ac: Use it.
	* config.h.in, configure: Rebuild.
	* testsuite/Makefile.in: Rebuild.

From-SVN: r193017
2012-10-30 21:46:20 -07:00
Torvald Riegel
eb00e95920 Clarify ABI requirements for data-logging functions.
* libitm.texi: Clarify ABI requirements for data-logging functions.

From-SVN: r192778
2012-10-24 19:52:18 +00:00
Torvald Riegel
b679c81340 Ask dispatch whether it requires serial mode.
* 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.

From-SVN: r192777
2012-10-24 19:52:02 +00:00
Uros Bizjak
0c609a2144 target.h (struct gtm_jmpbuf): Merge x86_64 and ia32 declarations some more.
* 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.

From-SVN: r191955
2012-10-02 09:50:36 +02:00
Jakub Jelinek
c0758df921 re PR other/43620 ([4.3 Release Blocker] Uploading to gnu.org will fail due to automake security issue)
PR other/43620
libatomic/
	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
libitm/
	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
	* configure: Regenerate.
	* Makefile.in: Regenerate.

From-SVN: r191565
2012-09-20 16:41:17 +02:00
David Edelsohn
690c45b88f * configure: Regenerated.
From-SVN: r191323
2012-09-14 19:34:56 -04:00
Uros Bizjak
68a12ef35b xmmintrin.h (_mm_sfence): Use __builtin_ia32_pause.
gcc/

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

	* config/i386/xmmintrin.h (_mm_sfence): Use __builtin_ia32_pause.

libgomp/

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

	* config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
	* testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.

libitm/

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

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

From-SVN: r189194
2012-07-03 09:24:10 +02:00
Patrick Marlier
f2f9a0977a eh_cpp.cc: Fix __cxa_end_catch declaration.
2012-05-21  Patrick Marlier  <patrick.marlier@gmail.com>

	* eh_cpp.cc: Fix __cxa_end_catch declaration.

From-SVN: r187747
2012-05-21 22:48:00 +00:00
H.J. Lu
e6d5f8c9c4 Regenerate configure files for libtool.m4 change
boehm-gc/

	* configure: Regenerated.

gcc/

	* configure: Regenerated.

libatomic/

	* configure: Regenerated.

libffi/

	* configure: Regenerated.

libgfortran/

	* configure: Regenerated.

libgomp/

	* configure: Regenerated.

libitm/

	* configure: Regenerated.

libjava/classpath/

	* configure: Regenerated.

libjava/

	* configure: Regenerated.

libmudflap/

	* configure: Regenerated.

libobjc/

	* configure: Regenerated.

libquadmath/

	* configure: Regenerated.

libssp/

	* configure: Regenerated.

libstdc++-v3/

	* configure: Regenerated.

lto-plugin/

	* configure: Regenerated.

zlib/

	* configure: Regenerated.

From-SVN: r187616
2012-05-16 15:11:18 -07:00
H.J. Lu
0100e3b3e8 Use long long in gtm_jmpbuf for x86-64
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.

From-SVN: r186140
2012-04-04 08:49:23 -07:00
Tristan Gingold
2f6935f455 mmap.m4: Use *vms* instead of vms*.
config/
2012-04-03  Tristan Gingold  <gingold@adacore.com>

	* mmap.m4: Use *vms* instead of vms*.

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

	* configure.ac: Use GCC_AC_FUNC_MMAP_BLACKLIST instead
	of gcc_AC_FUNC_MMAP_BLACKLIST.
	* acinclude.m4 (gcc_AC_FUNC_MMAP_BLACKLIST): Remove.
	* Makefile.in (aclocal_deps): Add mmap.m4.
	* configure: Regenerate.
	* aclocal.m4: Regenerate.

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

	* configure: Regenerate.

From-SVN: r186106
2012-04-03 12:07:28 +00:00
H.J. Lu
b9c23a61a8 Handle -mx32 like -m64
libgomp/

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

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

libitm/

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

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

From-SVN: r186050
2012-03-31 14:08:22 -07:00
Bernhard Reutner-Fischer
6a26a74d8e lib{gomp,itm}/testsuite: load missing fortran-modules.exp
libgomp/ChangeLog
2012-03-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

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

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

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

From-SVN: r185460
2012-03-16 10:51:06 +01:00
Rainer Orth
b24513a1a2 Remove obsolete IRIX 6.5 support
libstdc++-v3:
	* configure.host (irix6.5*): Remove.
	* config/os/irix: Remove.
	* config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc())
	[_GLIBCXX_FIONREAD_TAKES_OFF_T]: Remove.

	* doc/xml/faq.xml: Remove IRIX reference.
	* doc/xml/manual/using.xml (Finding Dynamic or Shared Libraries):
	Remove IRIX example.

	* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
	Remove mips-sgi-irix6* handling.
	* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
	* testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
	* testsuite/21_strings/basic_string/pthread4.cc: Likewise.
	* testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
	* testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
	* testsuite/23_containers/list/pthread1.cc: Likewise.
	* testsuite/23_containers/list/pthread5.cc: Likewise.
	* testsuite/23_containers/map/pthread6.cc: Likewise.
	* testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise.
	* testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
	* testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
	* testsuite/30_threads/async/42819.cc: Likewise.
	* testsuite/30_threads/async/49668.cc: Likewise.
	* testsuite/30_threads/async/any.cc: Likewise.
	* testsuite/30_threads/async/async.cc: Likewise.
	* testsuite/30_threads/async/launch.cc: Likewise.
	* testsuite/30_threads/async/sync.cc: Likewise.
	* testsuite/30_threads/call_once/39909.cc: Likewise.
	* testsuite/30_threads/call_once/49668.cc: Likewise.
	* testsuite/30_threads/call_once/call_once1.cc: Likewise.
	* testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
	* testsuite/30_threads/condition_variable/members/1.cc: Likewise.
	* testsuite/30_threads/condition_variable/members/2.cc: Likewise.
	* testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
	Likewise.
	* testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
	* testsuite/30_threads/future/cons/move.cc: Likewise.
	* testsuite/30_threads/future/members/45133.cc: Likewise.
	* testsuite/30_threads/future/members/get.cc: Likewise.
	* testsuite/30_threads/future/members/get2.cc: Likewise.
	* testsuite/30_threads/future/members/share.cc: Likewise.
	* testsuite/30_threads/future/members/valid.cc: Likewise.
	* testsuite/30_threads/future/members/wait.cc: Likewise.
	* testsuite/30_threads/future/members/wait_for.cc: Likewise.
	* testsuite/30_threads/future/members/wait_until.cc: Likewise.
	* testsuite/30_threads/lock/1.cc: Likewise.
	* testsuite/30_threads/lock/2.cc: Likewise.
	* testsuite/30_threads/lock/3.cc: Likewise.
	* testsuite/30_threads/lock/4.cc: Likewise.
	* testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
	* testsuite/30_threads/mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
	* testsuite/30_threads/mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
	* testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
	* testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/packaged_task/49668.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
	* testsuite/30_threads/promise/cons/1.cc: Likewise.
	* testsuite/30_threads/promise/cons/alloc.cc: Likewise.
	* testsuite/30_threads/promise/cons/move.cc: Likewise.
	* testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
	* testsuite/30_threads/promise/members/get_future.cc: Likewise.
	* testsuite/30_threads/promise/members/get_future2.cc: Likewise.
	* testsuite/30_threads/promise/members/set_exception.cc: Likewise.
	* testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
	* testsuite/30_threads/promise/members/set_value.cc: Likewise.
	* testsuite/30_threads/promise/members/set_value2.cc: Likewise.
	* testsuite/30_threads/promise/members/set_value3.cc: Likewise.
	* testsuite/30_threads/promise/members/swap.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
	Likewise.
	* testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
	Likewise.
	* testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/shared_future/cons/move.cc: Likewise.
	* testsuite/30_threads/shared_future/members/45133.cc: Likewise.
	* testsuite/30_threads/shared_future/members/get.cc: Likewise.
	* testsuite/30_threads/shared_future/members/get2.cc: Likewise.
	* testsuite/30_threads/shared_future/members/valid.cc: Likewise.
	* testsuite/30_threads/shared_future/members/wait.cc: Likewise.
	* testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
	* testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
	* testsuite/30_threads/this_thread/1.cc: Likewise.
	* testsuite/30_threads/this_thread/2.cc: Likewise.
	* testsuite/30_threads/this_thread/3.cc: Likewise.
	* testsuite/30_threads/this_thread/4.cc: Likewise.
	* testsuite/30_threads/thread/cons/1.cc: Likewise.
	* testsuite/30_threads/thread/cons/2.cc: Likewise.
	* testsuite/30_threads/thread/cons/3.cc: Likewise.
	* testsuite/30_threads/thread/cons/4.cc: Likewise.
	* testsuite/30_threads/thread/cons/49668.cc: Likewise.
	* testsuite/30_threads/thread/cons/5.cc: Likewise.
	* testsuite/30_threads/thread/cons/6.cc: Likewise.
	* testsuite/30_threads/thread/cons/7.cc: Likewise.
	* testsuite/30_threads/thread/cons/8.cc: Likewise.
	* testsuite/30_threads/thread/cons/9.cc: Likewise.
	* testsuite/30_threads/thread/cons/moveable.cc: Likewise.
	* testsuite/30_threads/thread/members/1.cc: Likewise.
	* testsuite/30_threads/thread/members/2.cc: Likewise.
	* testsuite/30_threads/thread/members/3.cc: Likewise.
	* testsuite/30_threads/thread/members/4.cc: Likewise.
	* testsuite/30_threads/thread/members/5.cc: Likewise.
	* testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
	* testsuite/30_threads/thread/native_handle/typesizes.cc: Likewise.
	* testsuite/30_threads/thread/swap/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
	* testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/try_lock/1.cc: Likewise.
	* testsuite/30_threads/try_lock/2.cc: Likewise.
	* testsuite/30_threads/try_lock/3.cc: Likewise.
	* testsuite/30_threads/try_lock/4.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
	* testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
	* testsuite/ext/rope/pthread7-rope.cc: Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
	Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
	Likewise.

	* testsuite/23_containers/vector/capacity/resize/1.cc: Remove
	dg-options for mips*-*-irix6*.

	* testsuite/27_io/ios_base/storage/1.cc: Likewise.
	* testsuite/27_io/ios_base/storage/2.cc: Likewise.
	* testsuite/27_io/ios_base/storage/3.cc: Likewise.

	* testsuite/lib/libstdc++.exp (v3-build_support): Remove IRIX 6
	workaround.

	libjava:
	* configure.ac (libgcj_cv_exidx): Remove IRIX 6 ld workaround.
	(mips-sgi-irix6*): Remove.
	(mips-sgi-irix*): Remove.
	(AC_CHECK_HEADERS): Remove bstring.h.
	* configure: Regenerate.
	* include/config.h.in: Regenerate.
	* configure.host (mips-sgi-irix6*): Remove.

	* include/posix-signal.h [__sgi__]: Remove.

	* gnu/java/net/natPlainDatagramSocketImplPosix.cc
	[HAVE_BSTRING_H]: Remove.
	* gnu/java/net/natPlainDatagramSocketImplWin32.cc: Likewise.
	* gnu/java/net/natPlainSocketImplPosix.cc: Likewise.

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

	libgomp:
	* configure.tgt (mips-sgi-irix6*): Remove.

	libgfortran:
	* intrinsics/c99_functions.c [__sgi__ && !HAVE_COMPLEX_H]: Remove.

	libgcc:
	* config.host (mips-sgi-irix6.5*): Remove.
	* config/mips/irix-crti.S: Remove.
	* config/mips/irix-crtn.S: Remove.
	* config/mips/irix6-unwind.h: Remove.
	* config/mips/t-irix6: Remove.
	* config/mips/t-slibgcc-irix: Remove.

	gnattools:
	* configure.ac (mips-sgi-irix*): Remove.
	* configure: Regenerate.

	gcc/testsuite:
	* g++.dg/other/anon5.C: Don't skip on mips-sgi-irix*.
	* g++.dg/tree-prof/partition1.C: Likewise.
	* g++.dg/tree-prof/partition2.C: Likewise.
	* g++.old-deja/g++.other/init19.C: Remove mips-sgi-irix*
	handling.
	* gcc.c-torture/compile/labels-3.c: Remove dg-options.
	* gcc.c-torture/execute/20010724-1.c: Remove.
	* gcc.c-torture/execute/20010724-1.x: Remove.
	* gcc.c-torture/execute/20040208-2.c: Remove.
	* gcc.c-torture/execute/20040208-2.x: Remove.
	* gcc.c-torture/execute/ieee/20000320-1.c [__mips__ && __sgi__]:
	Remove.
	(main) [__mips__ && __sgi__]: Remove.
	* gcc.c-torture/execute/ieee/copysign1.c: Remove IRIX reference.
	* gcc.c-torture/execute/ieee/copysign2.c: Likewise.
	* gcc.c-torture/execute/ieee/mul-subnormal-single-1.x: Remove
	mips-sgi-irix6* handling.
	* gcc.dg/cpp/assert4.c [__mips__]: Remove __sgi__, sgi.
	* gcc.dg/torture/20090618-1.c: Don't skip on mips-sgi-irix*.
	* gcc.dg/torture/builtin-frexp-1.c: Remove mips*-*-irix6*
	handling.
	* gcc.dg/torture/builtin-logb-1.c: Likewise.
	* gcc.dg/torture/pr47917.c: Remove mips-sgi-irix6.5 handling.
	* gcc.dg/tree-ssa/ssa-store-ccp-3.c: Don't skip on mips*-*-irix*.
	* gcc.misc-tests/linkage.exp: Remove mips-sgi-irix6* handling.
	* gcc.target/mips/args-1.c [!__sgi__]: Remove.
	* gcc.target/mips/interrupt_handler-2.c: Don't skip on
	mips-sgi-irix6*.
	* gcc.target/mips/interrupt_handler-3.c: Likewise.
	* gcc.target/mips/save-restore-1.c: Don't skip on mips-sgi-irix6*.
	* gcc.target/mips/save-restore-3.c: Likewise.
	* gcc.target/mips/save-restore-4.c: Likewise.
	* gcc.target/mips/save-restore-5.c: Likewise.
	* gfortran.dg/g77/cabs.f: Don't xfail on mips-sgi-irix6*.
	* lib/prune.exp (prune_gcc_output): Remove pruning of IRIX 6 ld
	messages.
	* lib/target-libpath.exp (set_ld_library_path_env_vars): Remove
	IRIX 6 handling.
	(restore_ld_library_path_env_vars): Likewise.
	* lib/target-supports.exp (check_profiling_available): Remove
	mips*-*-irix* handling.
	(check_ascii_locale_available): Remove mips-sgi-irix* handling.
	(add_options_for_c99_runtime): Remove mips-sgi-irix6.5* handling.
	* objc.dg/stabs-1.m: Don't xfail on mips-sgi-irix6.5.

	gcc/ada:
	* gcc-interface/Makefile.in (mips-sgi-irix6*): Remove.

	* a-intnam-irix.ads, mlib-tgt-specific-irix.adb,
	s-intman-irix.adb, s-mastop-irix.adb, s-osinte-irix.adb,
	s-osinte-irix.ads, s-proinf-irix-athread.adb,
	s-proinf-irix-athread.ads, s-taprop-irix.adb, s-tasinf-irix.ads,
	system-irix-n32.ads, system-irix-n64.ads, system-irix-o32.ads:
	Remove.

	* adaint.c [__mips && __sgi]: Remove.
	(__gnat_number_of_cpus) [__mips && __sgi]: Remove.
	[IS_CROSS && !(__mips && __sgi)]: Remove.
	* adaint.h [sgi && _LFAPI]: Remove.
	* cstreams.c (__gnat_full_name) [sgi]: Remove.
	* env.c (__gnat_unsetenv) [__mips && __sgi]: Remove.
	(__gnat_clearenv) [__mips && __sgi]: Remove.
	* errno.c (_SGI_MP_SOURCE): Remove.
	* gsocket.h [sgi]: Remove.
	* init.c: Remove IRIX reference.
	[sgi]: Remove.
	* link.c [sgi]: Remove.
	* s-oscons-tmplt.c [__mips && __sgi] (IOV_MAX): Don't define.
	(main) [__mips && __sgi] (MAX_tv_sec): Don't define.
	(CLOCK_SGI_FAST, CLOCK_SGI_CYCLE): Remove.
	* sysdep.c [sgi]: Remove.
	(getc_immediate_common) [sgi]: Remove.
	(__gnat_localtime_tzoff) [sgi]: Remove.
	* terminals.c [__mips && __sgi] (IRIX): Don't define.
	[IRIX] (USE_GETPTY): Don't define.
	(allocate_pty_desc) [USE_GETPTY]: Remove.

	* g-traceb.ads: Remove IRIX reference.
	* g-trasym.ads: Likewise.
	* memtrack.adb: Likewise.
	* s-interr-sigaction.adb: Likewise.

	* gnat_rm.texi (Implementation Advice): Remove SGI info.
	(Implementation Defined Characteristics): Likewise.
	* gnat_ugn.texi (Summary of Run-Time Configurations, mips-irix):
	Remove.
	(Irix-Specific Considerations): Remove.

	gcc/cp:
	* Make-lang.in (doc/g++.1): Remove IRIX 6.5 reference.

	gcc:
	* config.gcc (enable_obsolete): Remove mips-sgi-irix6.5.
	(mips-sgi-irix6.5*): Remove.
	* config.host (mips-sgi-irix*): Remove.
	* configure.ac (enable_fixed_point): Remove mips*-sgi-irix*.
	(set_have_as_tls): Remove *-*-irix6*.
	(gcc_cv_ld_static_dynamic): Remove mips-sgi-irix6*.
	* configure: Regenerate.

	* config/mips/iris6.h: Remove.
	* config/mips/iris6.opt: Remove.
	* config/mips/t-irix6: Remove.

	* config/mips/mips.h (TARGET_GPWORD): Remove IRIX 6 N64 handling.
	(TARGET_IRIX6): Remove.
	(TARGET_CPU_CPP_BUILTINS): Remove IRIX 6 handling.
	Don't define LANGUAGE_C, _LANGUAGE_C for Objective-C.
	* config/mips/mips.c (mips_build_builtin_va_list): Remove IRIX 6
	handling.
	(mips_file_start): Likewise.
	* config/mips/mips-protos.h (irix_asm_output_align): Remove.

	* config/mips/driver-native.c [__sgi__]: Remove.
	(host_detect_local_cpu) [__sgi__]: Remove.

	* config/mips/gnu-user.h: Remove iris5.h reference.

	* config/mips/mips-modes.def: Remove IRIX 6 reference.
	* config/mips/gnu-user64.h (MIPS_TFMODE_FORMAT): Remove.
	* config/mips/mips.c (mips_option_override) [MIPS_TFMODE_FORMAT]:
	Remove.

	* gcc.c (main): Move asm_debug initialization ...
	(asm_debug): ... here.

	* ginclude/stddef.h (__STDDEF_H__): Don't define.

	* defaults.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): Remove.
	* system.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): Poison.
	* collect2.c [LINK_ELIMINATE_DUPLICATE_LDIRECTORIES]: Remove.
	(main) [LINK_ELIMINATE_DUPLICATE_LDIRECTORIES]: Remove.
	[LINK_ELIMINATE_DUPLICATE_LDIRECTORIES] (is_in_args): Remove.
	* doc/tm.texi.in (Driver, LINK_ELIMINATE_DUPLICATE_LDIRECTORIES):
	Remove.
	* doc/tm.texi: Regenerate.

	* doc/invoke.texi (Debugging Options, -gdwarf-<version>): Remove
	IRIX 6 reference.
	(MIPS Options, -march): Remove IRIX reference.
	* doc/install.texi (Binaries, SGI IRIX): Remove.
	(Specific, mips-sgi-irix6): Document IRIX 6.5 removal, remove rest
	of section.
	* doc/trouble.texi (Interoperation): Remove -lgl_s handling.

	fixincludes:
	* inclhack.def (broken_cabs): Remove IRIX and SunOS 4 support.
	(irix___restrict): Remove.
	(irix___generic1): Remove.
	(irix___generic2): Remove.
	(irix_asm_apostrophe): Remove.
	(irix_complex): Remove.
	(irix_pthread_init): Remove.
	(irix_socklen_t): Remove.
	(irix_stdint_c99_mode): Remove.
	(irix_stdint_c99_types): Remove.
	(irix_stdint_c99_macros): Remove.
	(irix_stdio_va_list): Remove IRIX 6.5 support.
	(irix_wcsftime): Remove.
	(stdio_va_list): Remove IRIX 6.5 support.
	(svr4_profil): Remove IRIX bypass.
	* fixincl.x: Regenerate.

	* tests/base/complex.h [IRIX_COMPLEX_CHECK]: Remove.
	* tests/base/internal/math_core.h: Remove.
	* tests/base/internal/sgimacros.h: Remove.
	* tests/base/internal/wchar_core.h: Remove.
	* tests/base/math.h [BROKEN_CABS_CHECK]: Remove IRIX and SunOS 4
	support.
	* tests/base/pthread.h [IRIX_PTHREAD_INIT_CHECK]: Remove.
	* tests/base/stdint-irix65.h: Remove.
	* tests/base/stdint.h [IRIX_STDINT_C99_MODE_CHECK]: Remove.
	* tests/base/sys/asm.h: Remove.
	* tests/base/sys/socket.h [IRIX_SOCKLEN_T_CHECK]: Remove.

	contrib:
	* config-list.mk (LIST): Remove mips-sgi-irix6.5.

	toplevel:
	* MAINTAINERS (OS Port Maintainers): Remove irix.
	* configure.ac (enable_libgomp): Remove *-*-irix6*.
	(unsupported_languages): Remove mips-sgi-irix6.*.
	(noconfigdirs): Don't add ${libgcj} for mips*-*-irix6*.
	(with_stabs): Remove.
	* configure: Regenerate.

From-SVN: r185390
2012-03-14 16:33:37 +00:00
Torvald Riegel
0d23faac63 libitm: Fix lost wake-up in serial lock.
PR libitm/52526
	* config/linux/rwlock.cc (GTM::gtm_rwlock::read_lock): Fix lost
	wake-up.

From-SVN: r185358
2012-03-13 22:01:34 +00:00
Rainer Orth
5c30094f48 Remove obsolete Tru64 UNIX V5.1B support
libstdc++-v3:
	* configure.host: Remove osf* handling.
	* config/os/osf: Remove.
	* doc/xml/manual/using.xml: Remove OSF reference.

	* testsuite/18_support/pthread_guard.cc: Remove alpha*-*-osf*
	handling.
	* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
	Likewise.
	* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
	Likewise.
	* testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
	* testsuite/21_strings/basic_string/pthread4.cc: Likewise.
	* testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
	* testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
	* testsuite/23_containers/list/pthread1.cc: Likewise.
	* testsuite/23_containers/list/pthread5.cc: Likewise.
	* testsuite/23_containers/map/pthread6.cc: Likewise.
	* testsuite/23_containers/vector/debug/multithreaded_swap.cc:
	Likewise.
	* testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
	* testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
	* testsuite/30_threads/async/42819.cc: Likewise.

	* libstdc++-v3/testsuite/30_threads/async/49668.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/async/any.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/async/async.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/async/launch.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/async/sync.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/call_once/39909.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/call_once/49668.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/call_once/call_once1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable/cons/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable/members/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable/members/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable_any/50862.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable_any/members/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable_any/members/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/future/cons/move.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/45133.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/get.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/get2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/share.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/valid.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/wait.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/lock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/lock/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/lock/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/lock/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/dest/destructor_locked.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/lock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/native_handle/typesizes.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/unlock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/cons/move.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/swap.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/lock/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/native_handle/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/try_lock/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/try_lock/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/unlock/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/lock/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/lock/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/unlock/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/this_thread/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/this_thread/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/this_thread/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/this_thread/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/49668.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/5.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/6.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/7.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/8.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/9.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/moveable.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/members/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/members/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/members/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/members/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/members/5.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/members/hardware_concurrency.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/swap/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/native_handle/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/3.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/try_lock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/try_lock/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/try_lock/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/try_lock/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/modifiers/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/modifiers/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/ext/rope/pthread7-rope.cc: Likewise.
	* libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
	Likewise.
	* libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.

	libobjc:
	* configure.ac (enable_objc_gc): Remove alpha*-dec-osf* handling.
	* configure: Regenerate.

	* thr.c (_XOPEN_SOURCE): Define unconditionally.

	libjava:
	* configure.ac (alpha*-dec-osf*): Remove.
	* configure: Regenerate.
	* configure.host (alpha*-dec-osf*): Remove.

	* gnu/java/net/natPlainDatagramSocketImplPosix.cc (setOption): Use
	IPV6_MULTICAST_IF unconditionally.
	* gnu/java/net/natPlainDatagramSocketImplWin32.cc (setOption):
	Likewise.
	* gnu/java/net/natPlainSocketImplPosix.cc
	(gnu::java::net::PlainSocketImpl::accept): Use ::accept instead of
	_Jv_accept.
	* include/posix-signal.h [__alpha__ && __osf__]: Remove.
	* include/posix.h (_POSIX_PII_SOCKET): Don't define.
	(_Jv_accept): Remove.

	* java/io/File.java (File._access): Rename to access.
	Change callers.
	(File._stat): Likewise.
	* java/io/File.h: Regenerate.
	* classpath/lib/java/io/File.class: Regenerate.
	* java/io/natFilePosix.cc (java::io::File::_access): Rename to
	access.
	(java::io::File::_stat): Rename to stat.
	* java/io/natFileWin32.cc: Likewise.

	* testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation):
	Remove alpha*-dec-osf* handling.
	* testsuite/libjava.jvmti/jvmti-interp.exp
	(gcj_jni_compile_c_to_so): Likewise.
	* testsuite/libjava.jvmti/jvmti.exp (gcj_jvmti_compile_cxx_to_o):
	Likewise.

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

	libgomp:
	* configure.tgt (alpha*-dec-osf*): Remove.

	* config/osf/sem.h: Remove.
	* config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.

	libgfortran:
	* configure.ac: Remove Tru64 reference.
	* acinclude.m4 (LIBGFOR_GTHREAD_WEAK): Remove alpha*-dec-osf*
	handling.
	* configure: Regenerate.
	* intrinsics/c99_functions.c [__osf__]: Remove.

	libgcc:
	* config.host: Remove alpha*-dec-osf5.1* handling.
	* config/alpha/gthr-posix.c: Remove.
	* config/alpha/libgcc-osf5.ver: Remove.
	* config/alpha/osf5-unwind.h: Remove.
	* config/alpha/t-osf-pthread: Remove.
	* config/alpha/t-slibgcc-osf: Remove.
	* config/t-crtfm (crtfastmath.o): Remove -frandom-seed.
	* gthr-posix.h [!_REENTRANT && __osf__] (_REENTRANT): Don't define.
	[__osf__ && _PTHREAD_USE_MANGLED_NAMES_]: Remove.
	* mkmap-flat.awk: Remove osf_export handling.

	gnattools:
	* configure.ac: Remove alpha*-dec-osf* handling.
	* configure: Regenerate.

	gcc/testsuite:
	* g++.dg/abi/rtti3.C: Remove alpha*-dec-osf* handling.
	* g++.dg/abi/thunk4.C: Likewise.
	* g++.dg/cdce3.C: Don't skip on*-dec-osf5*.
	Adapt line numbers.
	* g++.dg/compat/struct-layout-1_generate.c: Remove alpha*-dec-osf*
	handling.
	* g++.dg/cpp0x/constexpr-rom.C: Likewise.
	* g++.dg/eh/spbp.C: Likewise.
	* g++.dg/ext/label13.C: Likewise.
	* g++.dg/guality/guality.exp: Likewise.
	* g++.dg/other/anon5.C: Likewise.
	* g++.dg/other/pragma-ep-1.C: Remove.
	* g++.dg/warn/miss-format-1.C: Remove alpha*-dec-osf* handling.
	* g++.dg/warn/pr31246.C: Likewise.
	* g++.dg/warn/weak1.C: Likewise.
	* g++.old-deja/g++.eh/badalloc1.C: Likewise.
	* g++.old-deja/g++.ext/attrib5.C: Likewise.
	* gcc.c-torture/compile/limits-declparen.c: Likewise.
	* gcc.c-torture/compile/limits-pointer.c: Likewise.
	* gcc.c-torture/execute/20001229-1.c: Remove __osf__ handling.
	* gcc.dg/attr-weakref-1.c: Remove alpha*-dec-osf* handling.
	* gcc.dg/c99-stdint-6.c: Remove alpha*-dec-osf5* handling.
	* gcc.dg/c99-tgmath-1.c: Likewise.
	* gcc.dg/c99-tgmath-2.c: Likewise.
	* gcc.dg/c99-tgmath-3.c: Likewise.
	* gcc.dg/c99-tgmath-4.c: Likewise.
	* gcc.dg/compat/struct-layout-1_generate.c: Remove alpha*-dec-osf*
	handling.
	* gcc.dg/debug/pr49032.c: Likewise.
	* gcc.dg/guality/guality.exp: Likewise.
	* gcc.dg/intmax_t-1.c: Likewise.
	* gcc.dg/pr48616.c: Likewise.
	* gcc.dg/pragma-ep-1.c: Remove.
	* gcc.dg/pragma-ep-2.c: Remove.
	* gcc.dg/pragma-ep-3.c: Remove.
	* gcc.dg/torture/pr47917.c: Remove alpha*-dec-osf5* handling.
	* gcc.dg/tree-ssa/pr42585.c: Remove alpha*-dec-osf* handling.
	* gcc.misc-tests/gcov-14.c: Likewise.
	* gfortran.dg/guality/guality.exp: Likewise.
	* lib/target-supports.exp (check_weak_available): Likewise.
	(add_options_for_tls): Likewise.
	(check_ascii_locale_available): Likewise.
	* obj-c++.dg/dwarf-2.mm: Likewise.
	* objc.dg/dwarf-1.m: Likewise.
	* objc.dg/dwarf-2.m: Likewise.

	gcc/c-family:
	* c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
	handling.
	* c-pragma.c (handle_pragma_extern_prefix): Remove.
	(init_pragma): Don't register extern_prefix.

	gcc/po:
	* EXCLUDES (mips-tdump.c, mips-tfile.c): Remove.

	gcc:
	* config.gcc (alpha*-dec-osf5.1*): Remove.
	* config.host (alpha*-dec-osf*): Remove.
	* configure.ac (*-*-osf*): Remove.
	(alpha*-dec-osf*): Remove.
	* configure: Regenerate.

	* config/alpha/host-osf.c, config/alpha/osf5.h,
	config/alpha/osf5.opt, config/alpha/va_list.h, config/alpha/x-osf:
	Remove.

	* config/alpha/alpha.h (TARGET_LD_BUGGY_LDGP): Remove.
	* config/alpha/alpha.c (struct machine_function): Update comment.
	(alpha_start_function): Remove Tru64 UNIX as handling for
	max_frame_size.
	* config/alpha/alpha.md ("exception_receiver"): Remove
	TARGET_LD_BUGGY_LDGP.
	("*exception_receiver_2"): Likewise.
	* except.c (finish_eh_generation): Remove Tru64 reference.
	* ginclude/stdarg.h [_HIDDEN_VA_LIST]: Don't undef _VA_LIST.
	* system.h (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Poison.
	* target.def (handle_pragma_extern_prefix): Remove.

	* Makefile.in (mips-tfile.o-warn): Remove.
	(ALL_HOST_BACKEND_OBJS): Remove mips-tfile.o, mips-tdump.o.
	(mips-tfile, mips-tfile.o, mips-tdump, mips-tdump.o): Remove.
	* mips-tdump.c, mips-tfile.c: Remove.

	* doc/extend.texi (Symbol-Renaming Pragmas): Remove #pragma
	extern_prefix.
	* doc/install.texi (Binaries): Remove Tru64 UNIX reference.
	(Specific, alpha*-dec-osf5.1): Note removal.
	* doc/tm.texi.in (Misc, TARGET_HANDLE_PRAGMA_EXTERN_PREFIX):
	Remove.
	* doc/tm.texi: Regenerate.
	* doc/trouble.texi (Cross-Compiler Problems): Remove.

	gcc/ada:
	* gcc-interface/Makefile.in (alpha*-dec-osf*): Remove.
	* a-intnam-tru64.ads, mlib-tgt-specific-tru64.adb,
	s-mastop-tru64.adb, s-osinte-tru64.adb, s-osinte-tru64.ads,
	s-taprop-tru64.adb, s-tasinf-tru64.ads, s-taspri-tru64.ads,
	system-tru64.ads: Remove.

	* adaint.c (__gnat_number_of_cpus) [__alpha__ && __osf__]:
	Remove.
	[IS_CROSS] [!(__alpha__ && __osf__)]: Remove.
	* env.c [__alpha__ && __osf__]: Remove.
	* gsocket.h (_OSF_SOURCE): Remove.
	(HAVE_THREAD_SAFE_GETxxxBYyyy) [__osf__]: Remove.
	* init.c [__alpha__ && __osf__]: Remove.
	* link.c [__osf__]: Remove.
	* s-oscons-tmplt.c [__alpha__ && __osf__]: Remove.
	[__osf__ && !_SS_MAXSIZE]: Remove.
	* sysdep.c [__osf__]: Remove.
	* terminals.c [__alpha__ && __osf__]: Remove.
	[OSF1]: Remove.

	* g-traceb.ads: Remove Tru64 reference.
	* g-trasym.ads: Likewise.
	* gnat_ugn.texi (Linking a Mixed C++ & Ada Program): Likewise.
	(Summary of Run-Time Configurations): Likewise.
	* memtrack.adb: Likewise.

	fixincludes:
	* inclhack.def (alpha___extern_prefix): Remove.
	(alpha___extern_prefix_standards): Remove.
	(alpha___extern_prefix_sys_stat): Remove.
	(alpha_bad_lval): Remove.
	(alpha_pthread): Remove.
	(alpha_pthread_gcc): Remove.
	(alpha_pthread_init): Remove.
	* fixincl.x: Regenerate.
	* tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: Remove.
	[ALPHA_PTHREAD_GCC_CHECK]: Remove.
	[ALPHA_PTHREAD_INIT_CHECK]: Remove.
	* tests/base/standards.h: Remove.
	* tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_SYS_STAT_CHECK]:
	Remove.
	* tests/base/testing.h [ALPHA___EXTERN_PREFIX_CHECK]: Remove.
	[ALPHA_BAD_LVAL_CHECK]: Remove.

	contrib:
	* config-list.mk (LIST): Remove alpha-dec-osf5.1.

	config:
	* weakref.m4 (GCC_CHECK_ELF_STYLE_WEAKREF): Remove
	alpha*-dec-osf*.

	toplevel:
	* MAINTAINERS (OS Port Maintainers): Remove osf.
	* configure.ac (enable_libgomp): Remove *-*-osf*.
	(with_stabs): Remove alpha*-*-osf*.
	* configure: Regenerate.

From-SVN: r185240
2012-03-12 15:35:56 +00:00
Torvald Riegel
d28b0b0861 libitm: Don't execute memtransfer/memset if size isn't larger than zero.
libitm/
	* dispatch.h (CREATE_DISPATCH_METHODS_MEM): Don't execute
	memtransfer/memset if size isn't larger than zero.

From-SVN: r184941
2012-03-05 16:34:12 +00:00
Torvald Riegel
034209bc2f libitm: Update texinfo docs.
libitm/
	* libitm.texi: Link to specification and add a usage example.

From-SVN: r184940
2012-03-05 16:33:55 +00:00
Torvald Riegel
bc8da6ba25 libitm: Use ml_wt as default TM methods for >1 thread.
libitm/
	* retry.cc (GTM::gtm_thread::number_of_threads_changed): Change
	default dispatch for more than 1 thread to ml_wt.

From-SVN: r184547
2012-02-24 11:05:37 +00:00
Torvald Riegel
63b08143d6 libitm: Put gl_wt global lock on separate cache line.
libitm/
	* method-gl.cc (gl_wt_dispatch::orec): Put on separate cacheline.

From-SVN: r184403
2012-02-20 20:57:37 +00:00
Torvald Riegel
4c9bd6acb0 libitm: Optimize synchronization in gl_wt rollback.
libitm/
	* method-gl.cc (gl_wt_dispatch::rollback): Optimize memory orders.

From-SVN: r184402
2012-02-20 20:57:23 +00:00
Torvald Riegel
651ff4152e libitm: Remove obsolete handling of prior serial lock corner cases in gl_wt.
libitm/
	* 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.

From-SVN: r184401
2012-02-20 20:57:09 +00:00
Torvald Riegel
efee0113e8 libitm: Optimize memory order requiremens in gl_wt pre_write.
libtim/
	* method-gl.cc (gl_wt_dispatch::pre_write): Optimize memory orders.

From-SVN: r184400
2012-02-20 20:56:56 +00:00
Torvald Riegel
33a03827d2 libitm: Add missing undo-logging of RfW src regions in gl_wt memtransfer.
libitm/
	* method-gl.cc (gl_wt_dispatch::memtransfer_static): Add missing undo
	for RfW src.  Optimize number of calls to gtm_thr.

From-SVN: r184399
2012-02-20 20:56:42 +00:00
Torvald Riegel
a19db3f2e3 libitm: Fix race condition in dispatch choice at transaction begin.
libitm/
	* 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.

From-SVN: r184392
2012-02-20 13:06:07 +00:00
Iain Sandoe
e948a1fbd4 re PR libitm/52220 (FAIL: libitm.c++/eh-1.C execution test due to Xcode 4 weakref linker bug)
libitm/
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.

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

	PR libitm/52220
	* config/darwin-crt-tm.c: Generate dummy functions.


Co-Authored-By: Patrick Marlier <patrick.marlier@gmail.com>

From-SVN: r184293
2012-02-15 23:39:28 +00:00
Richard Henderson
72824d5e40 * config/x86/target.h (GTM_longjmp): Correct the .cfi corrections.
From-SVN: r184227
2012-02-14 11:46:46 -08:00
Uros Bizjak
1f319dbad6 target.h (GTM_longjmp): Correct .cfi directives.
* config/x86/target.h (GTM_longjmp): Correct .cfi directives.

From-SVN: r184220
2012-02-14 19:38:38 +01:00
Torvald Riegel
31772c9507 libitm: Add multi-lock, write-through TM method.
libitm/
	* 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.

From-SVN: r184212
2012-02-14 13:14:27 +00:00
Torvald Riegel
5b9cf5d2bf libitm: Improve method reinit and choice.
libitm/
	* 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.

From-SVN: r184211
2012-02-14 13:14:12 +00:00
Torvald Riegel
7d33bcb738 libitm: Add xcalloc.
libitm/
	* util.cc (GTM::xcalloc): New.
	* common.h (GTM::xcalloc): Declare.

From-SVN: r184210
2012-02-14 13:13:56 +00:00
Eric Botcazou
62513f7bed target.h (cpu_relax): Read from CC register.
* config/sparc/target.h (cpu_relax): Read from CC register.
	* config/sparc/sjlj.S (GTM_longjmp): Restore %fp atomically.

From-SVN: r184202
2012-02-14 09:22:26 +00:00
Uros Bizjak
d4a698d494 target.h (GTM_longjmp): Jump indirect from memory address.
* config/x86/target.h (GTM_longjmp): Jump indirect from memory address.

From-SVN: r184198
2012-02-14 08:50:38 +01:00
Eric Botcazou
f3f5e3c32e configure.tgt (target_cpu): Handle sparc and sparc64 & sparcv9.
* 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.

From-SVN: r184177
2012-02-13 21:51:44 +00:00
Eric Botcazou
255a9a1bb5 gcc.c (LINK_COMMAND_SPEC): Deal with -fgnu-tm.
gcc/
	* gcc.c (LINK_COMMAND_SPEC): Deal with -fgnu-tm.
	(GTM_SELF_SPECS): Define if not already defined.
	(driver_self_specs): Add GTM_SELF_SPECS.
	* config/darwin.h (LINK_COMMAND_SPEC_A): Deal with -fgnu-tm.
	(GTM_SELF_SPECS): Define.
	* config/i386/cygwin.h (GTM_SELF_SPECS): Likewise.
	* config/i386/mingw32.h (GTM_SELF_SPECS): Likewise.
libitm/
	* configure.ac (link_itm): Fix comment.
	* configure: Regenerate.
	* testsuite/lib/libitm.exp: Do not pass -litm for the link.

From-SVN: r184174
2012-02-13 21:46:38 +00:00
Rainer Orth
fc985d2fc7 Fixed PR reference.
From-SVN: r183755
2012-01-31 11:42:55 +00:00
Rainer Orth
681355e30d Link C++ tests with -shared-libgcc (PR libitm/51822)
PR libstdc++/51296
	* testsuite/libitm.c++/c++.exp (lang_link_flags): Add
	-shared-libgcc.
	Correct libgomp references.

From-SVN: r183754
2012-01-31 11:40:17 +00:00
Torvald Riegel
999bcff5bd libitm: Fix wake-up of readers in futex-based serial lock.
libitm/
	* config/linux/rwlock.cc (GTM::gtm_rwlock::write_unlock): Fix reader
	wake-up.

From-SVN: r183488
2012-01-24 19:17:05 +00:00
Uros Bizjak
9848887afa target.h (gtm_jmpbuf): Move rip to the end of structure.
* 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.

From-SVN: r183467
2012-01-24 08:23:57 +01:00
Uros Bizjak
5752c591bc re PR libitm/51830 (FAIL: libitm.c/mem(cpy|set)-1.c execution test)
PR libitm/51830
	* builtin-types.def (BT_FN_UINT_UINT_VAR): New.
	* gtm-builtins.def (BUILT_IN_TM_START): Declare as BT_FN_UINT_UINT_VAR.

libitm/ChangeLog:

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

From-SVN: r183435
2012-01-23 15:57:44 +01:00
Rainer Orth
61e72ca4fa Remove _ITM_getThreadnum
* libitm.h (_ITM_getThreadnum): Remove.
	* libitm.map (_ITM_getThreadnum): Remove from LIBITM_1.0.

From-SVN: r183431
2012-01-23 13:05:00 +00:00
Rainer Orth
9ce91011bf Clear hardware capabilities on libitm.so with Sun ld
* 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.

From-SVN: r183430
2012-01-23 13:03:25 +00:00
Rainer Orth
3b4f05ec1e Skip static_ctor.C test (PR libitm/51173)
PR libitm/51173
	* testsuite/libitm.c++/static_ctor.C: Skip test, note PR, remove
	include, exclude options.

From-SVN: r183253
2012-01-17 15:42:47 +00:00
Torvald Riegel
aab74ee9d4 libitm: Truncate undo log after rolling back.
libitm/
	* local.cc (GTM::gtm_undolog::rollback): Truncate undo log after
	rolling back.
	* containers.h (GTM::vector::set_size): New.

From-SVN: r183173
2012-01-13 23:45:42 +00:00
Torvald Riegel
07b6642b93 libitm: Filter out undo writes that overlap with the libitm stack.
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.

From-SVN: r183172
2012-01-13 23:45:06 +00:00
Richard Henderson
8377e5e546 libitm_i.h (_Unwind_DeleteException): Declare weak.
* libitm_i.h (_Unwind_DeleteException): Declare weak.
	* eh_cpp.cc (_Unwind_DeleteException): Define for
	!HAVE_ELF_STYLE_WEAKREF.

From-SVN: r183049
2012-01-09 19:16:07 -08:00
Torvald Riegel
11f30bb0e4 libitm: Optimize undo log.
libitm/
	* 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.

From-SVN: r182992
2012-01-08 14:13:49 +00:00
Richard Henderson
a32e5e9357 libitm: PowerPC support.
* 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.

From-SVN: r182930
2012-01-05 13:36:35 -08:00
Aldy Hernandez
be223aafde Add Patrick Marlier to ChangeLog entry.
From-SVN: r182912
2012-01-05 14:16:39 +00:00
Aldy Hernandez
1f53a8e6ab re PR libitm/51171 (XFAIL: libitm.c/reentrant.c execution test)
PR other/51171
        * testsuite/libitm.c/reentrant.c: Remove xfail.
        (thread): Pass x to pure().

From-SVN: r182911
2012-01-05 14:14:29 +00:00
Torvald Riegel
c898f7b85f libitm: Don't enforce privatization safety if already in serial mode.
libitm/
	* beginend.cc (GTM::gtm_thread::trycommit): Don't enforce
	privatization safety if already in serial mode.

From-SVN: r182676
2011-12-24 01:42:48 +00:00
Torvald Riegel
610e390135 libitm: Fix privatization safety during upgrades to serial mode.
libitm/
	* 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.

From-SVN: r182675
2011-12-24 01:42:35 +00:00
Torvald Riegel
799142bf74 libitm: Fixed conversion to C++11 atomics.
libitm/
	* 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.

From-SVN: r182674
2011-12-24 01:42:20 +00:00
Jakub Jelinek
b0f96e350a Makefile.am (AM_CXXFLAGS): Put $(XCFLAGS) first.
* Makefile.am (AM_CXXFLAGS): Put $(XCFLAGS) first.
	* Makefile.in: Regenerated.

From-SVN: r182593
2011-12-21 17:14:11 +01:00
Kaz Kojima
cc16324749 configure.tgt: Add sh* case.
* 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.

From-SVN: r182429
2011-12-17 03:19:40 +00:00
Richard Henderson
aebac0ca06 arm-linux: Add libitm support.
* 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.

From-SVN: r182355
2011-12-14 19:24:05 -08:00
Richard Henderson
5d9d05d349 rwlock.cc (gtm_rwlock::write_lock_generic): Fix signed/unsigned comparison werror.
* config/posix/rwlock.cc (gtm_rwlock::write_lock_generic): Fix
        signed/unsigned comparison werror.

From-SVN: r182302
2011-12-13 12:10:36 -08:00
Richard Henderson
36cfbee133 libitm: Conversion to c++11 atomics.
* 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.

From-SVN: r182294
2011-12-13 11:11:25 -08:00
Richard Henderson
062f93f255 Swap the action and jmpbuf arguments to GTM_longjmp
On several ABIs, the first register parameter is the same as
the return value register.  Moving the action parameter first
avoids the need for register shuffling on these targets.

        * 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.

From-SVN: r181863
2011-11-30 14:29:33 -08:00
Iain Sandoe
bd8aaa863d Makefile.am (libitm_la_LDFLAGS): Remove "-no-undefined".
libitm:

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

From-SVN: r181654
2011-11-23 09:46:59 +00:00
Iain Sandoe
8cf36bb3b8 weakref.m4: New file.
config:

	* weakref.m4: New file.

libitm:

	* 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.

From-SVN: r181618
2011-11-22 14:49:11 +00:00
Iain Sandoe
0b41ebef72 sjlj.S (CONCAT1, [...]): Respond to __USER_LABEL_PREFIX__ for targets that use it.
libitm:

	* 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.

From-SVN: r181612
2011-11-22 09:57:19 +00:00
Iain Sandoe
9c9d352aba memcpy-1.c: Allow for MAP_ANON spelling.
libitm:

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

From-SVN: r181611
2011-11-22 09:49:32 +00:00
Andreas Tobler
c6084f681e Additional fixes for FreeBSD-10 build:
/:			* libtool.m4: Additional FreeBSD 10 fixes.

boehm-gc/:		* configure: Regenerate.
gcc/:			* configure: Regenerate.
libffi/:		* configure: Regenerate.
libgfortran/:		* configure: Regenerate.
libgomp/:		* configure: Regenerate.
libitm/:		* configure: Regenerate.
libjava/:		* configure.ac: Fix some more FreeBSD 10 issues..
			* configure: Regenerate.
libjava/libltdl/:	* acinclude.m4: Additional FreeBSD 10 fixes.
			* configure: Regenerate.
libmudflap/:		* configure: Regenerate.
libobjc/:		* configure: Regenerate.
libquadmath/:		* configure: Regenerate.
libssp/:		* configure: Regenerate.
libstdc++-v3/:		* configure: Regenerate.
lto-plugin/:		* configure: Regenerate.
zlib/:			* configure: Regenerate.

From-SVN: r181593
2011-11-21 20:22:35 +01:00
Rainer Orth
adcd36bc3f Support sun symbol versioning in libitm
libitm:
	* 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.

	contrib:
	* make_sunver.pl: Convert '?' in glob patterns to '.'.

From-SVN: r181588
2011-11-21 17:03:50 +00:00
Rainer Orth
59659b5967 Support libitm on Solaris 8 and 9/x86 with Sun as
* 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.

From-SVN: r181481
2011-11-18 16:15:59 +00:00
Rainer Orth
d846e425c9 Provide all dummy functions in alloc_cpp.cc, eh_cpp.cc
* 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.

From-SVN: r181442
2011-11-17 11:34:33 +00:00
Uros Bizjak
807133470c re PR bootstrap/51098 (bootstrap failed on avx i686, svn revision 181259 to 181267)
PR bootstrap/51098
	* acinclude.m4 (LIBITM_CHECK_AS_AVX): Fix target selector.
	* configure: Regenerate.

From-SVN: r181408
2011-11-16 15:51:13 +01:00
H.J. Lu
2841f85e9c Check ia32 instead of ilp32.
2011-11-14  H.J. Lu  <hongjiu.lu@intel.com>

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

From-SVN: r181360
2011-11-14 10:12:24 -08:00
Rainer Orth
8851b42977 libitm port to Tru64 UNIX
* 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.

From-SVN: r181262
2011-11-10 17:15:33 +00:00
Richard Henderson
d4b179020b libitm: Don't add -mavx if the assembler doesn't support avx.
* 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.

From-SVN: r181261
2011-11-10 09:09:04 -08:00
Richard Henderson
430616e7a7 libitm: Work around assembler missing AVX insns.
From-SVN: r181246
2011-11-09 16:29:38 -08:00
Richard Henderson
79b1edb6b5 libitm: Remove unused code.
In particular, unused code that's presenting portability problems.

From-SVN: r181241
2011-11-09 14:54:55 -08:00
Richard Henderson
8ee9fac21e libitm: Avoid non-portable x86 branch prediction mnemonic.
From-SVN: r181233
2011-11-09 11:51:49 -08:00
Richard Henderson
9bdc63433a libitm: de-ELF-ize x86/sjlj.S.
* config/x86/sjlj.S: Protect elf directives with __ELF__.
        Protect .note.GNU-stack with __linux__.

From-SVN: r181229
2011-11-09 10:38:21 -08:00
Richard Henderson
4bdd090f8e libitm: Configure for gas cfi pseudo ops.
* asmcfi.m4: New file.

	* 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.

From-SVN: r181224
2011-11-09 10:09:53 -08:00
Richard Henderson
4408b0865b Fix a darwin10 build problem.
local.cc:113:6: error: only weak aliases are supported in this configuration

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

From-SVN: r181182
2011-11-08 15:36:33 -08:00
Richard Henderson
3d3b05ff4f Fix tests for libitm support.
From-SVN: r181169
2011-11-08 08:28:30 -08:00
Richard Henderson
01f3428caf Check for libitm support at top-level.
From-SVN: r181168
2011-11-08 08:06:25 -08:00
Rainer Orth
07f03cd348 ChangeLog for last change.
From-SVN: r181164
2011-11-08 15:13:00 +00:00
Rainer Orth
e28a3d8bf2 Fix Solaris/x86 libitm build
* 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.

From-SVN: r181163
2011-11-08 14:58:57 +00:00
Aldy Hernandez
0a35513e4e Merge from transactional-memory branch.
From-SVN: r181154
2011-11-08 11:13:41 +00:00