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
This commit is contained in:
Rainer Orth 2012-03-12 15:35:56 +00:00 committed by Rainer Orth
parent 370d8a3d6b
commit 5c30094f48
328 changed files with 993 additions and 13549 deletions

View File

@ -1,3 +1,10 @@
2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* MAINTAINERS (OS Port Maintainers): Remove osf.
* configure.ac (enable_libgomp): Remove *-*-osf*.
(with_stabs): Remove alpha*-*-osf*.
* configure: Regenerate.
2012-03-05 Tristan Gingold <gingold@adacore.com>
* configure.ac: Enable gdb and readline for ia64*-*-*vms*.

View File

@ -122,7 +122,7 @@ freebsd Loren J. Rittle ljrittle@acm.org
GNU/Hurd Thomas Schwinge thomas@schwinge.name
hpux John David Anglin dave.anglin@nrc-cnrc.gc.ca
hpux Steve Ellcey sje@cup.hp.com
irix, osf, solaris Rainer Orth ro@CeBiTec.Uni-Bielefeld.DE
irix, solaris Rainer Orth ro@CeBiTec.Uni-Bielefeld.DE
netbsd Jason Thorpe thorpej@netbsd.org
netbsd Krister Walfridsson krister.walfridsson@gmail.com
sh-linux-gnu Kaz Kojima kkojima@gcc.gnu.org

View File

@ -1,3 +1,8 @@
2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* weakref.m4 (GCC_CHECK_ELF_STYLE_WEAKREF): Remove
alpha*-dec-osf*.
2012-01-22 Douglas B Rupp <rupp@gnat.com>
* config/mh-interix: Remove as unneeded.

View File

@ -38,7 +38,6 @@ int main ()
}
]])], ac_cv_have_elf_style_weakref=yes, ac_cv_have_elf_style_weakref=no, [
case "${host}" in
alpha*-dec-osf*) ac_cv_have_elf_style_weakref=no ;;
*-apple-darwin[[89]]*) ac_cv_have_elf_style_weakref=no ;;
*) ac_cv_have_elf_style_weakref=yes;;
esac])CFLAGS="$weakref_m4_saved_CFLAGS"])

4
configure vendored
View File

@ -3054,7 +3054,7 @@ if test x$enable_libgomp = x ; then
;;
*-*-netbsd* | *-*-freebsd* | *-*-openbsd* | *-*-dragonfly*)
;;
*-*-solaris2* | *-*-irix6* | *-*-osf* | *-*-hpux11*)
*-*-solaris2* | *-*-irix6* | *-*-hpux11*)
;;
*-*-darwin* | *-*-aix*)
;;
@ -6878,7 +6878,7 @@ if test x${with_stabs} = x ; then
case "${target}" in
mips*-*-irix[56]*)
;;
mips*-*-* | alpha*-*-osf*)
mips*-*-*)
with_stabs=yes;
extra_host_args="${extra_host_args} --with-stabs"
;;

View File

@ -483,7 +483,7 @@ if test x$enable_libgomp = x ; then
;;
*-*-netbsd* | *-*-freebsd* | *-*-openbsd* | *-*-dragonfly*)
;;
*-*-solaris2* | *-*-irix6* | *-*-osf* | *-*-hpux11*)
*-*-solaris2* | *-*-irix6* | *-*-hpux11*)
;;
*-*-darwin* | *-*-aix*)
;;
@ -2336,7 +2336,7 @@ if test x${with_stabs} = x ; then
case "${target}" in
mips*-*-irix[[56]]*)
;;
mips*-*-* | alpha*-*-osf*)
mips*-*-*)
with_stabs=yes;
extra_host_args="${extra_host_args} --with-stabs"
;;

View File

@ -1,3 +1,7 @@
2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* config-list.mk (LIST): Remove alpha-dec-osf5.1.
2012-03-02 Diego Novillo <dnovillo@google.com>
* testsuite-management/validate_failures.py (class TestResult): Fix

View File

@ -12,8 +12,7 @@ TEST=all-gcc
#
# v850e1-elf is rejected by config.sub
LIST = alpha-linux-gnu alpha-freebsd6 alpha-netbsd alpha-openbsd \
alpha-dec-osf5.1OPT-enable-obsolete alpha64-dec-vms alpha-dec-vms \
am33_2.0-linux \
alpha64-dec-vms alpha-dec-vms am33_2.0-linux \
arm-wrs-vxworks arm-freebsd6 arm-netbsdelf arm-linux \
arm-linux-androideabi arm-uclinux_eabi arm-ecos-elf arm-eabi \
arm-symbianelf arm-rtems arm-elf arm-wince-pe avr-rtems avr-elf \

View File

@ -1,3 +1,22 @@
2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* 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.
2012-03-12 Tristan Gingold <gingold@adacore.com>
* inclhack.def (vms_use_quoted_include,vms_add_missing_braces)

View File

@ -2,11 +2,11 @@
*
* DO NOT EDIT THIS FILE (fixincl.x)
*
* It has been AutoGen-ed March 12, 2012 at 10:19:44 AM by AutoGen 5.11.1
* It has been AutoGen-ed Monday March 12, 2012 at 04:25:19 PM MET
* From the definitions inclhack.def
* and the template file fixincl
*/
/* DO NOT SVN-MERGE THIS FILE, EITHER Mon Mar 12 10:19:44 CET 2012
/* DO NOT SVN-MERGE THIS FILE, EITHER Mon Mar 12 16:25:19 MET 2012
*
* You must regenerate it. Use the ./genfixes script.
*
@ -15,7 +15,7 @@
* certain ANSI-incompatible system header files which are fixed to work
* correctly with ANSI C and placed in a directory that GNU C will search.
*
* This file contains 230 fixup descriptions.
* This file contains 223 fixup descriptions.
*
* See README for more information.
*
@ -1025,118 +1025,6 @@ static const char* apzAlpha___AssertPatch[] = {
"__assert(const char *, const char *, int)",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Alpha___Extern_Prefix fix
*/
tSCC zAlpha___Extern_PrefixName[] =
"alpha___extern_prefix";
/*
* File name selection pattern
*/
#define zAlpha___Extern_PrefixList (char*)NULL
/*
* Machine/OS name selection pattern
*/
tSCC* apzAlpha___Extern_PrefixMachs[] = {
"alpha*-dec-osf*",
(const char*)NULL };
/*
* content selection pattern - do fix if pattern found
*/
tSCC zAlpha___Extern_PrefixSelect0[] =
"(.*)(defined\\(__DECC\\)|def[ \t]*__DECC)[ \t]*\n\
(#[ \t]*pragma[ \t]*extern_prefix.*)";
#define ALPHA___EXTERN_PREFIX_TEST_CT 1
static tTestDesc aAlpha___Extern_PrefixTests[] = {
{ TT_EGREP, zAlpha___Extern_PrefixSelect0, (regex_t*)NULL }, };
/*
* Fix Command Arguments for Alpha___Extern_Prefix
*/
static const char* apzAlpha___Extern_PrefixPatch[] = {
"format",
"%1 (defined(__DECC) || defined(__PRAGMA_EXTERN_PREFIX))\n\
%3",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Alpha___Extern_Prefix_Standards fix
*/
tSCC zAlpha___Extern_Prefix_StandardsName[] =
"alpha___extern_prefix_standards";
/*
* File name selection pattern
*/
tSCC zAlpha___Extern_Prefix_StandardsList[] =
"standards.h\0";
/*
* Machine/OS name selection pattern
*/
tSCC* apzAlpha___Extern_Prefix_StandardsMachs[] = {
"alpha*-dec-osf*",
(const char*)NULL };
/*
* content selection pattern - do fix if pattern found
*/
tSCC zAlpha___Extern_Prefix_StandardsSelect0[] =
".*!defined\\(_LIBC_POLLUTION_H_\\) && !defined\\(__DECC\\)";
#define ALPHA___EXTERN_PREFIX_STANDARDS_TEST_CT 1
static tTestDesc aAlpha___Extern_Prefix_StandardsTests[] = {
{ TT_EGREP, zAlpha___Extern_Prefix_StandardsSelect0, (regex_t*)NULL }, };
/*
* Fix Command Arguments for Alpha___Extern_Prefix_Standards
*/
static const char* apzAlpha___Extern_Prefix_StandardsPatch[] = {
"format",
"%0 && !defined(__PRAGMA_EXTERN_PREFIX)",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Alpha___Extern_Prefix_Sys_Stat fix
*/
tSCC zAlpha___Extern_Prefix_Sys_StatName[] =
"alpha___extern_prefix_sys_stat";
/*
* File name selection pattern
*/
tSCC zAlpha___Extern_Prefix_Sys_StatList[] =
"sys/stat.h\0sys/mount.h\0";
/*
* Machine/OS name selection pattern
*/
tSCC* apzAlpha___Extern_Prefix_Sys_StatMachs[] = {
"alpha*-dec-osf5*",
(const char*)NULL };
/*
* content selection pattern - do fix if pattern found
*/
tSCC zAlpha___Extern_Prefix_Sys_StatSelect0[] =
"#[ \t]*if[ \t]*defined\\(__DECC\\)";
#define ALPHA___EXTERN_PREFIX_SYS_STAT_TEST_CT 1
static tTestDesc aAlpha___Extern_Prefix_Sys_StatTests[] = {
{ TT_EGREP, zAlpha___Extern_Prefix_Sys_StatSelect0, (regex_t*)NULL }, };
/*
* Fix Command Arguments for Alpha___Extern_Prefix_Sys_Stat
*/
static const char* apzAlpha___Extern_Prefix_Sys_StatPatch[] = {
"format",
"%0 || defined(__PRAGMA_EXTERN_PREFIX)",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Alpha_Assert fix
@ -1172,41 +1060,6 @@ static const char* apzAlpha_AssertPatch[] = {
"%1(EX)",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Alpha_Bad_Lval fix
*/
tSCC zAlpha_Bad_LvalName[] =
"alpha_bad_lval";
/*
* File name selection pattern
*/
#define zAlpha_Bad_LvalList (char*)NULL
/*
* Machine/OS name selection pattern
*/
tSCC* apzAlpha_Bad_LvalMachs[] = {
"alpha*-dec-osf*",
(const char*)NULL };
/*
* content selection pattern - do fix if pattern found
*/
tSCC zAlpha_Bad_LvalSelect0[] =
"^[ \t]*#[ \t]*pragma[ \t]+extern_prefix";
#define ALPHA_BAD_LVAL_TEST_CT 1
static tTestDesc aAlpha_Bad_LvalTests[] = {
{ TT_EGREP, zAlpha_Bad_LvalSelect0, (regex_t*)NULL }, };
/*
* Fix Command Arguments for Alpha_Bad_Lval
*/
static const char* apzAlpha_Bad_LvalPatch[] = { sed_cmd_z,
"-e", "s/^[ \t]*#[ \t]*define[ \t][ \t]*\\([^(]*\\)\\(([^)]*)\\)[ \t]*\\(_.*\\)\\1\\2[ \t]*$/#define \\1 \\3\\1/",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Alpha_Getopt fix
@ -1312,126 +1165,6 @@ static const char* apzAlpha_ParensPatch[] = {
"#ifndef __mips64",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Alpha_Pthread fix
*/
tSCC zAlpha_PthreadName[] =
"alpha_pthread";
/*
* File name selection pattern
*/
tSCC zAlpha_PthreadList[] =
"pthread.h\0";
/*
* Machine/OS name selection pattern
*/
tSCC* apzAlpha_PthreadMachs[] = {
"alpha*-dec-osf*",
(const char*)NULL };
/*
* content selection pattern - do fix if pattern found
*/
tSCC zAlpha_PthreadSelect0[] =
"((#[ \t]*if)([ \t]*defined[ \t]*\\(_PTHREAD_ENV_DECC\\)|def _PTHREAD_ENV_DECC)(.*))\n\
(#[ \t]*define _PTHREAD_USE_PTDNAM_)";
#define ALPHA_PTHREAD_TEST_CT 1
static tTestDesc aAlpha_PthreadTests[] = {
{ TT_EGREP, zAlpha_PthreadSelect0, (regex_t*)NULL }, };
/*
* Fix Command Arguments for Alpha_Pthread
*/
static const char* apzAlpha_PthreadPatch[] = {
"format",
"%2 defined (_PTHREAD_ENV_DECC)%4 || defined (__PRAGMA_EXTERN_PREFIX)\n\
%5",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Alpha_Pthread_Gcc fix
*/
tSCC zAlpha_Pthread_GccName[] =
"alpha_pthread_gcc";
/*
* File name selection pattern
*/
tSCC zAlpha_Pthread_GccList[] =
"pthread.h\0";
/*
* Machine/OS name selection pattern
*/
tSCC* apzAlpha_Pthread_GccMachs[] = {
"alpha*-dec-osf*",
(const char*)NULL };
/*
* content selection pattern - do fix if pattern found
*/
tSCC zAlpha_Pthread_GccSelect0[] =
"#else\n\
# error <pthread.h>: unrecognized compiler.";
#define ALPHA_PTHREAD_GCC_TEST_CT 1
static tTestDesc aAlpha_Pthread_GccTests[] = {
{ TT_EGREP, zAlpha_Pthread_GccSelect0, (regex_t*)NULL }, };
/*
* Fix Command Arguments for Alpha_Pthread_Gcc
*/
static const char* apzAlpha_Pthread_GccPatch[] = {
"format",
"#elif defined (__GNUC__)\n\
# define _PTHREAD_ENV_GCC\n\
%0",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Alpha_Pthread_Init fix
*/
tSCC zAlpha_Pthread_InitName[] =
"alpha_pthread_init";
/*
* File name selection pattern
*/
tSCC zAlpha_Pthread_InitList[] =
"pthread.h\0";
/*
* Machine/OS name selection pattern
*/
tSCC* apzAlpha_Pthread_InitMachs[] = {
"alpha*-dec-osf*",
(const char*)NULL };
/*
* content selection pattern - do fix if pattern found
*/
tSCC zAlpha_Pthread_InitSelect0[] =
" \\* @\\(#\\).RCSfile: pthread\\.h,v \\$ .Revision: 1\\.1\\.33\\.21 \\$ \\(DEC\\) .Date: 2000/08/15 15:30:13 \\$";
#define ALPHA_PTHREAD_INIT_TEST_CT 1
static tTestDesc aAlpha_Pthread_InitTests[] = {
{ TT_EGREP, zAlpha_Pthread_InitSelect0, (regex_t*)NULL }, };
/*
* Fix Command Arguments for Alpha_Pthread_Init
*/
static const char* apzAlpha_Pthread_InitPatch[] = { sed_cmd_z,
"-e", "s@MVALID\\(.*\\)A}@MVALID\\1A, 0, 0, 0, 0, 0, 0 }@\n\
s@MVALID\\(.*\\)_}@MVALID\\1_, 0, 0, 0, 0 }@\n\
s@CVALID\\(.*\\)A}@CVALID\\1A, 0, 0, 0, 0 }@\n\
s@CVALID\\(.*\\)_}@CVALID\\1_, 0, 0 }@\n\
s@WVALID\\(.*\\)A}@WVALID\\1A, 0, 0, 0, 0, 0, 0, 0, 0, 0 }@\n\
s@WVALID\\(.*\\)_}@WVALID\\1_, 0, 0, 0, 0, 0, 0, 0 }@\n",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Alpha_Sbrk fix
@ -9335,9 +9068,9 @@ static const char* apzX11_SprintfPatch[] = {
*
* List of all fixes
*/
#define REGEX_COUNT 272
#define REGEX_COUNT 265
#define MACH_LIST_SIZE_LIMIT 181
#define FIX_COUNT 230
#define FIX_COUNT 223
/*
* Enumerate the fixes
@ -9365,17 +9098,10 @@ typedef enum {
AIX_SYSWAIT_2_FIXIDX,
AIX_VOLATILE_FIXIDX,
ALPHA___ASSERT_FIXIDX,
ALPHA___EXTERN_PREFIX_FIXIDX,
ALPHA___EXTERN_PREFIX_STANDARDS_FIXIDX,
ALPHA___EXTERN_PREFIX_SYS_STAT_FIXIDX,
ALPHA_ASSERT_FIXIDX,
ALPHA_BAD_LVAL_FIXIDX,
ALPHA_GETOPT_FIXIDX,
ALPHA_IF_SEMICOLON_FIXIDX,
ALPHA_PARENS_FIXIDX,
ALPHA_PTHREAD_FIXIDX,
ALPHA_PTHREAD_GCC_FIXIDX,
ALPHA_PTHREAD_INIT_FIXIDX,
ALPHA_SBRK_FIXIDX,
AVOID_BOOL_DEFINE_FIXIDX,
AVOID_BOOL_TYPE_FIXIDX,
@ -9686,31 +9412,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
ALPHA___ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aAlpha___AssertTests, apzAlpha___AssertPatch, 0 },
{ zAlpha___Extern_PrefixName, zAlpha___Extern_PrefixList,
apzAlpha___Extern_PrefixMachs,
ALPHA___EXTERN_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aAlpha___Extern_PrefixTests, apzAlpha___Extern_PrefixPatch, 0 },
{ zAlpha___Extern_Prefix_StandardsName, zAlpha___Extern_Prefix_StandardsList,
apzAlpha___Extern_Prefix_StandardsMachs,
ALPHA___EXTERN_PREFIX_STANDARDS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aAlpha___Extern_Prefix_StandardsTests, apzAlpha___Extern_Prefix_StandardsPatch, 0 },
{ zAlpha___Extern_Prefix_Sys_StatName, zAlpha___Extern_Prefix_Sys_StatList,
apzAlpha___Extern_Prefix_Sys_StatMachs,
ALPHA___EXTERN_PREFIX_SYS_STAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aAlpha___Extern_Prefix_Sys_StatTests, apzAlpha___Extern_Prefix_Sys_StatPatch, 0 },
{ zAlpha_AssertName, zAlpha_AssertList,
apzAlpha_AssertMachs,
ALPHA_ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aAlpha_AssertTests, apzAlpha_AssertPatch, 0 },
{ zAlpha_Bad_LvalName, zAlpha_Bad_LvalList,
apzAlpha_Bad_LvalMachs,
ALPHA_BAD_LVAL_TEST_CT, FD_MACH_ONLY,
aAlpha_Bad_LvalTests, apzAlpha_Bad_LvalPatch, 0 },
{ zAlpha_GetoptName, zAlpha_GetoptList,
apzAlpha_GetoptMachs,
ALPHA_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@ -9726,21 +9432,6 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
ALPHA_PARENS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aAlpha_ParensTests, apzAlpha_ParensPatch, 0 },
{ zAlpha_PthreadName, zAlpha_PthreadList,
apzAlpha_PthreadMachs,
ALPHA_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aAlpha_PthreadTests, apzAlpha_PthreadPatch, 0 },
{ zAlpha_Pthread_GccName, zAlpha_Pthread_GccList,
apzAlpha_Pthread_GccMachs,
ALPHA_PTHREAD_GCC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aAlpha_Pthread_GccTests, apzAlpha_Pthread_GccPatch, 0 },
{ zAlpha_Pthread_InitName, zAlpha_Pthread_InitList,
apzAlpha_Pthread_InitMachs,
ALPHA_PTHREAD_INIT_TEST_CT, FD_MACH_ONLY,
aAlpha_Pthread_InitTests, apzAlpha_Pthread_InitPatch, 0 },
{ zAlpha_SbrkName, zAlpha_SbrkList,
apzAlpha_SbrkMachs,
ALPHA_SBRK_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,

View File

@ -585,63 +585,6 @@ fix = {
};
/*
* Obey __PRAGMA_EXTERN_PREFIX for Tru64 UNIX V4/5 headers.
*/
fix = {
hackname = alpha___extern_prefix;
select = "(.*)(defined\\(__DECC\\)|def[ \t]*__DECC)[ \t]*\n"
"(#[ \t]*pragma[ \t]*extern_prefix.*)";
mach = "alpha*-dec-osf*";
c_fix = format;
c_fix_arg = "%1 (defined(__DECC) || defined(__PRAGMA_EXTERN_PREFIX))\n%3";
test_text = "#ifdef __DECC\n"
"#pragma extern_prefix \"_P\"\n"
"# if defined(__DECC)\n"
"# pragma extern_prefix \"_E\"\n"
"# if !defined(_LIBC_POLLUTION_H_) && defined(__DECC)\n"
"# pragma extern_prefix \"\"";
};
/*
* Obey __PRAGMA_EXTERN_PREFIX for Tru64 UNIX V4/5 <standards.h>.
*/
fix = {
hackname = alpha___extern_prefix_standards;
files = standards.h;
select = ".*!defined\\(_LIBC_POLLUTION_H_\\) && !defined\\(__DECC\\)";
mach = "alpha*-dec-osf*";
c_fix = format;
c_fix_arg = "%0 && !defined(__PRAGMA_EXTERN_PREFIX)";
test_text = "#if (_ISO_C_SOURCE>=19990L) "
"&& !defined(_LIBC_POLLUTION_H_) && !defined(__DECC)";
};
/*
* Obey __PRAGMA_EXTERN_PREFIX for Tru64 UNIX V5 <sys/mount.h> and
* <sys/stat.h>. The tests for __DECC are special in various ways, so
* alpha__extern_prefix cannot be used.
*/
fix = {
hackname = alpha___extern_prefix_sys_stat;
files = sys/stat.h;
files = sys/mount.h;
select = "#[ \t]*if[ \t]*defined\\(__DECC\\)";
mach = "alpha*-dec-osf5*";
c_fix = format;
c_fix_arg = "%0 || defined(__PRAGMA_EXTERN_PREFIX)";
test_text = "# if defined(__DECC)";
};
/*
* Fix assert macro in assert.h on Alpha OSF/1.
* The superfluous int cast breaks C++.
@ -657,37 +600,6 @@ fix = {
};
/*
* Fix #defines under Alpha OSF/1:
* The following files contain '#pragma extern_prefix "_FOO"' followed by
* a '#define something(x,y,z) _FOOsomething(x,y,z)'. The intent of these
* statements is to reduce namespace pollution. While these macros work
* properly in most cases, they don't allow you to take a pointer to the
* "something" being modified. To get around this limitation, change these
* statements to be of the form '#define something _FOOsomething'.
*
* sed ain't egrep, lesson 2463: sed can use self-referential
* regular expressions. In the substitute expression below,
* "\\1" and "\\2" refer to subexpressions found earlier in the
* same match. So, we continue to use sed. "extern_prefix" will
* be a rare match anyway...
*/
fix = {
hackname = alpha_bad_lval;
select = "^[ \t]*#[ \t]*pragma[ \t]+extern_prefix";
mach = "alpha*-dec-osf*";
sed =
"s/^[ \t]*#[ \t]*define[ \t][ \t]*\\([^(]*\\)\\(([^)]*)\\)[ \t]*"
"\\(_.*\\)\\1\\2[ \t]*$/#define \\1 \\3\\1/";
test_text = '#pragma extern_prefix "_FOO"'"\n"
"#define something(x,y,z) _FOOsomething(x,y,z)\n"
"#define mumble _FOOmumble";
};
/*
* Fix getopt declarations in stdio.h and stdlib.h on Alpha OSF/1 and AIX.
*/
@ -728,99 +640,6 @@ fix = {
};
/*
* Obey __PRAGMA_EXTERN_PREFIX for Tru64 UNIX <pthread.h>.
*/
fix = {
hackname = alpha_pthread;
files = pthread.h;
select = "((#[ \t]*if)([ \t]*defined[ \t]*\\(_PTHREAD_ENV_DECC\\)"
"|def _PTHREAD_ENV_DECC)(.*))\n"
"(#[ \t]*define _PTHREAD_USE_PTDNAM_)";
mach = "alpha*-dec-osf*";
c_fix = format;
c_fix_arg = "%2 defined (_PTHREAD_ENV_DECC)%4 "
"|| defined (__PRAGMA_EXTERN_PREFIX)\n%5";
test_text = "# if defined (_PTHREAD_ENV_DECC) "
"|| defined (_PTHREAD_ENV_EPCC)\n"
"# define _PTHREAD_USE_PTDNAM_\n"
"# endif\n"
"# ifdef _PTHREAD_ENV_DECC\n"
"# define _PTHREAD_USE_PTDNAM_\n"
"# endif";
};
/*
* Recognize GCC in Tru64 UNIX V5.1B <pthread.h>.
*/
fix = {
hackname = alpha_pthread_gcc;
files = pthread.h;
select = "#else\n# error <pthread.h>: unrecognized compiler.";
mach = "alpha*-dec-osf*";
c_fix = format;
c_fix_arg = "#elif defined (__GNUC__)\n"
"# define _PTHREAD_ENV_GCC\n"
"%0";
test_text = "# define _PTHREAD_ENV_INTELC\n"
"#else\n"
"# error <pthread.h>: unrecognized compiler.\n"
"#endif";
};
/*
* Compaq Tru64 v5.1 defines all of its PTHREAD_*_INITIALIZER macros
* incorrectly, specifying less fields in the initializers than are
* defined in the corresponding structure types. Use of these macros
* in user code results in spurious warnings.
*/
fix = {
hackname = alpha_pthread_init;
files = pthread.h;
select = ' \* @\(#\).RCSfile: pthread\.h,v \$'
' .Revision: 1\.1\.33\.21 \$ \(DEC\)'
' .Date: 2000/08/15 15:30:13 \$';
mach = "alpha*-dec-osf*";
sed = "s@MVALID\\(.*\\)A}@MVALID\\1A, 0, 0, 0, 0, 0, 0 }@\n"
"s@MVALID\\(.*\\)_}@MVALID\\1_, 0, 0, 0, 0 }@\n"
"s@CVALID\\(.*\\)A}@CVALID\\1A, 0, 0, 0, 0 }@\n"
"s@CVALID\\(.*\\)_}@CVALID\\1_, 0, 0 }@\n"
"s@WVALID\\(.*\\)A}@WVALID\\1A, 0, 0, 0, 0, 0, 0, 0, 0, 0 }@\n"
"s@WVALID\\(.*\\)_}@WVALID\\1_, 0, 0, 0, 0, 0, 0, 0 }@\n";
test_text = <<- _EOText_
/*
* @(#)_RCSfile: pthread.h,v $ _Revision: 1.1.33.21 $ (DEC) _Date: 2000/08/15 15:30:13 $
*/
#ifndef _PTHREAD_NOMETER_STATIC
# define PTHREAD_MUTEX_INITIALIZER \
{_PTHREAD_MSTATE_CONFIG, _PTHREAD_MVALID | _PTHREAD_MVF_STA}
# define PTHREAD_COND_INITIALIZER \
{_PTHREAD_CSTATE_SLOW, _PTHREAD_CVALID | _PTHREAD_CVF_STA}
# define PTHREAD_MUTEX_INITWITHNAME_NP(_n_,_a_) \
{_PTHREAD_MSTATE_CONFIG, _PTHREAD_MVALID | _PTHREAD_MVF_STA, _n_, _a_}
# define PTHREAD_COND_INITWITHNAME_NP(_n_,_a_) \
{_PTHREAD_CSTATE_SLOW, _PTHREAD_CVALID | _PTHREAD_CVF_STA, _n_, _a_}
#else
# define PTHREAD_MUTEX_INITIALIZER {0, _PTHREAD_MVALID | _PTHREAD_MVF_STA}
# define PTHREAD_MUTEX_INITWITHNAME_NP(_n_,_a_) \
{0, _PTHREAD_MVALID | _PTHREAD_MVF_STA, _n_, _a_}
# define PTHREAD_COND_INITWITHNAME_NP(_n_,_a_) \
{0, _PTHREAD_CVALID | _PTHREAD_CVF_STA, _n_, _a_}
#endif
#define PTHREAD_RWLOCK_INITIALIZER {_PTHREAD_RWVALID | _PTHREAD_RWVF_STA}
#define PTHREAD_RWLOCK_INITWITHNAME_NP(_n_,_a_) \
{_PTHREAD_RWVALID | _PTHREAD_RWVF_STA, _n_, _a_}
_EOText_;
};
/*
* Fix return value of sbrk in unistd.h on Alpha OSF/1 V2.0
* And OpenBSD.

View File

@ -29,46 +29,6 @@
#endif /* AIX_PTHREAD_CHECK */
#if defined( ALPHA_PTHREAD_CHECK )
# if defined (_PTHREAD_ENV_DECC) || defined (_PTHREAD_ENV_EPCC) || defined (__PRAGMA_EXTERN_PREFIX)
# define _PTHREAD_USE_PTDNAM_
# endif
# if defined (_PTHREAD_ENV_DECC) || defined (__PRAGMA_EXTERN_PREFIX)
# define _PTHREAD_USE_PTDNAM_
# endif
#endif /* ALPHA_PTHREAD_CHECK */
#if defined( ALPHA_PTHREAD_GCC_CHECK )
# define _PTHREAD_ENV_INTELC
#elif defined (__GNUC__)
# define _PTHREAD_ENV_GCC
#else
# error <pthread.h>: unrecognized compiler.
#endif
#endif /* ALPHA_PTHREAD_GCC_CHECK */
#if defined( ALPHA_PTHREAD_INIT_CHECK )
/*
* @(#)_RCSfile: pthread.h,v $ _Revision: 1.1.33.21 $ (DEC) _Date: 2000/08/15 15:30:13 $
*/
#ifndef _PTHREAD_NOMETER_STATIC
# define PTHREAD_MUTEX_INITIALIZER {_PTHREAD_MSTATE_CONFIG, _PTHREAD_MVALID | _PTHREAD_MVF_STA, 0, 0, 0, 0, 0, 0 }
# define PTHREAD_COND_INITIALIZER {_PTHREAD_CSTATE_SLOW, _PTHREAD_CVALID | _PTHREAD_CVF_STA, 0, 0, 0, 0 }
# define PTHREAD_MUTEX_INITWITHNAME_NP(_n_,_a_) {_PTHREAD_MSTATE_CONFIG, _PTHREAD_MVALID | _PTHREAD_MVF_STA, _n_, _a_, 0, 0, 0, 0 }
# define PTHREAD_COND_INITWITHNAME_NP(_n_,_a_) {_PTHREAD_CSTATE_SLOW, _PTHREAD_CVALID | _PTHREAD_CVF_STA, _n_, _a_, 0, 0 }
#else
# define PTHREAD_MUTEX_INITIALIZER {0, _PTHREAD_MVALID | _PTHREAD_MVF_STA, 0, 0, 0, 0, 0, 0 }
# define PTHREAD_MUTEX_INITWITHNAME_NP(_n_,_a_) {0, _PTHREAD_MVALID | _PTHREAD_MVF_STA, _n_, _a_, 0, 0, 0, 0 }
# define PTHREAD_COND_INITWITHNAME_NP(_n_,_a_) {0, _PTHREAD_CVALID | _PTHREAD_CVF_STA, _n_, _a_, 0, 0 }
#endif
#define PTHREAD_RWLOCK_INITIALIZER {_PTHREAD_RWVALID | _PTHREAD_RWVF_STA, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
#define PTHREAD_RWLOCK_INITWITHNAME_NP(_n_,_a_) {_PTHREAD_RWVALID | _PTHREAD_RWVF_STA, _n_, _a_, 0, 0, 0, 0, 0, 0, 0 }
#endif /* ALPHA_PTHREAD_INIT_CHECK */
#if defined( GLIBC_MUTEX_INIT_CHECK )
#define PTHREAD_MUTEX_INITIALIZER \
{ { 0, 0, 0, 0, 0, 0 } }

View File

@ -1,14 +0,0 @@
/* DO NOT EDIT THIS FILE.
It has been auto-edited by fixincludes from:
"fixinc/tests/inc/standards.h"
This had to be done to correct non-standard usages in the
original, manufacturer supplied header file. */
#if defined( ALPHA___EXTERN_PREFIX_STANDARDS_CHECK )
#if (_ISO_C_SOURCE>=19990L) && !defined(_LIBC_POLLUTION_H_) && !defined(__DECC) && !defined(__PRAGMA_EXTERN_PREFIX)
#endif /* ALPHA___EXTERN_PREFIX_STANDARDS_CHECK */

View File

@ -9,11 +9,6 @@
#if defined( ALPHA___EXTERN_PREFIX_SYS_STAT_CHECK )
# if defined(__DECC) || defined(__PRAGMA_EXTERN_PREFIX)
#endif /* ALPHA___EXTERN_PREFIX_SYS_STAT_CHECK */
#if defined( GLIBC_C99_INLINE_2_CHECK )
#ifdef __GNUC_GNU_INLINE__
extern

View File

@ -9,23 +9,6 @@
#if defined( ALPHA___EXTERN_PREFIX_CHECK )
#if (defined(__DECC) || defined(__PRAGMA_EXTERN_PREFIX))
#pragma extern_prefix "_P"
# if (defined(__DECC) || defined(__PRAGMA_EXTERN_PREFIX))
# pragma extern_prefix "_E"
# if !defined(_LIBC_POLLUTION_H_) && (defined(__DECC) || defined(__PRAGMA_EXTERN_PREFIX))
# pragma extern_prefix ""
#endif /* ALPHA___EXTERN_PREFIX_CHECK */
#if defined( ALPHA_BAD_LVAL_CHECK )
#pragma extern_prefix "_FOO"
#define something _FOOsomething
#define mumble _FOOmumble
#endif /* ALPHA_BAD_LVAL_CHECK */
#if defined( AVOID_WCHAR_T_TYPE_CHECK )
#ifndef __cplusplus
typedef unsigned short wchar_t ;

View File

@ -1,3 +1,41 @@
2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* 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.
2012-03-12 Richard Guenther <rguenther@suse.de>
* config/arm/arm.c (neon_dereference_pointer): Do not call

View File

@ -195,8 +195,6 @@ GCC_WARN_CXXFLAGS = $(LOOSE_WARN) $($(@D)-warn) $(NOCOMMON_FLAG) $($@-warn)
# flex output may yield harmless "no previous prototype" warnings
build/gengtype-lex.o-warn = -Wno-error
gengtype-lex.o-warn = -Wno-error
# mips-tfile.c contains -Wcast-qual warnings.
mips-tfile.o-warn = -Wno-error
expmed.o-warn = -Wno-error
# All warnings have to be shut off in stage1 if the compiler used then
@ -1467,8 +1465,7 @@ ALL_HOST_FRONTEND_OBJS = $(C_OBJS) \
ALL_HOST_BACKEND_OBJS = $(GCC_OBJS) $(OBJS) $(OBJS-libcommon) \
$(OBJS-libcommon-target) @TREEBROWSER@ main.o gccspec.o cppspec.o \
$(COLLECT2_OBJS) $(EXTRA_GCC_OBJS) mips-tfile.o mips-tdump.o \
$(GCOV_OBJS) $(GCOV_DUMP_OBJS)
$(COLLECT2_OBJS) $(EXTRA_GCC_OBJS) $(GCOV_OBJS) $(GCOV_DUMP_OBJS)
# This lists all host object files, whether they are included in this
# compilation or not.
@ -3450,22 +3447,6 @@ $(common_out_object_file): $(common_out_file) $(CONFIG_H) $(SYSTEM_H) \
$(DIAGNOSTIC_CORE_H) $(FLAGS_H) $(OPTS_H) $(TM_H) $(TM_P_H) $(MACHMODE_H)
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
$< $(OUTPUT_OPTION)
# Build auxiliary files that support ecoff format.
mips-tfile: mips-tfile.o $(LIBDEPS)
$(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \
mips-tfile.o $(LIBS)
mips-tfile.o : mips-tfile.c $(CONFIG_H) $(SYSTEM_H) \
version.h $(srcdir)/../include/getopt.h $(GSTAB_H) intl.h
mips-tdump: mips-tdump.o $(LIBDEPS)
$(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \
mips-tdump.o $(LIBS)
mips-tdump.o : mips-tdump.c $(CONFIG_H) $(SYSTEM_H) \
version.h $(srcdir)/../include/getopt.h stab.def
#
# Generate header and source files from the machine description,
# and compile them.

View File

@ -1,3 +1,31 @@
2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* 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.
2012-03-12 Tristan Gingold <gingold@adacore.com>
* gcc-interface/decl.c (gnat_to_gnu_param): Use flag_vms_malloc64

View File

@ -1,151 +0,0 @@
------------------------------------------------------------------------------
-- --
-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS --
-- --
-- A D A . I N T E R R U P T S . N A M E S --
-- --
-- S p e c --
-- --
-- Copyright (C) 1991-2011, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- ware Foundation; either version 3, or (at your option) any later ver- --
-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-- or FITNESS FOR A PARTICULAR PURPOSE. --
-- --
-- As a special exception under Section 7 of GPL version 3, you are granted --
-- additional permissions described in the GCC Runtime Library Exception, --
-- version 3.1, as published by the Free Software Foundation. --
-- --
-- You should have received a copy of the GNU General Public License and --
-- a copy of the GCC Runtime Library Exception along with this program; --
-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-- <http://www.gnu.org/licenses/>. --
-- --
-- GNARL was developed by the GNARL team at Florida State University. --
-- Extensive contributions were provided by Ada Core Technologies, Inc. --
-- --
------------------------------------------------------------------------------
-- This is the DEC Unix 4.0 version of this package
-- The following signals are reserved by the run time:
-- SIGFPE, SIGILL, SIGSEGV, SIGBUS, SIGABRT, SIGTRAP, SIGINT, SIGALRM,
-- SIGSTOP, SIGKILL
-- The pragma Unreserve_All_Interrupts affects the following signal(s):
-- SIGINT: made available for Ada handler
with System.OS_Interface;
package Ada.Interrupts.Names is
-- All identifiers in this unit are implementation defined
pragma Implementation_Defined;
-- Beware that the mapping of names to signals may be many-to-one. There
-- may be aliases. Also, for all signal names that are not supported on the
-- current system the value of the corresponding constant will be zero.
SIGHUP : constant Interrupt_ID :=
System.OS_Interface.SIGHUP; -- hangup
SIGINT : constant Interrupt_ID :=
System.OS_Interface.SIGINT; -- interrupt (rubout)
SIGQUIT : constant Interrupt_ID :=
System.OS_Interface.SIGQUIT; -- quit (ASCD FS)
SIGILL : constant Interrupt_ID :=
System.OS_Interface.SIGILL; -- illegal instruction (not reset)
SIGTRAP : constant Interrupt_ID :=
System.OS_Interface.SIGTRAP; -- trace trap (not reset)
SIGIOT : constant Interrupt_ID :=
System.OS_Interface.SIGIOT; -- IOT instruction
SIGABRT : constant Interrupt_ID := -- used by abort,
System.OS_Interface.SIGABRT; -- replace SIGIOT in the future
SIGEMT : constant Interrupt_ID :=
System.OS_Interface.SIGEMT; -- EMT instruction
SIGFPE : constant Interrupt_ID :=
System.OS_Interface.SIGFPE; -- floating point exception
SIGKILL : constant Interrupt_ID :=
System.OS_Interface.SIGKILL; -- kill (cannot be caught or ignored)
SIGBUS : constant Interrupt_ID :=
System.OS_Interface.SIGBUS; -- bus error
SIGSEGV : constant Interrupt_ID :=
System.OS_Interface.SIGSEGV; -- segmentation violation
SIGSYS : constant Interrupt_ID :=
System.OS_Interface.SIGSYS; -- bad argument to system call
SIGPIPE : constant Interrupt_ID := -- write on a pipe with
System.OS_Interface.SIGPIPE; -- no one to read it
SIGALRM : constant Interrupt_ID :=
System.OS_Interface.SIGALRM; -- alarm clock
SIGTERM : constant Interrupt_ID :=
System.OS_Interface.SIGTERM; -- software termination signal from kill
SIGUSR1 : constant Interrupt_ID :=
System.OS_Interface.SIGUSR1; -- user defined signal 1
SIGUSR2 : constant Interrupt_ID :=
System.OS_Interface.SIGUSR2; -- user defined signal 2
SIGCHLD : constant Interrupt_ID :=
System.OS_Interface.SIGCHLD; -- 4.3BSD's/POSIX name for SIGCLD
SIGWINCH : constant Interrupt_ID :=
System.OS_Interface.SIGWINCH; -- window size change
SIGURG : constant Interrupt_ID :=
System.OS_Interface.SIGURG; -- urgent condition on IO channel
SIGPOLL : constant Interrupt_ID :=
System.OS_Interface.SIGPOLL; -- pollable event occurred
SIGIO : constant Interrupt_ID := -- input/output possible,
System.OS_Interface.SIGIO; -- SIGPOLL alias (Solaris)
SIGSTOP : constant Interrupt_ID :=
System.OS_Interface.SIGSTOP; -- stop (cannot be caught or ignored)
SIGTSTP : constant Interrupt_ID :=
System.OS_Interface.SIGTSTP; -- user stop requested from tty
SIGCONT : constant Interrupt_ID :=
System.OS_Interface.SIGCONT; -- stopped process has been continued
SIGTTIN : constant Interrupt_ID :=
System.OS_Interface.SIGTTIN; -- background tty read attempted
SIGTTOU : constant Interrupt_ID :=
System.OS_Interface.SIGTTOU; -- background tty write attempted
SIGVTALRM : constant Interrupt_ID :=
System.OS_Interface.SIGVTALRM; -- virtual timer expired
SIGPROF : constant Interrupt_ID :=
System.OS_Interface.SIGPROF; -- profiling timer expired
SIGXCPU : constant Interrupt_ID :=
System.OS_Interface.SIGXCPU; -- CPU time limit exceeded
SIGXFSZ : constant Interrupt_ID :=
System.OS_Interface.SIGXFSZ; -- filesize limit exceeded
end Ada.Interrupts.Names;

View File

@ -6,7 +6,7 @@
* *
* C Implementation File *
* *
* Copyright (C) 1992-2011, Free Software Foundation, Inc. *
* Copyright (C) 1992-2012, Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
@ -2467,8 +2467,7 @@ __gnat_number_of_cpus (void)
{
int cores = 1;
#if defined (linux) || defined (sun) || defined (AIX) \
|| (defined (__alpha__) && defined (_osf_)) || defined (__APPLE__)
#if defined (linux) || defined (sun) || defined (AIX) || defined (__APPLE__)
cores = (int) sysconf (_SC_NPROCESSORS_ONLN);
#elif (defined (__mips) && defined (__sgi))
@ -3541,7 +3540,6 @@ _flush_cache()
&& ! defined (__hpux__) \
&& ! defined (__APPLE__) \
&& ! defined (_AIX) \
&& ! (defined (__alpha__) && defined (__osf__)) \
&& ! defined (VMS) \
&& ! defined (__MINGW32__) \
&& ! (defined (__mips) && defined (__sgi)))

View File

@ -6,7 +6,7 @@
* *
* C Implementation File *
* *
* Copyright (C) 2005-2011, Free Software Foundation, Inc. *
* Copyright (C) 2005-2012, Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
@ -29,14 +29,6 @@
* *
****************************************************************************/
/* Tru64 UNIX V4.0F <stdlib.h> declares unsetenv() only if AES_SOURCE (which
is plain broken, this should be _AES_SOURCE instead as everywhere else;
Tru64 UNIX V5.1B declares it only if _BSD. */
#if defined (__alpha__) && defined (__osf__)
#define AES_SOURCE
#define _BSD
#endif
#ifdef __cplusplus
extern "C" {
#endif

View File

@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
-- Copyright (C) 1999-2010, AdaCore --
-- Copyright (C) 1999-2012, AdaCore --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@ -64,7 +64,6 @@
-- LynxOS x86
-- Solaris x86
-- Solaris sparc
-- Tru64 alpha
-- OpenVMS/Alpha
-- OpenVMS/ia64
-- VxWorks PowerPC

View File

@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
-- Copyright (C) 1999-2011, AdaCore --
-- Copyright (C) 1999-2012, AdaCore --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@ -38,7 +38,6 @@
-- GNU/Linux x86, x86_64, ia64
-- FreeBSD x86, x86_64
-- Solaris sparc and x86
-- Tru64
-- OpenVMS Alpha and ia64
-- Windows

View File

@ -1454,34 +1454,6 @@ ifeq ($(strip $(filter-out rtems%,$(osys))),)
s-interr.adb<s-interr-hwint.adb
endif
ifeq ($(strip $(filter-out alpha% dec osf%,$(targ))),)
LIBGNAT_TARGET_PAIRS = \
a-intnam.ads<a-intnam-tru64.ads \
s-inmaop.adb<s-inmaop-posix.adb \
s-intman.adb<s-intman-posix.adb \
s-mastop.adb<s-mastop-tru64.adb \
s-osinte.adb<s-osinte-tru64.adb \
s-osinte.ads<s-osinte-tru64.ads \
s-osprim.adb<s-osprim-unix.adb \
s-taprop.adb<s-taprop-tru64.adb \
s-tasinf.ads<s-tasinf-tru64.ads \
s-taspri.ads<s-taspri-tru64.ads \
s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
s-traceb.adb<s-traceb-mastop.adb \
system.ads<system-tru64.ads \
$(ATOMICS_TARGET_PAIRS) \
$(ATOMICS_BUILTINS_TARGET_PAIRS)
TOOLS_TARGET_PAIRS=mlib-tgt-specific.adb<mlib-tgt-specific-tru64.adb
EH_MECHANISM=-gcc
GMEM_LIB=gmemlib
MISCLIB = -lexc
THREADSLIB = -lpthread -lmach -lexc -lrt
GNATLIB_SHARED = gnatlib-shared-default
LIBRARY_VERSION := $(LIB_VERSION)
endif
ifeq ($(strip $(filter-out alpha64 ia64 dec hp vms% openvms% alphavms%,$(host))),)
soext = .exe

View File

@ -3092,7 +3092,7 @@ $ gnatlink ada_unit file1.o file2.o --LINK=./my_script
If the @code{zero cost} exception mechanism is used, and the platform
doesn't support automatic registration of exception tables (e.g.@: HP-UX,
Tru64 or AIX), the simple approach described above will not work and
or AIX), the simple approach described above will not work and
a pre-linking phase using GNAT will be necessary.
@end enumerate
@ -22164,11 +22164,6 @@ information about several specific platforms.
@item @code{@ @ @ @ }Tasking @tab native VMS threads
@item @code{@ @ @ @ }Exceptions @tab ZCX
@*
@item @b{alpha-tru64}
@item @code{@ @ }@i{rts-native (default)}
@item @code{@ @ @ @ }Tasking @tab native TRU64 threads
@item @code{@ @ @ @ }Exceptions @tab ZCX
@*
@item @code{@ @ }@i{rts-sjlj}
@item @code{@ @ @ @ }Tasking @tab native TRU64 threads
@item @code{@ @ @ @ }Exceptions @tab SJLJ

View File

@ -6,7 +6,7 @@
* *
* C Header File *
* *
* Copyright (C) 2004-2011, Free Software Foundation, Inc. *
* Copyright (C) 2004-2012, Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
@ -53,11 +53,6 @@
/* For AIX */
#endif
#ifndef _OSF_SOURCE
#define _OSF_SOURCE 1
/* For Tru64 */
#endif
/** No system header may be included prior to this point since on some targets
** we need to redefine FD_SETSIZE.
**/
@ -204,7 +199,7 @@
#endif
#if defined (_AIX) || defined (__FreeBSD__) || defined (__hpux__) || \
defined (__osf__) || defined (_WIN32) || defined (__APPLE__)
defined (_WIN32) || defined (__APPLE__)
# define HAVE_THREAD_SAFE_GETxxxBYyyy 1
#elif defined (sgi) || defined (linux) || defined (__GLIBC__) || \

View File

@ -294,156 +294,6 @@ __gnat_install_handler (void)
__gnat_handler_installed = 1;
}
/*****************/
/* Tru64 section */
/*****************/
#elif defined(__alpha__) && defined(__osf__)
#include <signal.h>
#include <sys/siginfo.h>
extern char *__gnat_get_code_loc (struct sigcontext *);
extern void __gnat_set_code_loc (struct sigcontext *, char *);
extern size_t __gnat_machine_state_length (void);
#define HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE
void
__gnat_adjust_context_for_raise (int signo, void *ucontext)
{
struct sigcontext *sigcontext = (struct sigcontext *) ucontext;
/* The unwinder expects the signal context to contain the address of the
faulting instruction. For SIGFPE, this depends on the trap shadow
situation (see man ieee). We nonetheless always compensate for it,
considering that PC designates the instruction following the one that
trapped. This is not necessarily true but corresponds to what we have
always observed. */
if (signo == SIGFPE)
sigcontext->sc_pc--;
}
static void
__gnat_error_handler (int sig, siginfo_t *si, void *ucontext)
{
struct Exception_Data *exception;
static int recurse = 0;
const char *msg;
/* Adjusting is required for every fault context, so adjust for this one
now, before we possibly trigger a recursive fault below. */
__gnat_adjust_context_for_raise (sig, ucontext);
/* If this was an explicit signal from a "kill", just resignal it. */
if (SI_FROMUSER (si))
{
signal (sig, SIG_DFL);
kill (getpid(), sig);
}
/* Otherwise, treat it as something we handle. */
switch (sig)
{
case SIGSEGV:
/* If the problem was permissions, this is a constraint error.
Likewise if the failing address isn't maximally aligned or if
we've recursed.
??? Using a static variable here isn't task-safe, but it's
much too hard to do anything else and we're just determining
which exception to raise. */
if (si->si_code == SEGV_ACCERR
|| (long) si->si_addr == 0
|| (((long) si->si_addr) & 3) != 0
|| recurse)
{
exception = &constraint_error;
msg = "SIGSEGV";
}
else
{
/* See if the page before the faulting page is accessible. Do that
by trying to access it. We'd like to simply try to access
4096 + the faulting address, but it's not guaranteed to be
the actual address, just to be on the same page. */
recurse++;
((volatile char *)
((long) si->si_addr & - getpagesize ()))[getpagesize ()];
exception = &storage_error;
msg = "stack overflow or erroneous memory access";
}
break;
case SIGBUS:
exception = &program_error;
msg = "SIGBUS";
break;
case SIGFPE:
exception = &constraint_error;
msg = "SIGFPE";
break;
default:
exception = &program_error;
msg = "unhandled signal";
}
recurse = 0;
Raise_From_Signal_Handler (exception, CONST_CAST (char *, msg));
}
void
__gnat_install_handler (void)
{
struct sigaction act;
/* Setup signal handler to map synchronous signals to appropriate
exceptions. Make sure that the handler isn't interrupted by another
signal that might cause a scheduling event! */
act.sa_handler = (void (*) (int)) __gnat_error_handler;
act.sa_flags = SA_RESTART | SA_NODEFER | SA_SIGINFO;
sigemptyset (&act.sa_mask);
/* Do not install handlers if interrupt state is "System". */
if (__gnat_get_interrupt_state (SIGABRT) != 's')
sigaction (SIGABRT, &act, NULL);
if (__gnat_get_interrupt_state (SIGFPE) != 's')
sigaction (SIGFPE, &act, NULL);
if (__gnat_get_interrupt_state (SIGILL) != 's')
sigaction (SIGILL, &act, NULL);
if (__gnat_get_interrupt_state (SIGSEGV) != 's')
sigaction (SIGSEGV, &act, NULL);
if (__gnat_get_interrupt_state (SIGBUS) != 's')
sigaction (SIGBUS, &act, NULL);
__gnat_handler_installed = 1;
}
/* Routines called by s-mastop-tru64.adb. */
#define SC_GP 29
char *
__gnat_get_code_loc (struct sigcontext *context)
{
return (char *) context->sc_pc;
}
void
__gnat_set_code_loc (struct sigcontext *context, char *pc)
{
context->sc_pc = (long) pc;
}
size_t
__gnat_machine_state_length (void)
{
return sizeof (struct sigcontext);
}
/*****************/
/* HP-UX section */
/*****************/

View File

@ -6,7 +6,7 @@
* *
* C Implementation File *
* *
* Copyright (C) 1992-2011, Free Software Foundation, Inc. *
* Copyright (C) 1992-2012, Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
@ -96,19 +96,7 @@ extern "C" {
#define SHARED 'H'
#define STATIC 'T'
#if defined (__osf__)
const char *__gnat_object_file_option = "-Wl,-input,";
const char *__gnat_run_path_option = "-Wl,-rpath,";
int __gnat_link_max = 10000;
unsigned char __gnat_objlist_file_supported = 1;
char __gnat_shared_libgnat_default = STATIC;
char __gnat_shared_libgcc_default = STATIC;
unsigned char __gnat_using_gnu_linker = 0;
const char *__gnat_object_library_extension = ".a";
unsigned char __gnat_separate_run_path_options = 0;
const char *__gnat_default_libgcc_subdir = "lib";
#elif defined (sgi)
#if defined (sgi)
const char *__gnat_object_file_option = "-Wl,-objectlist,";
const char *__gnat_run_path_option = "-Wl,-rpath,";
int __gnat_link_max = 5000;

View File

@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
-- Copyright (C) 2001-2009, Free Software Foundation, Inc. --
-- Copyright (C) 2001-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@ -61,7 +61,6 @@
-- HP-UX
-- Irix
-- Solaris
-- Tru64
-- Alpha OpenVMS
-- NOTE FOR FUTURE PLATFORMS SUPPORT: It is assumed that type Duration is

View File

@ -1,168 +0,0 @@
------------------------------------------------------------------------------
-- --
-- GNAT COMPILER COMPONENTS --
-- --
-- M L I B . T G T . S P E C I F I C --
-- (Tru64 Version) --
-- --
-- B o d y --
-- --
-- Copyright (C) 2002-2008, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- ware Foundation; either version 3, or (at your option) any later ver- --
-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
-- for more details. You should have received a copy of the GNU General --
-- Public License distributed with GNAT; see file COPYING3. If not, go to --
-- http://www.gnu.org/licenses for a complete copy of the license. --
-- --
-- GNAT was originally developed by the GNAT team at New York University. --
-- Extensive contributions were provided by Ada Core Technologies Inc. --
-- --
------------------------------------------------------------------------------
-- This is the Tru64 version of the body
with MLib.Fil;
with MLib.Utl;
with Opt;
with Output; use Output;
package body MLib.Tgt.Specific is
use MLib;
-- Non default subprogram
procedure Build_Dynamic_Library
(Ofiles : Argument_List;
Options : Argument_List;
Interfaces : Argument_List;
Lib_Filename : String;
Lib_Dir : String;
Symbol_Data : Symbol_Record;
Driver_Name : Name_Id := No_Name;
Lib_Version : String := "";
Auto_Init : Boolean := False);
function Is_Archive_Ext (Ext : String) return Boolean;
function PIC_Option return String;
-- Local variables
Expect_Unresolved : aliased String := "-Wl,-expect_unresolved,*";
---------------------------
-- Build_Dynamic_Library --
---------------------------
procedure Build_Dynamic_Library
(Ofiles : Argument_List;
Options : Argument_List;
Interfaces : Argument_List;
Lib_Filename : String;
Lib_Dir : String;
Symbol_Data : Symbol_Record;
Driver_Name : Name_Id := No_Name;
Lib_Version : String := "";
Auto_Init : Boolean := False)
is
pragma Unreferenced (Interfaces);
pragma Unreferenced (Symbol_Data);
pragma Unreferenced (Auto_Init);
-- Initialization is done through the constructor mechanism
Lib_File : constant String :=
"lib" & Fil.Append_To (Lib_Filename, DLL_Ext);
Lib_Path : constant String :=
Lib_Dir & Directory_Separator & Lib_File;
Version_Arg : String_Access;
Symbolic_Link_Needed : Boolean := False;
begin
if Opt.Verbose_Mode then
Write_Str ("building relocatable shared library ");
Write_Line (Lib_Path);
end if;
-- If specified, add automatic elaboration/finalization
if Lib_Version = "" then
Utl.Gcc
(Output_File => Lib_Path,
Objects => Ofiles,
Options => Options & Expect_Unresolved'Access,
Options_2 => No_Argument_List,
Driver_Name => Driver_Name);
else
declare
Maj_Version : constant String :=
Major_Id_Name (Lib_File, Lib_Version);
begin
if Maj_Version'Length /= 0 then
Version_Arg := new String'("-Wl,-soname," & Maj_Version);
else
Version_Arg := new String'("-Wl,-soname," & Lib_Version);
end if;
if Is_Absolute_Path (Lib_Version) then
Utl.Gcc
(Output_File => Lib_Version,
Objects => Ofiles,
Options =>
Options & Version_Arg & Expect_Unresolved'Access,
Options_2 => No_Argument_List,
Driver_Name => Driver_Name);
Symbolic_Link_Needed := Lib_Version /= Lib_Path;
else
Utl.Gcc
(Output_File => Lib_Dir & Directory_Separator & Lib_Version,
Objects => Ofiles,
Options =>
Options & Version_Arg & Expect_Unresolved'Access,
Options_2 => No_Argument_List,
Driver_Name => Driver_Name);
Symbolic_Link_Needed :=
Lib_Dir & Directory_Separator & Lib_Version /= Lib_Path;
end if;
if Symbolic_Link_Needed then
Create_Sym_Links
(Lib_Path, Lib_Version, Lib_Dir, Maj_Version);
end if;
end;
end if;
end Build_Dynamic_Library;
--------------------
-- Is_Archive_Ext --
--------------------
function Is_Archive_Ext (Ext : String) return Boolean is
begin
return Ext = ".a" or else Ext = ".so";
end Is_Archive_Ext;
----------------
-- PIC_Option --
----------------
function PIC_Option return String is
begin
return "";
end PIC_Option;
begin
Build_Dynamic_Library_Ptr := Build_Dynamic_Library'Access;
Is_Archive_Ext_Ptr := Is_Archive_Ext'Access;
PIC_Option_Ptr := PIC_Option'Access;
end MLib.Tgt.Specific;

View File

@ -1,163 +0,0 @@
------------------------------------------------------------------------------
-- --
-- GNAT COMPILER COMPONENTS --
-- --
-- SYSTEM.MACHINE_STATE_OPERATIONS --
-- --
-- B o d y --
-- (Version for Alpha/Dec Unix) --
-- --
-- Copyright (C) 1999-2010, AdaCore --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- ware Foundation; either version 3, or (at your option) any later ver- --
-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-- or FITNESS FOR A PARTICULAR PURPOSE. --
-- --
-- As a special exception under Section 7 of GPL version 3, you are granted --
-- additional permissions described in the GCC Runtime Library Exception, --
-- version 3.1, as published by the Free Software Foundation. --
-- --
-- You should have received a copy of the GNU General Public License and --
-- a copy of the GCC Runtime Library Exception along with this program; --
-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-- <http://www.gnu.org/licenses/>. --
-- --
-- GNAT was originally developed by the GNAT team at New York University. --
-- Extensive contributions were provided by Ada Core Technologies Inc. --
-- --
------------------------------------------------------------------------------
-- This version of System.Machine_State_Operations is for use on
-- Alpha systems running DEC Unix.
with System.Memory;
package body System.Machine_State_Operations is
pragma Linker_Options ("-lexc");
-- Needed for definitions of exc_capture_context and exc_virtual_unwind
----------------------------
-- Allocate_Machine_State --
----------------------------
function Allocate_Machine_State return Machine_State is
use System.Storage_Elements;
function c_machine_state_length return Storage_Offset;
pragma Import (C, c_machine_state_length, "__gnat_machine_state_length");
begin
return Machine_State
(Memory.Alloc (Memory.size_t (c_machine_state_length)));
end Allocate_Machine_State;
----------------
-- Fetch_Code --
----------------
function Fetch_Code (Loc : Code_Loc) return Code_Loc is
begin
return Loc;
end Fetch_Code;
------------------------
-- Free_Machine_State --
------------------------
procedure Free_Machine_State (M : in out Machine_State) is
begin
Memory.Free (Address (M));
M := Machine_State (Null_Address);
end Free_Machine_State;
------------------
-- Get_Code_Loc --
------------------
function Get_Code_Loc (M : Machine_State) return Code_Loc is
Asm_Call_Size : constant := 4;
function c_get_code_loc (M : Machine_State) return Code_Loc;
pragma Import (C, c_get_code_loc, "__gnat_get_code_loc");
-- Code_Loc returned by c_get_code_loc is the return point but here we
-- want Get_Code_Loc to return the call point. Under DEC Unix a call
-- asm instruction takes 4 bytes. So we must remove this value from
-- c_get_code_loc to have the call point.
Loc : constant Code_Loc := c_get_code_loc (M);
begin
if Loc = 0 then
return 0;
else
return Loc - Asm_Call_Size;
end if;
end Get_Code_Loc;
--------------------------
-- Machine_State_Length --
--------------------------
function Machine_State_Length
return System.Storage_Elements.Storage_Offset
is
use System.Storage_Elements;
function c_machine_state_length return Storage_Offset;
pragma Import (C, c_machine_state_length, "__gnat_machine_state_length");
begin
return c_machine_state_length;
end Machine_State_Length;
---------------
-- Pop_Frame --
---------------
procedure Pop_Frame (M : Machine_State) is
procedure exc_virtual_unwind (Fcn : System.Address; M : Machine_State);
pragma Import (C, exc_virtual_unwind, "exc_virtual_unwind");
function exc_lookup_function (Loc : Code_Loc) return System.Address;
pragma Import (C, exc_lookup_function, "exc_lookup_function_entry");
procedure c_set_code_loc (M : Machine_State; Loc : Code_Loc);
pragma Import (C, c_set_code_loc, "__gnat_set_code_loc");
-- Look for a code-range descriptor table containing the PC of the
-- specified machine state. If we don't find any, attempting to unwind
-- further would fail so we set the machine state's code location to a
-- value indicating that the top of the call chain is reached. This
-- happens when the function at the address pointed to by PC has not
-- been registered with the unwinding machinery, as with the __istart
-- functions generated by the linker in presence of initialization
-- routines for example.
Prf : constant System.Address := exc_lookup_function (Get_Code_Loc (M));
begin
if Prf = System.Null_Address then
c_set_code_loc (M, 0);
else
exc_virtual_unwind (Prf, M);
end if;
end Pop_Frame;
-----------------------
-- Set_Machine_State --
-----------------------
procedure Set_Machine_State (M : Machine_State) is
procedure c_capture_context (M : Machine_State);
pragma Import (C, c_capture_context, "exc_capture_context");
begin
c_capture_context (M);
Pop_Frame (M);
end Set_Machine_State;
end System.Machine_State_Operations;

View File

@ -7,7 +7,7 @@
-- --
-- S p e c --
-- --
-- Copyright (C) 2000-2011, Free Software Foundation, Inc. --
-- Copyright (C) 2000-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@ -85,12 +85,6 @@ pragma Style_Checks ("M32766");
**/
#define _XOPEN_SOURCE 500
#elif defined (__alpha__) && defined (__osf__)
/** For Tru64 UNIX, _XOPEN_SOURCE must be defined, otherwise CLOCK_REALTIME
** is not defined.
**/
#define _XOPEN_SOURCE 500
#elif defined (__mips) && defined (__sgi)
/** For IRIX 6, _XOPEN5 must be defined and _XOPEN_IOV_MAX must be used as
** IOV_MAX, otherwise IOV_MAX is not defined. IRIX 5 has neither.
@ -111,14 +105,6 @@ pragma Style_Checks ("M32766");
#include <fcntl.h>
#include <time.h>
#if defined (__alpha__) && defined (__osf__)
/** Tru64 is unable to do vector IO operations with default value of IOV_MAX,
** so its value is redefined to a small one which is known to work properly.
**/
#undef IOV_MAX
#define IOV_MAX 16
#endif
#if defined (__VMS)
/** VMS is unable to do vector IO operations with default value of IOV_MAX,
** so its value is redefined to a small one which is known to work properly.
@ -978,15 +964,6 @@ CND(AF_INET, "IPv4 address family")
# undef AF_INET6
#endif
/**
** Tru64 UNIX V4.0F defines AF_INET6 without IPv6 support, specifically
** without struct sockaddr_in6. We use _SS_MAXSIZE (used for the definition
** of struct sockaddr_storage on Tru64 UNIX V5.1) to detect this.
**/
#if defined(__osf__) && !defined(_SS_MAXSIZE)
# undef AF_INET6
#endif
#ifndef AF_INET6
# define AF_INET6 -1
#else

View File

@ -1,142 +0,0 @@
------------------------------------------------------------------------------
-- --
-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS --
-- --
-- S Y S T E M . O S _ I N T E R F A C E --
-- --
-- B o d y --
-- --
-- Copyright (C) 1998-2009, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- ware Foundation; either version 3, or (at your option) any later ver- --
-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-- or FITNESS FOR A PARTICULAR PURPOSE. --
-- --
-- As a special exception under Section 7 of GPL version 3, you are granted --
-- additional permissions described in the GCC Runtime Library Exception, --
-- version 3.1, as published by the Free Software Foundation. --
-- --
-- You should have received a copy of the GNU General Public License and --
-- a copy of the GCC Runtime Library Exception along with this program; --
-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-- <http://www.gnu.org/licenses/>. --
-- --
-- GNARL was developed by the GNARL team at Florida State University. --
-- Extensive contributions were provided by Ada Core Technologies, Inc. --
-- --
------------------------------------------------------------------------------
-- This is the DEC Unix version of this package
-- This package encapsulates all direct interfaces to OS services
-- that are needed by children of System.
pragma Polling (Off);
-- Turn off polling, we do not want ATC polling to take place during
-- tasking operations. It causes infinite loops and other problems.
with Interfaces.C; use Interfaces.C;
with System.Machine_Code; use System.Machine_Code;
package body System.OS_Interface is
--------------------
-- Get_Stack_Base --
--------------------
function Get_Stack_Base (thread : pthread_t) return Address is
pragma Unreferenced (thread);
begin
return Null_Address;
end Get_Stack_Base;
------------------
-- pthread_init --
------------------
procedure pthread_init is
begin
null;
end pthread_init;
------------------
-- pthread_self --
------------------
function pthread_self return pthread_t is
Self : pthread_t;
begin
Asm ("call_pal 0x9e" & ASCII.LF & ASCII.HT &
"bis $31, $0, %0",
Outputs => pthread_t'Asm_Output ("=r", Self),
Clobber => "$0",
Volatile => True);
return Self;
end pthread_self;
----------------------
-- Hide_Yellow_Zone --
----------------------
procedure Hide_Unhide_Yellow_Zone (Hide : Boolean) is
type Teb_Ptr is access all pthread_teb_t;
Teb : Teb_Ptr;
Res : Interfaces.C.int;
pragma Unreferenced (Res);
begin
-- Get the Thread Environment Block address
Asm ("call_pal 0x9e" & ASCII.LF & ASCII.HT &
"bis $31, $0, %0",
Outputs => Teb_Ptr'Asm_Output ("=r", Teb),
Clobber => "$0",
Volatile => True);
-- Stick a guard page right above the Yellow Zone if it exists
if Teb.all.stack_yellow /= Teb.all.stack_guard then
Res :=
mprotect
(Teb.all.stack_yellow, Get_Page_Size,
prot => (if Hide then PROT_ON else PROT_OFF));
end if;
end Hide_Unhide_Yellow_Zone;
-----------------
-- To_Duration --
-----------------
function To_Duration (TS : timespec) return Duration is
begin
return Duration (TS.tv_sec) + Duration (TS.tv_nsec) / 10#1#E9;
end To_Duration;
-----------------
-- To_Timespec --
-----------------
function To_Timespec (D : Duration) return timespec is
S : time_t;
F : Duration;
begin
S := time_t (Long_Long_Integer (D));
F := D - Duration (S);
-- If F has negative value due to a round-up, adjust for positive F
-- value.
if F < 0.0 then
S := S - 1;
F := F + 1.0;
end if;
return timespec'(tv_sec => S,
tv_nsec => long (Long_Long_Integer (F * 10#1#E9)));
end To_Timespec;
end System.OS_Interface;

View File

@ -1,585 +0,0 @@
------------------------------------------------------------------------------
-- --
-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS --
-- --
-- S Y S T E M . O S _ I N T E R F A C E --
-- --
-- S p e c --
-- --
-- Copyright (C) 1991-1994, Florida State University --
-- Copyright (C) 1995-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- ware Foundation; either version 3, or (at your option) any later ver- --
-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-- or FITNESS FOR A PARTICULAR PURPOSE. --
-- --
-- As a special exception under Section 7 of GPL version 3, you are granted --
-- additional permissions described in the GCC Runtime Library Exception, --
-- version 3.1, as published by the Free Software Foundation. --
-- --
-- You should have received a copy of the GNU General Public License and --
-- a copy of the GCC Runtime Library Exception along with this program; --
-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-- <http://www.gnu.org/licenses/>. --
-- --
-- GNARL was developed by the GNARL team at Florida State University. --
-- Extensive contributions were provided by Ada Core Technologies, Inc. --
-- --
------------------------------------------------------------------------------
-- This is the Tru64 version of this package
-- This package encapsulates all direct interfaces to OS services
-- that are needed by the tasking run-time (libgnarl).
-- PLEASE DO NOT add any with-clauses to this package or remove the pragma
-- Preelaborate. This package is designed to be a bottom-level (leaf) package.
with Interfaces.C;
with Ada.Unchecked_Conversion;
package System.OS_Interface is
pragma Preelaborate;
pragma Linker_Options ("-lpthread");
pragma Linker_Options ("-lmach");
pragma Linker_Options ("-lexc");
pragma Linker_Options ("-lrt");
subtype int is Interfaces.C.int;
subtype short is Interfaces.C.short;
subtype long is Interfaces.C.long;
subtype unsigned is Interfaces.C.unsigned;
subtype unsigned_short is Interfaces.C.unsigned_short;
subtype unsigned_long is Interfaces.C.unsigned_long;
subtype unsigned_char is Interfaces.C.unsigned_char;
subtype plain_char is Interfaces.C.plain_char;
subtype size_t is Interfaces.C.size_t;
subtype char_array is Interfaces.C.char_array;
-----------
-- Errno --
-----------
function errno return int;
pragma Import (C, errno, "_Geterrno");
EAGAIN : constant := 35;
EINTR : constant := 4;
EINVAL : constant := 22;
ENOMEM : constant := 12;
ETIMEDOUT : constant := 60;
-------------
-- Signals --
-------------
Max_Interrupt : constant := 48;
type Signal is new int range 0 .. Max_Interrupt;
for Signal'Size use int'Size;
SIGHUP : constant := 1; -- hangup
SIGINT : constant := 2; -- interrupt (rubout)
SIGQUIT : constant := 3; -- quit (ASCD FS)
SIGILL : constant := 4; -- illegal instruction (not reset)
SIGTRAP : constant := 5; -- trace trap (not reset)
SIGABRT : constant := 6; -- used by abort, replace SIGIOT in the future
SIGIOT : constant := 6; -- abort (terminate) process
SIGLOST : constant := 6; -- old BSD signal ??
SIGEMT : constant := 7; -- EMT instruction
SIGFPE : constant := 8; -- floating point exception
SIGKILL : constant := 9; -- kill (cannot be caught or ignored)
SIGBUS : constant := 10; -- bus error
SIGSEGV : constant := 11; -- segmentation violation
SIGSYS : constant := 12; -- bad argument to system call
SIGPIPE : constant := 13; -- write on a pipe with no one to read it
SIGALRM : constant := 14; -- alarm clock
SIGTERM : constant := 15; -- software termination signal from kill
SIGURG : constant := 16; -- urgent condition on IO channel
SIGIOINT : constant := 16; -- printer to backend error signal
SIGSTOP : constant := 17; -- stop (cannot be caught or ignored)
SIGTSTP : constant := 18; -- user stop requested from tty
SIGCONT : constant := 19; -- stopped process has been continued
SIGCHLD : constant := 20; -- child status change
SIGTTIN : constant := 21; -- background tty read attempted
SIGTTOU : constant := 22; -- background tty write attempted
SIGPOLL : constant := 23; -- I/O possible, or completed
SIGIO : constant := 23; -- STREAMS version of SIGPOLL
SIGAIO : constant := 23; -- base lan i/o
SIGPTY : constant := 23; -- pty i/o
SIGXCPU : constant := 24; -- CPU time limit exceeded
SIGXFSZ : constant := 25; -- filesize limit exceeded
SIGVTALRM : constant := 26; -- virtual timer expired
SIGPROF : constant := 27; -- profiling timer expired
SIGWINCH : constant := 28; -- window size change
SIGINFO : constant := 29; -- information request
SIGPWR : constant := 29; -- Power Fail/Restart -- SVID3/SVR4
SIGUSR1 : constant := 30; -- user defined signal 1
SIGUSR2 : constant := 31; -- user defined signal 2
SIGRESV : constant := 32; -- reserved by Digital for future use
SIGADAABORT : constant := SIGABRT;
type Signal_Set is array (Natural range <>) of Signal;
Unmasked : constant Signal_Set := (0 .. 0 => SIGTRAP);
Reserved : constant Signal_Set := (SIGALRM, SIGABRT, SIGKILL, SIGSTOP);
type sigset_t is private;
function sigaddset (set : access sigset_t; sig : Signal) return int;
pragma Import (C, sigaddset);
function sigdelset (set : access sigset_t; sig : Signal) return int;
pragma Import (C, sigdelset);
function sigfillset (set : access sigset_t) return int;
pragma Import (C, sigfillset);
function sigismember (set : access sigset_t; sig : Signal) return int;
pragma Import (C, sigismember);
function sigemptyset (set : access sigset_t) return int;
pragma Import (C, sigemptyset);
type union_type_3 is new String (1 .. 116);
type siginfo_t is record
si_signo : int;
si_errno : int;
si_code : int;
X_data : union_type_3;
end record;
for siginfo_t'Size use 8 * 128;
pragma Convention (C, siginfo_t);
type struct_sigaction is record
sa_handler : System.Address;
sa_mask : sigset_t;
sa_flags : int;
sa_signo : int;
end record;
pragma Convention (C, struct_sigaction);
type struct_sigaction_ptr is access all struct_sigaction;
SIG_BLOCK : constant := 1;
SIG_UNBLOCK : constant := 2;
SIG_SETMASK : constant := 3;
SIG_DFL : constant := 0;
SIG_IGN : constant := 1;
SA_NODEFER : constant := 8;
SA_SIGINFO : constant := 16#40#;
SA_ONSTACK : constant := 16#01#;
function sigaction
(sig : Signal;
act : struct_sigaction_ptr;
oact : struct_sigaction_ptr) return int;
pragma Import (C, sigaction);
----------
-- Time --
----------
type timespec is private;
function nanosleep (rqtp, rmtp : access timespec) return int;
pragma Import (C, nanosleep);
type clockid_t is new int;
function clock_gettime
(clock_id : clockid_t;
tp : access timespec) return int;
pragma Import (C, clock_gettime);
function To_Duration (TS : timespec) return Duration;
pragma Inline (To_Duration);
function To_Timespec (D : Duration) return timespec;
pragma Inline (To_Timespec);
type struct_timezone is record
tz_minuteswest : int;
tz_dsttime : int;
end record;
pragma Convention (C, struct_timezone);
-------------------------
-- Priority Scheduling --
-------------------------
SCHED_FIFO : constant := 1;
SCHED_RR : constant := 2;
SCHED_OTHER : constant := 3;
SCHED_LFI : constant := 5;
-------------
-- Process --
-------------
type pid_t is private;
function kill (pid : pid_t; sig : Signal) return int;
pragma Import (C, kill);
function getpid return pid_t;
pragma Import (C, getpid);
BIND_NO_INHERIT : constant := 1;
function bind_to_cpu
(pid : pid_t;
cpu_mask : unsigned_long;
flag : unsigned_long := BIND_NO_INHERIT) return int;
pragma Import (C, bind_to_cpu);
-------------
-- Threads --
-------------
type Thread_Body is access
function (arg : System.Address) return System.Address;
pragma Convention (C, Thread_Body);
function Thread_Body_Access is new
Ada.Unchecked_Conversion (System.Address, Thread_Body);
type pthread_t is private;
subtype Thread_Id is pthread_t;
type pthread_mutex_t is limited private;
type pthread_cond_t is limited private;
type pthread_attr_t is limited private;
type pthread_mutexattr_t is limited private;
type pthread_condattr_t is limited private;
type pthread_key_t is private;
PTHREAD_CREATE_DETACHED : constant := 1;
PTHREAD_SCOPE_PROCESS : constant := 0;
PTHREAD_SCOPE_SYSTEM : constant := 1;
PTHREAD_EXPLICIT_SCHED : constant := 1;
-----------
-- Stack --
-----------
Stack_Base_Available : constant Boolean := False;
-- Indicates if the stack base is available on this target
function Get_Stack_Base (thread : pthread_t) return Address;
pragma Inline (Get_Stack_Base);
-- Returns the stack base of the specified thread. Only call this function
-- when Stack_Base_Available is True.
function Get_Page_Size return size_t;
function Get_Page_Size return Address;
pragma Import (C, Get_Page_Size, "getpagesize");
-- Returns the size of a page
PROT_NONE : constant := 0;
PROT_READ : constant := 1;
PROT_WRITE : constant := 2;
PROT_EXEC : constant := 4;
PROT_ALL : constant := PROT_READ + PROT_WRITE + PROT_EXEC;
PROT_ON : constant := PROT_READ;
PROT_OFF : constant := PROT_ALL;
function mprotect (addr : Address; len : size_t; prot : int) return int;
pragma Import (C, mprotect);
procedure Hide_Unhide_Yellow_Zone (Hide : Boolean);
-- Every thread except the initial one features an overflow warning area
-- (called the Yellow Zone) which is just above the overflow guard area
-- on the stack (called the Red Zone). During task execution, we want
-- signals from the Red Zone, so we need to hide the Yellow Zone. This
-- procedure is called at the start of task execution (with Hide set True)
-- to hide the Yellow Zone, and at the end of task execution (with Hide
-- set False) to unhide the Yellow Zone.
---------------------------------------
-- Nonstandard Thread Initialization --
---------------------------------------
procedure pthread_init;
pragma Inline (pthread_init);
-- This is a dummy procedure to share some GNULLI files
-------------------------
-- POSIX.1c Section 3 --
-------------------------
function sigwait
(set : access sigset_t;
sig : access Signal) return int;
pragma Import (C, sigwait, "__sigwaitd10");
function pthread_kill
(thread : pthread_t;
sig : Signal) return int;
pragma Import (C, pthread_kill);
function pthread_sigmask
(how : int;
set : access sigset_t;
oset : access sigset_t) return int;
pragma Import (C, pthread_sigmask);
--------------------------
-- POSIX.1c Section 11 --
--------------------------
function pthread_mutexattr_init (attr : access pthread_mutexattr_t)
return int;
pragma Import (C, pthread_mutexattr_init);
function pthread_mutexattr_destroy
(attr : access pthread_mutexattr_t) return int;
pragma Import (C, pthread_mutexattr_destroy);
function pthread_mutex_init
(mutex : access pthread_mutex_t;
attr : access pthread_mutexattr_t) return int;
pragma Import (C, pthread_mutex_init, "__pthread_mutex_init");
function pthread_mutex_destroy (mutex : access pthread_mutex_t) return int;
pragma Import (C, pthread_mutex_destroy, "__pthread_mutex_destroy");
function pthread_mutex_lock (mutex : access pthread_mutex_t) return int;
pragma Import (C, pthread_mutex_lock, "__pthread_mutex_lock");
function pthread_mutex_unlock (mutex : access pthread_mutex_t) return int;
pragma Import (C, pthread_mutex_unlock, "__pthread_mutex_unlock");
function pthread_condattr_init
(attr : access pthread_condattr_t) return int;
pragma Import (C, pthread_condattr_init);
function pthread_condattr_destroy
(attr : access pthread_condattr_t) return int;
pragma Import (C, pthread_condattr_destroy);
function pthread_cond_init
(cond : access pthread_cond_t;
attr : access pthread_condattr_t) return int;
pragma Import (C, pthread_cond_init, "__pthread_cond_init");
function pthread_cond_destroy (cond : access pthread_cond_t) return int;
pragma Import (C, pthread_cond_destroy, "__pthread_cond_destroy");
function pthread_cond_signal (cond : access pthread_cond_t) return int;
pragma Import (C, pthread_cond_signal, "__pthread_cond_signal");
function pthread_cond_wait
(cond : access pthread_cond_t;
mutex : access pthread_mutex_t) return int;
pragma Import (C, pthread_cond_wait, "__pthread_cond_wait");
function pthread_cond_timedwait
(cond : access pthread_cond_t;
mutex : access pthread_mutex_t;
abstime : access timespec) return int;
pragma Import (C, pthread_cond_timedwait, "__pthread_cond_timedwait");
--------------------------
-- POSIX.1c Section 13 --
--------------------------
function pthread_mutexattr_setprotocol
(attr : access pthread_mutexattr_t;
protocol : int) return int;
pragma Import (C, pthread_mutexattr_setprotocol);
function pthread_mutexattr_setprioceiling
(attr : access pthread_mutexattr_t;
prioceiling : int) return int;
pragma Import (C, pthread_mutexattr_setprioceiling);
type struct_sched_param is record
sched_priority : int; -- scheduling priority
end record;
function pthread_setschedparam
(thread : pthread_t;
policy : int;
param : access struct_sched_param) return int;
pragma Import (C, pthread_setschedparam);
function pthread_attr_setscope
(attr : access pthread_attr_t;
contentionscope : int) return int;
pragma Import (C, pthread_attr_setscope);
function pthread_attr_setinheritsched
(attr : access pthread_attr_t;
inheritsched : int) return int;
pragma Import (C, pthread_attr_setinheritsched,
"__pthread_attr_setinheritsched");
function pthread_attr_setschedpolicy
(attr : access pthread_attr_t; policy : int) return int;
pragma Import (C, pthread_attr_setschedpolicy);
function pthread_attr_setschedparam
(attr : access pthread_attr_t;
sched_param : access struct_sched_param) return int;
pragma Import (C, pthread_attr_setschedparam);
function sched_yield return int;
pragma Import (C, sched_yield);
--------------------------
-- P1003.1c Section 16 --
--------------------------
function pthread_attr_init (attributes : access pthread_attr_t)
return int;
pragma Import (C, pthread_attr_init);
function pthread_attr_destroy (attributes : access pthread_attr_t)
return int;
pragma Import (C, pthread_attr_destroy);
function pthread_attr_setdetachstate
(attr : access pthread_attr_t;
detachstate : int) return int;
pragma Import (C, pthread_attr_setdetachstate);
function pthread_attr_setstacksize
(attr : access pthread_attr_t;
stacksize : size_t) return int;
pragma Import (C, pthread_attr_setstacksize, "__pthread_attr_setstacksize");
function pthread_create
(thread : access pthread_t;
attributes : access pthread_attr_t;
start_routine : Thread_Body;
arg : System.Address) return int;
pragma Import (C, pthread_create, "__pthread_create");
procedure pthread_exit (status : System.Address);
pragma Import (C, pthread_exit, "__pthread_exit");
function pthread_self return pthread_t;
pragma Inline (pthread_self);
--------------------------
-- POSIX.1c Section 17 --
--------------------------
function pthread_setspecific
(key : pthread_key_t; value : System.Address) return int;
pragma Import (C, pthread_setspecific, "__pthread_setspecific");
function pthread_getspecific (key : pthread_key_t) return System.Address;
pragma Import (C, pthread_getspecific, "__pthread_getspecific");
type destructor_pointer is access procedure (arg : System.Address);
pragma Convention (C, destructor_pointer);
function pthread_key_create
(key : access pthread_key_t;
destructor : destructor_pointer) return int;
pragma Import (C, pthread_key_create);
private
type sigset_t is new unsigned_long;
type pid_t is new int;
type time_t is new int;
type timespec is record
tv_sec : time_t;
tv_nsec : long;
end record;
pragma Convention (C, timespec);
type unsigned_long_array is array (Natural range <>) of unsigned_long;
type pthread_t is new System.Address;
type pthread_teb_t is record
reserved1 : System.Address;
reserved2 : System.Address;
size : unsigned_short;
version : unsigned_char;
reserved3 : unsigned_char;
external : unsigned_char;
reserved4 : char_array (0 .. 1);
creator : unsigned_char;
sequence : unsigned_long;
reserved5 : unsigned_long_array (0 .. 1);
per_kt_area : System.Address;
stack_base : System.Address;
stack_reserve : System.Address;
stack_yellow : System.Address;
stack_guard : System.Address;
stack_size : unsigned_long;
tsd_values : System.Address;
tsd_count : unsigned_long;
reserved6 : unsigned;
reserved7 : unsigned;
thread_flags : unsigned;
thd_errno : int;
stack_hiwater : System.Address;
home_rad : unsigned_long;
end record;
pragma Convention (C, pthread_teb_t);
type pthread_cond_t is record
state : unsigned;
valid : unsigned;
name : System.Address;
arg : unsigned;
reserved1 : unsigned;
sequence : unsigned_long;
block : System.Address;
end record;
pragma Convention (C, pthread_cond_t);
type pthread_attr_t is record
valid : long;
name : System.Address;
arg : unsigned_long;
reserved : unsigned_long_array (0 .. 18);
end record;
pragma Convention (C, pthread_attr_t);
type pthread_mutex_t is record
lock : unsigned;
valid : unsigned;
name : System.Address;
arg : unsigned;
depth : unsigned;
sequence : unsigned_long;
owner : unsigned_long;
block : System.Address;
end record;
for pthread_mutex_t'Size use 8 * 48;
pragma Convention (C, pthread_mutex_t);
type pthread_mutexattr_t is record
valid : long;
reserved : unsigned_long_array (0 .. 14);
end record;
pragma Convention (C, pthread_mutexattr_t);
type pthread_condattr_t is record
valid : long;
reserved : unsigned_long_array (0 .. 12);
end record;
pragma Convention (C, pthread_condattr_t);
type pthread_key_t is new unsigned;
end System.OS_Interface;

File diff suppressed because it is too large Load Diff

View File

@ -1,110 +0,0 @@
------------------------------------------------------------------------------
-- --
-- GNAT COMPILER COMPONENTS --
-- --
-- S Y S T E M . T A S K _ I N F O --
-- --
-- S p e c --
-- (Compiler Interface) --
-- --
-- Copyright (C) 1998-2009, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- ware Foundation; either version 3, or (at your option) any later ver- --
-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-- or FITNESS FOR A PARTICULAR PURPOSE. --
-- --
-- As a special exception under Section 7 of GPL version 3, you are granted --
-- additional permissions described in the GCC Runtime Library Exception, --
-- version 3.1, as published by the Free Software Foundation. --
-- --
-- You should have received a copy of the GNU General Public License and --
-- a copy of the GCC Runtime Library Exception along with this program; --
-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-- <http://www.gnu.org/licenses/>. --
-- --
-- GNAT was originally developed by the GNAT team at New York University. --
-- Extensive contributions were provided by Ada Core Technologies Inc. --
-- --
------------------------------------------------------------------------------
-- This package contains the definitions and routines associated with the
-- implementation and use of the Task_Info pragma. It is specialized
-- appropriately for targets that make use of this pragma.
-- Note: the compiler generates direct calls to this interface, via Rtsfind.
-- Any changes to this interface may require corresponding compiler changes.
-- This unit may be used directly from an application program by providing
-- an appropriate WITH, and the interface can be expected to remain stable.
-- This is a DEC Unix 4.0d version of this package
package System.Task_Info is
pragma Preelaborate;
pragma Elaborate_Body;
-- To ensure that a body is allowed
-----------------------------------------
-- Implementation of Task_Info Feature --
-----------------------------------------
-- The Task_Info pragma:
-- pragma Task_Info (EXPRESSION);
-- allows the specification on a task by task basis of a value of type
-- System.Task_Info.Task_Info_Type to be passed to a task when it is
-- created. The specification of this type, and the effect on the task
-- that is created is target dependent.
-- The Task_Info pragma appears within a task definition (compare the
-- definition and implementation of pragma Priority). If no such pragma
-- appears, then the value Unspecified_Task_Info is passed. If a pragma
-- is present, then it supplies an alternative value. If the argument of
-- the pragma is a discriminant reference, then the value can be set on
-- a task by task basis by supplying the appropriate discriminant value.
-- Note that this means that the type used for Task_Info_Type must be
-- suitable for use as a discriminant (i.e. a scalar or access type).
------------------
-- Declarations --
------------------
type Scope_Type is
(Process_Scope,
-- Contend only with threads in same process
System_Scope,
-- Contend with all threads on same CPU
Default_Scope);
type Thread_Attributes is record
Bind_To_Cpu_Number : Integer;
-- -1: Do nothing
-- 0: Unbind
-- 1-N: Bind all unbound threads to this CPU
Contention_Scope : Scope_Type;
end record;
type Task_Info_Type is access all Thread_Attributes;
-- Type used for passing information to task create call, using the
-- Task_Info pragma. This type may be specialized for individual
-- implementations, but it must be a type that can be used as a
-- discriminant (i.e. a scalar or access type).
Unspecified_Thread_Attribute : aliased Thread_Attributes :=
Thread_Attributes'(-1, Default_Scope);
Unspecified_Task_Info : constant Task_Info_Type :=
Unspecified_Thread_Attribute'Access;
-- Value passed to task in the absence of a Task_Info pragma
-- Don't call new here because the tasking run time has not been
-- elaborated yet, so calling Task_Lock is unsafe.
end System.Task_Info;

View File

@ -1,119 +0,0 @@
------------------------------------------------------------------------------
-- --
-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS --
-- --
-- S Y S T E M . T A S K _ P R I M I T I V E S --
-- --
-- S p e c --
-- --
-- Copyright (C) 1991-2011, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- ware Foundation; either version 3, or (at your option) any later ver- --
-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-- or FITNESS FOR A PARTICULAR PURPOSE. --
-- --
-- As a special exception under Section 7 of GPL version 3, you are granted --
-- additional permissions described in the GCC Runtime Library Exception, --
-- version 3.1, as published by the Free Software Foundation. --
-- --
-- You should have received a copy of the GNU General Public License and --
-- a copy of the GCC Runtime Library Exception along with this program; --
-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-- <http://www.gnu.org/licenses/>. --
-- --
-- GNARL was developed by the GNARL team at Florida State University. --
-- Extensive contributions were provided by Ada Core Technologies, Inc. --
-- --
------------------------------------------------------------------------------
-- This is the DEC Unix 4.0 version of this package
-- This package provides low-level support for most tasking features
pragma Polling (Off);
-- Turn off polling, we do not want ATC polling to take place during tasking
-- operations. It causes infinite loops and other problems.
with Interfaces.C;
with System.OS_Interface;
package System.Task_Primitives is
pragma Preelaborate;
type Lock is limited private;
-- Should be used for implementation of protected objects
type RTS_Lock is limited private;
-- Should be used inside the runtime system. The difference between Lock
-- and the RTS_Lock is that the later one serves only as a semaphore so
-- that do not check for ceiling violations.
type Suspension_Object is limited private;
-- Should be used for the implementation of Ada.Synchronous_Task_Control
type Task_Body_Access is access procedure;
-- Pointer to the task body's entry point (or possibly a wrapper
-- declared local to the GNARL).
type Private_Data is limited private;
-- Any information that the GNULLI needs maintained on a per-task basis.
-- A component of this type is guaranteed to be included
subtype Task_Address is System.Address;
-- In some versions of Task_Primitives, notably for VMS, Task_Address is
-- the short version of address defined in System.Aux_DEC. To avoid
-- dragging Aux_DEC into tasking packages a tasking specific subtype is
-- defined here.
Task_Address_Size : constant := Standard'Address_Size;
-- The size of Task_Address
Alternate_Stack_Size : constant := 0;
-- No alternate signal stack is used on this platform
private
type Lock is record
L : aliased System.OS_Interface.pthread_mutex_t;
Ceiling : Interfaces.C.int;
end record;
type RTS_Lock is new System.OS_Interface.pthread_mutex_t;
type Suspension_Object is record
State : Boolean;
pragma Atomic (State);
-- Boolean that indicates whether the object is open. This field is
-- marked Atomic to ensure that we can read its value without locking
-- the access to the Suspension_Object.
Waiting : Boolean;
-- Flag showing if there is a task already suspended on this object
L : aliased System.OS_Interface.pthread_mutex_t;
-- Protection for ensuring mutual exclusion on the Suspension_Object
CV : aliased System.OS_Interface.pthread_cond_t;
-- Condition variable used to queue threads until the is signaled
end record;
type Private_Data is record
Thread : aliased System.OS_Interface.pthread_t;
pragma Atomic (Thread);
-- Thread field may be updated by two different threads of control.
-- (See, Enter_Task and Create_Task in s-taprop.adb). They put the same
-- value (thr_self value). We do not want to use lock on those
-- operations and the only thing we have to make sure is that they are
-- updated in atomic fashion.
CV : aliased System.OS_Interface.pthread_cond_t;
L : aliased RTS_Lock;
-- Protection for all components is lock L
end record;
end System.Task_Primitives;

View File

@ -252,7 +252,7 @@ __gnat_ttyname (int filedes)
#endif
#if defined (linux) || defined (sun) || defined (sgi) \
|| (defined (__osf__) && ! defined (__alpha_vxworks)) || defined (WINNT) \
|| ! defined (__alpha_vxworks) || defined (WINNT) \
|| defined (__MACHTEN__) || defined (__hpux__) || defined (_AIX) \
|| (defined (__svr4__) && defined (i386)) || defined (__Lynx__) \
|| defined (__CYGWIN__) || defined (__FreeBSD__) || defined (__OpenBSD__) \
@ -310,7 +310,7 @@ getc_immediate_common (FILE *stream,
int waiting)
{
#if defined (linux) || defined (sun) || defined (sgi) \
|| (defined (__osf__) && ! defined (__alpha_vxworks)) \
|| ! defined (__alpha_vxworks) \
|| defined (__CYGWIN32__) || defined (__MACHTEN__) || defined (__hpux__) \
|| defined (_AIX) || (defined (__svr4__) && defined (i386)) \
|| defined (__Lynx__) || defined (__FreeBSD__) || defined (__OpenBSD__) \
@ -331,7 +331,7 @@ getc_immediate_common (FILE *stream,
termios_rec.c_lflag = termios_rec.c_lflag & ~ICANON & ~ECHO;
#if defined(linux) || defined (sun) || defined (sgi) \
|| defined (__osf__) || defined (__MACHTEN__) || defined (__hpux__) \
|| defined (__MACHTEN__) || defined (__hpux__) \
|| defined (_AIX) || (defined (__svr4__) && defined (i386)) \
|| defined (__Lynx__) || defined (__FreeBSD__) || defined (__OpenBSD__) \
|| defined (__GLIBC__) || defined (__APPLE__)
@ -842,11 +842,11 @@ __gnat_localtime_tzoff (const time_t *timer, const int *is_historic, long *off)
(*Unlock_Task) ();
}
/* Darwin, Free BSD, Linux, Tru64, where component tm_gmtoff is present in
/* Darwin, Free BSD, Linux, where component tm_gmtoff is present in
struct tm */
#elif defined (__APPLE__) || defined (__FreeBSD__) || defined (linux) ||\
(defined (__alpha__) && defined (__osf__)) || defined (__GLIBC__)
defined (__GLIBC__)
{
localtime_r (timer, &tp);
*off = tp.tm_gmtoff;

View File

@ -1,214 +0,0 @@
------------------------------------------------------------------------------
-- --
-- GNAT RUN-TIME COMPONENTS --
-- --
-- S Y S T E M --
-- --
-- S p e c --
-- (DEC Unix Version) --
-- --
-- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
-- apply solely to the contents of the part following the private keyword. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- ware Foundation; either version 3, or (at your option) any later ver- --
-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-- or FITNESS FOR A PARTICULAR PURPOSE. --
-- --
-- As a special exception under Section 7 of GPL version 3, you are granted --
-- additional permissions described in the GCC Runtime Library Exception, --
-- version 3.1, as published by the Free Software Foundation. --
-- --
-- You should have received a copy of the GNU General Public License and --
-- a copy of the GCC Runtime Library Exception along with this program; --
-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-- <http://www.gnu.org/licenses/>. --
-- --
-- GNAT was originally developed by the GNAT team at New York University. --
-- Extensive contributions were provided by Ada Core Technologies Inc. --
-- --
------------------------------------------------------------------------------
package System is
pragma Pure;
-- Note that we take advantage of the implementation permission to make
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
-- System-Dependent Named Numbers
Min_Int : constant := Long_Long_Integer'First;
Max_Int : constant := Long_Long_Integer'Last;
Max_Binary_Modulus : constant := 2 ** Long_Long_Integer'Size;
Max_Nonbinary_Modulus : constant := 2 ** Integer'Size - 1;
Max_Base_Digits : constant := Long_Long_Float'Digits;
Max_Digits : constant := Long_Long_Float'Digits;
Max_Mantissa : constant := 63;
Fine_Delta : constant := 2.0 ** (-Max_Mantissa);
Tick : constant := 1.0 / 1024.0;
-- Storage-related Declarations
type Address is private;
pragma Preelaborable_Initialization (Address);
Null_Address : constant Address;
Storage_Unit : constant := 8;
Word_Size : constant := 64;
Memory_Size : constant := 2 ** 64;
-- Address comparison
function "<" (Left, Right : Address) return Boolean;
function "<=" (Left, Right : Address) return Boolean;
function ">" (Left, Right : Address) return Boolean;
function ">=" (Left, Right : Address) return Boolean;
function "=" (Left, Right : Address) return Boolean;
pragma Import (Intrinsic, "<");
pragma Import (Intrinsic, "<=");
pragma Import (Intrinsic, ">");
pragma Import (Intrinsic, ">=");
pragma Import (Intrinsic, "=");
-- Other System-Dependent Declarations
type Bit_Order is (High_Order_First, Low_Order_First);
Default_Bit_Order : constant Bit_Order := Low_Order_First;
pragma Warnings (Off, Default_Bit_Order); -- kill constant condition warning
-- Priority-related Declarations (RM D.1)
Max_Priority : constant Positive := 60;
Max_Interrupt_Priority : constant Positive := 63;
subtype Any_Priority is Integer range 0 .. 63;
subtype Priority is Any_Priority range 0 .. 60;
subtype Interrupt_Priority is Any_Priority range 61 .. 63;
Default_Priority : constant Priority := 30;
private
type Address is mod Memory_Size;
Null_Address : constant Address := 0;
--------------------------------------
-- System Implementation Parameters --
--------------------------------------
-- These parameters provide information about the target that is used
-- by the compiler. They are in the private part of System, where they
-- can be accessed using the special circuitry in the Targparm unit
-- whose source should be consulted for more detailed descriptions
-- of the individual switch values.
Backend_Divide_Checks : constant Boolean := False;
Backend_Overflow_Checks : constant Boolean := True;
Command_Line_Args : constant Boolean := True;
Configurable_Run_Time : constant Boolean := False;
Denorm : constant Boolean := False;
Duration_32_Bits : constant Boolean := False;
Exit_Status_Supported : constant Boolean := True;
Fractional_Fixed_Ops : constant Boolean := False;
Frontend_Layout : constant Boolean := False;
Machine_Overflows : constant Boolean := False;
Machine_Rounds : constant Boolean := True;
Preallocated_Stacks : constant Boolean := False;
Signed_Zeros : constant Boolean := True;
Stack_Check_Default : constant Boolean := True;
Stack_Check_Probes : constant Boolean := True;
Stack_Check_Limits : constant Boolean := False;
Support_Aggregates : constant Boolean := True;
Support_Composite_Assign : constant Boolean := True;
Support_Composite_Compare : constant Boolean := True;
Support_Long_Shifts : constant Boolean := True;
Always_Compatible_Rep : constant Boolean := True;
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := True;
-- Note: Denorm is False because denormals are only handled properly
-- if the -mieee switch is set, and we do not require this usage.
---------------------------
-- Underlying Priorities --
---------------------------
-- Important note: this section of the file must come AFTER the
-- definition of the system implementation parameters to ensure
-- that the value of these parameters is available for analysis
-- of the declarations here (using Rtsfind at compile time).
-- The underlying priorities table provides a generalized mechanism
-- for mapping from Ada priorities to system priorities. In some
-- cases a 1-1 mapping is not the convenient or optimal choice.
-- For Dec Unix 4.0d, we use a default 1-to-1 mapping that provides
-- the full range of 64 priorities available from the operating system.
-- On DU prior to 4.0d, less than 64 priorities are available so there
-- are two possibilities:
-- Limit your range of priorities to the range provided by the
-- OS (e.g 16 .. 32 on 4.0b)
-- Replace the standard table as described below
-- To replace the default values of the Underlying_Priorities mapping,
-- copy this source file into your build directory, edit the file to
-- reflect your desired behavior, and recompile with the command:
-- $ gcc -c -O3 -gnatpgn system.ads
-- then recompile the run-time parts that depend on this package:
-- $ gnatmake -a -gnatn -O3 <your application>
-- then force rebuilding your application if you need different options:
-- $ gnatmake -f <your options> <your application>
type Priorities_Mapping is array (Any_Priority) of Integer;
pragma Suppress_Initialization (Priorities_Mapping);
-- Suppress initialization in case gnat.adc specifies Normalize_Scalars
Underlying_Priorities : constant Priorities_Mapping :=
(Priority'First => 0,
1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5,
6 => 6, 7 => 7, 8 => 8, 9 => 9, 10 => 10,
11 => 11, 12 => 12, 13 => 13, 14 => 14, 15 => 15,
16 => 16, 17 => 17, 18 => 18, 19 => 19, 20 => 20,
21 => 21, 22 => 22, 23 => 23, 24 => 24, 25 => 25,
26 => 26, 27 => 27, 28 => 28, 29 => 29,
Default_Priority => 30,
31 => 31, 32 => 32, 33 => 33, 34 => 34, 35 => 35,
36 => 36, 37 => 37, 38 => 38, 39 => 39, 40 => 40,
41 => 41, 42 => 42, 43 => 43, 44 => 44, 45 => 45,
46 => 46, 47 => 47, 48 => 48, 49 => 49, 50 => 50,
51 => 51, 52 => 52, 53 => 53, 54 => 54, 55 => 55,
56 => 56, 57 => 57, 58 => 58, 59 => 59,
Priority'Last => 60,
61 => 61, 62 => 62,
Interrupt_Priority'Last => 63);
end System;

View File

@ -6,7 +6,7 @@
* *
* C Implementation File *
* *
* Copyright (C) 2008-2011, AdaCore *
* Copyright (C) 2008-2012, AdaCore *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
@ -976,9 +976,6 @@ __gnat_setup_winsize (void *desc, int rows, int columns)
|| defined (__DragonFly__)
# define FREEBSD
#endif
#if defined (__alpha__) && defined (__osf__)
# define OSF1
#endif
#if defined (__mips) && defined (__sgi)
# define IRIX
#endif
@ -1048,18 +1045,6 @@ __gnat_setup_winsize (void *desc, int rows, int columns)
#define USE_CLONE_DEVICE "/dev/ptmx"
#elif defined (_AIX)
#define USE_CLONE_DEVICE "/dev/ptc"
#elif defined (OSF1)
/* On Tru64, the systems offers various interfaces to open a terminal:
- /dev/ptmx: this the system V driver (stream based),
- /dev/ptmx_bsd: the non stream based clone device,
- the openpty function which use BSD interface.
Using directly /dev/ptmx_bsd on Tru64 5.1B seems to consume all the
available slave ptys (why ?). When using openpty it seems that the function
handles the creation of entries in /dev/pts when necessary and so avoid this
starvation issue. The pty man entry suggests also to use openpty.
*/
#define USE_OPENPTY
#elif defined (__hpux__)
/* On HP-UX we use the streamed version. Using the non streamed version is not
recommanded (through "/dev/ptym/clone"). Indeed it seems that there are

View File

@ -1,3 +1,10 @@
2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* 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.
2012-03-12 Richard Guenther <rguenther@suse.de>
* c-common.c (c_common_get_narrower): Use c_common_type_for_size.

View File

@ -1,6 +1,6 @@
/* Define builtin-in macros for the C family front ends.
Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
@ -886,9 +886,6 @@ c_cpp_builtins (cpp_reader *pfile)
/* Show the availability of some target pragmas. */
cpp_define (pfile, "__PRAGMA_REDEFINE_EXTNAME");
if (targetm.handle_pragma_extern_prefix)
cpp_define (pfile, "__PRAGMA_EXTERN_PREFIX");
/* Make the choice of the stack protector runtime visible to source code.
The macro names and values here were chosen for compatibility with an
earlier implementation, i.e. ProPolice. */

View File

@ -1,6 +1,6 @@
/* Handle #pragma, system V.4 style. Supports #pragma weak and #pragma pack.
Copyright (C) 1992, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
2006, 2007, 2008, 2009, 2010, 2012 Free Software Foundation, Inc.
This file is part of GCC.
@ -371,7 +371,7 @@ handle_pragma_weak (cpp_reader * ARG_UNUSED (dummy))
/* GCC supports two #pragma directives for renaming the external
symbol associated with a declaration (DECL_ASSEMBLER_NAME), for
compatibility with the Solaris and Tru64 system headers. GCC also
compatibility with the Solaris and VMS system headers. GCC also
has its own notation for this, __asm__("name") annotations.
Corner cases of these features and their interaction:
@ -497,27 +497,6 @@ add_to_renaming_pragma_list (tree oldname, tree newname)
/* The current prefix set by #pragma extern_prefix. */
GTY(()) tree pragma_extern_prefix;
/* #pragma extern_prefix "prefix" */
static void
handle_pragma_extern_prefix (cpp_reader * ARG_UNUSED (dummy))
{
tree prefix, x;
enum cpp_ttype t;
if (pragma_lex (&prefix) != CPP_STRING)
GCC_BAD ("malformed #pragma extern_prefix, ignored");
t = pragma_lex (&x);
if (t != CPP_EOF)
warning (OPT_Wpragmas, "junk at end of %<#pragma extern_prefix%>");
if (targetm.handle_pragma_extern_prefix)
/* Note that the length includes the null terminator. */
pragma_extern_prefix = (TREE_STRING_LENGTH (prefix) > 1 ? prefix : NULL);
else if (warn_unknown_pragmas > in_system_header)
warning (OPT_Wunknown_pragmas,
"#pragma extern_prefix not supported on this target");
}
/* Hook from the front ends to apply the results of one of the preceding
pragmas that rename variables. */
@ -1396,7 +1375,6 @@ init_pragma (void)
c_register_pragma_with_expansion (0, "redefine_extname",
handle_pragma_redefine_extname);
c_register_pragma (0, "extern_prefix", handle_pragma_extern_prefix);
c_register_pragma_with_expansion (0, "message", handle_pragma_message);

View File

@ -246,8 +246,7 @@ case ${target} in
arm*-*-*eabi* \
)
;;
alpha*-dec-osf5.1* \
| arm*-*-ecos-elf \
arm*-*-ecos-elf \
| arm*-*-elf \
| arm*-*-freebsd* \
| arm*-*-linux* \
@ -788,30 +787,6 @@ alpha*-*-openbsd*)
# default x-alpha is only appropriate for dec-osf.
target_cpu_default="MASK_GAS"
;;
alpha*-dec-osf5.1*)
if test x$stabs = xyes
then
tm_file="${tm_file} dbx.h"
fi
# mips-tfile and mips-tdump are only used with the native assembler
# and require the Tru64 UNIX <a.out.h>, so only build native.
if test x$gas != xyes && test x${host} = x${target}
then
extra_passes="mips-tfile mips-tdump"
fi
use_collect2=yes
tmake_file="t-slibgcc"
tm_file="${tm_file} alpha/osf5.h"
tm_defines="${tm_defines} TARGET_SUPPORT_ARCH=1"
extra_options="${extra_options} rpath.opt alpha/osf5.opt"
extra_headers=va_list.h
use_gcc_stdint=provide
case ${enable_threads} in
"" | yes | posix)
thread_file='posix'
;;
esac
;;
alpha*-dec-*vms*)
tm_file="${tm_file} vms/vms.h alpha/vms.h"
tmake_file="${tmake_file} alpha/t-vms"

View File

@ -1,6 +1,6 @@
# GCC host-specific configuration file.
# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2006, 2007, 2008, 2009,
# 2010, 2011 Free Software Foundation, Inc.
# 2010, 2011, 2012 Free Software Foundation, Inc.
#This file is part of GCC.
@ -108,9 +108,9 @@ case ${host} in
;;
esac
;;
alpha*-*-linux* | alpha*-dec-osf*)
alpha*-*-linux*)
case ${target} in
alpha*-*-linux* | alpha*-dec-osf*)
alpha*-*-linux*)
host_extra_gcc_objs="driver-alpha.o"
host_xmake_file="${host_xmake_file} alpha/x-alpha"
;;
@ -193,10 +193,6 @@ case ${host} in
prefix=/gnu
local_prefix=/gnu/local
;;
alpha*-dec-osf*)
out_host_hook_obj=host-osf.o
host_xmake_file="${host_xmake_file} alpha/x-osf"
;;
alpha*-dec-*vms*)
host_xm_file="vms/xm-vms.h"
host_xmake_file=vms/x-vms

View File

@ -1,6 +1,6 @@
/* Subroutines used for code generation on the DEC Alpha.
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
@ -4673,7 +4673,7 @@ struct GTY(()) machine_function
/* For OSF. */
const char *some_ld_name;
/* For TARGET_LD_BUGGY_LDGP. */
/* For flag_reorder_blocks_and_partition. */
rtx gp_save_rtx;
/* For VMS condition handlers. */
@ -7859,10 +7859,8 @@ alpha_start_function (FILE *file, const char *fnname,
HOST_WIDE_INT sa_size;
/* Complete stack size needed. */
unsigned HOST_WIDE_INT frame_size;
/* The maximum debuggable frame size (512 Kbytes using Tru64 as). */
unsigned HOST_WIDE_INT max_frame_size = TARGET_ABI_OSF && !TARGET_GAS
? 524288
: 1UL << 31;
/* The maximum debuggable frame size. */
unsigned HOST_WIDE_INT max_frame_size = 1UL << 31;
/* Offset from base reg to register save area. */
HOST_WIDE_INT reg_offset;
char *entry_label = (char *) alloca (strlen (fnname) + 6);

View File

@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler, for DEC Alpha.
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2001, 2002, 2004, 2005, 2007, 2008, 2009, 2010, 2011
2000, 2001, 2002, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
@ -161,9 +161,6 @@ extern enum alpha_fp_trap_mode alpha_fptm;
#ifndef TARGET_PROFILING_NEEDS_GP
#define TARGET_PROFILING_NEEDS_GP 0
#endif
#ifndef TARGET_LD_BUGGY_LDGP
#define TARGET_LD_BUGGY_LDGP 0
#endif
#ifndef TARGET_FIXUP_EV5_PREFETCH
#define TARGET_FIXUP_EV5_PREFETCH 0
#endif

View File

@ -1,6 +1,6 @@
;; Machine description for DEC Alpha for GNU C compiler
;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
;; 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011
;; 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012
;; Free Software Foundation, Inc.
;; Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
;;
@ -5869,13 +5869,13 @@
;; calculation, a jump to original landing pad is emitted in the place of the
;; original landing pad. Since landing pad is moved, RA-relative GP
;; calculation in the prologue of landing pad breaks. To solve this problem,
;; we use alternative GP load approach, as in the case of TARGET_LD_BUGGY_LDGP.
;; we use alternative GP load approach.
(define_expand "exception_receiver"
[(unspec_volatile [(match_dup 0)] UNSPECV_EHR)]
"TARGET_ABI_OSF"
{
if (TARGET_LD_BUGGY_LDGP || flag_reorder_blocks_and_partition)
if (flag_reorder_blocks_and_partition)
operands[0] = alpha_gp_save_rtx ();
else
operands[0] = const0_rtx;
@ -5883,8 +5883,7 @@
(define_insn "*exception_receiver_2"
[(unspec_volatile [(match_operand:DI 0 "memory_operand" "m")] UNSPECV_EHR)]
"TARGET_ABI_OSF
&& (TARGET_LD_BUGGY_LDGP || flag_reorder_blocks_and_partition)"
"TARGET_ABI_OSF && flag_reorder_blocks_and_partition"
"ldq $29,%0"
[(set_attr "type" "ild")])

View File

@ -1,147 +0,0 @@
/* Tru64 UNIX host-specific hook definitions.
Copyright (C) 2011 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
by the Free Software Foundation; either version 3, or (at your
option) any later version.
GCC is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include <sys/mman.h>
/* Inhibit inclusion of <sys/mount.h>, unnecessary and errors out due to
use of poisoned bcmp, bcopy. */
#define _SYS_MOUNT_H_
#include <sys/procfs.h>
#include "hosthooks.h"
#include "hosthooks-def.h"
#undef HOST_HOOKS_GT_PCH_GET_ADDRESS
#define HOST_HOOKS_GT_PCH_GET_ADDRESS osf_gt_pch_get_address
#undef HOST_HOOKS_GT_PCH_USE_ADDRESS
#define HOST_HOOKS_GT_PCH_USE_ADDRESS osf_gt_pch_use_address
/* The mmap ADDR parameter may be ignored without MAP_FIXED set. Before we
give up, check existing mappings with ioctl(PIOCMAP) to see if the space
is really free. */
static void *
mmap_fixed (void *addr, size_t len, int prot, int flags, int fd, off_t off)
{
void *base;
base = mmap ((caddr_t) addr, len, prot, flags, fd, off);
if (base != addr)
{
/* PID_MAX is SHRT_MAX on Tru64 UNIX V4.0, but INT_MAX on V5.1.
Allow for both. "/proc/" + INT_MAX + '\0'. */
char pname[6+10+1];
int procfd, nmap;
prmap_t *pmap;
int i, overlap = 0;
if (base != (void *) MAP_FAILED)
munmap ((caddr_t) base, len);
/* Check if there's any mapping overlapping [addr, addr+len). */
snprintf (pname, sizeof (pname), "/proc/%d", getpid ());
procfd = open (pname, O_RDONLY);
if (procfd == -1)
return ((void *) MAP_FAILED);
if (ioctl (procfd, PIOCNMAP, &nmap) == -1)
return ((void *) MAP_FAILED);
pmap = (prmap_t *) xmalloc (sizeof (*pmap) * (nmap+1));
if (ioctl (procfd, PIOCMAP, pmap) == -1)
return ((void *) MAP_FAILED);
/* It seems like pmap[] is sorted by address, but can we rely on
that? */
for (i = 0; i < nmap; i++)
{
uintptr_t map_start = (uintptr_t) pmap[i].pr_vaddr;
uintptr_t map_end = map_start + pmap[i].pr_size;
if ((uintptr_t) addr < map_end
&& (uintptr_t) addr+len > map_start)
{
overlap = 1;
break;
}
}
free (pmap);
close (procfd);
if (!overlap)
base = mmap ((caddr_t) addr, len, prot, flags | MAP_FIXED, fd, off);
else
base = mmap ((caddr_t) addr, len, prot, flags, fd, off);
}
return base;
}
/* For various ports, try to guess a fixed spot in the vm space that's
probably free. Take the middle between start of text segment and
dynamic loader space. See <sys/machine/addrconf.h> and Tru64 UNIX
Assembly Language Programmer's Guide, p.6-18, Figure 6-3: Default Layout
of Memory (User Program View). */
#define TRY_EMPTY_VM_SPACE 0x20050000000
/* Determine a location where we might be able to reliably allocate
SIZE bytes. FD is the PCH file, though we should return with the
file unmapped. */
static void *
osf_gt_pch_get_address (size_t size, int fd)
{
void *addr;
addr = mmap_fixed ((caddr_t) TRY_EMPTY_VM_SPACE, size,
PROT_READ | PROT_WRITE, MAP_PRIVATE, fd, 0);
/* If we failed the map, that means there's *no* free space. */
if (addr == (void *) MAP_FAILED)
return NULL;
/* Unmap the area before returning. */
munmap ((caddr_t) addr, size);
return addr;
}
/* Map SIZE bytes of FD+OFFSET at BASE. Return 1 if we succeeded at
mapping the data at BASE, -1 if we couldn't. */
static int
osf_gt_pch_use_address (void *base, size_t size, int fd, size_t offset)
{
void *addr;
/* We're called with size == 0 if we're not planning to load a PCH
file at all. This allows the hook to free any static space that
we might have allocated at link time. */
if (size == 0)
return -1;
addr = mmap_fixed ((caddr_t) base, size,
PROT_READ | PROT_WRITE, MAP_PRIVATE, fd, offset);
return addr == base ? 1 : -1;
}
const struct host_hooks host_hooks = HOST_HOOKS_INITIALIZER;

View File

@ -1,279 +0,0 @@
/* Definitions of target machine for GNU compiler, for DEC Alpha on
Tru64 UNIX V5.1.
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001,
2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011
Free Software Foundation, Inc.
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
/* As of DEC OSF/1 V4.0, as can subtract adjacent labels. */
#undef TARGET_AS_CAN_SUBTRACT_LABELS
#define TARGET_AS_CAN_SUBTRACT_LABELS 1
/* The GEM libraries for X_float are present, though not used by C. */
#undef TARGET_HAS_XFLOATING_LIBS
#define TARGET_HAS_XFLOATING_LIBS 1
/* Tru64 UNIX V5.1 uses IEEE QUAD format. */
#undef TARGET_DEFAULT
#define TARGET_DEFAULT (MASK_FPREGS | MASK_LONG_DOUBLE_128)
/* The linker appears to perform invalid code optimizations that result
in the ldgp emitted for the exception_receiver pattern being incorrectly
linked. */
#undef TARGET_LD_BUGGY_LDGP
#define TARGET_LD_BUGGY_LDGP 1
/* Tru64 UNIX V5.1 has the float and long double forms of math functions. */
#undef TARGET_C99_FUNCTIONS
#define TARGET_C99_FUNCTIONS 1
/* Names to predefine in the preprocessor for this target machine. */
#define TARGET_OS_CPP_BUILTINS() \
do { \
builtin_define_std ("unix"); \
builtin_define_std ("SYSTYPE_BSD"); \
builtin_define ("_SYSTYPE_BSD"); \
builtin_define ("__osf__"); \
builtin_define ("__digital__"); \
builtin_define ("__arch64__"); \
builtin_define ("_LONGLONG"); \
builtin_assert ("system=unix"); \
builtin_assert ("system=xpg4"); \
/* Tru64 UNIX V5 has a 16 byte long \
double type and requires __X_FLOAT \
to be defined for <math.h>. */ \
if (LONG_DOUBLE_TYPE_SIZE == 128) \
builtin_define ("__X_FLOAT"); \
\
/* Tru64 UNIX V4/V5 provide several ISO C94 \
features protected by the corresponding \
__STDC_VERSION__ macro. libstdc++ v3 \
needs them as well. */ \
if (c_dialect_cxx ()) \
builtin_define ("__STDC_VERSION__=199409L"); \
} while (0)
/* Accept DEC C flags for multithreaded programs. We use _PTHREAD_USE_D4
instead of PTHREAD_USE_D4 since both have the same effect and the former
doesn't invade the users' namespace. */
#undef CPP_SPEC
#define CPP_SPEC \
"%{pthread|threads:-D_REENTRANT} %{threads:-D_PTHREAD_USE_D4}"
/* -mcpu=native handling only makes sense with compiler running on
an Alpha chip. */
#if defined(__alpha__) || defined(__alpha)
extern const char *host_detect_local_cpu (int argc, const char **argv);
# define EXTRA_SPEC_FUNCTIONS \
{ "local_cpu_detect", host_detect_local_cpu },
# define MCPU_MTUNE_NATIVE_SPECS \
" %{mcpu=native:%<mcpu=native %:local_cpu_detect(cpu)}" \
" %{mtune=native:%<mtune=native %:local_cpu_detect(tune)}"
#else
# define MCPU_MTUNE_NATIVE_SPECS ""
#endif
#define DRIVER_SELF_SPECS MCPU_MTUNE_NATIVE_SPECS
/* Under DEC OSF/1 V4, -p and -pg require -lprof1, and -lprof1 requires
-lpdf. */
#define LIB_SPEC \
"%{p|pg:-lprof1%{pthread|threads:_r} -lpdf} \
%{threads: -lpthreads} %{pthread|threads: -lpthread -lmach -lexc} -lc"
/* Pass "-G 8" to ld because Alpha's CC does. Pass -O3 if we are
optimizing, -O1 if we are not. Pass -S to silence `weak symbol
multiply defined' warnings. Pass -shared, -non_shared or
-call_shared as appropriate. Pass -hidden_symbol so that our
constructor and call-frame data structures are not accidentally
overridden. */
#define LINK_SPEC \
"-G 8 %{O*:-O3} %{!O*:-O1} -S %{static:-non_shared} \
%{!static:%{shared:-shared -hidden_symbol _GLOBAL_*} \
%{!shared:-call_shared}} %{pg} %{taso} %{rpath*}"
#define STARTFILE_SPEC \
"%{!shared:%{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}}"
#define ENDFILE_SPEC \
"%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s}"
#define MD_STARTFILE_PREFIX "/usr/lib/cmplrs/cc/"
/* In Tru64 UNIX V5.1, Compaq introduced a new assembler
(/usr/lib/cmplrs/cc/adu) which currently (versions between 3.04.29 and
3.04.32) breaks mips-tfile. Passing the undocumented -oldas flag reverts
to using the old assembler (/usr/lib/cmplrs/cc/as[01]).
It is clearly not desirable to depend on this undocumented flag, and
Compaq wants -oldas to go away soon, but until they have released a
new adu that works with mips-tfile, this is the only option.
In some versions of the DTK, the assembler driver invokes ld after
assembly. This has been fixed in current versions, but adding -c
works as expected for all versions. */
#define ASM_OLDAS_SPEC "-oldas -c"
/* In OSF/1 v3.2c, the assembler by default does not output file names which
causes mips-tfile to fail. Passing -g to the assembler fixes this problem.
??? Strictly speaking, we need -g only if the user specifies -g. Passing
it always means that we get slightly larger than necessary object files
if the user does not specify -g. If we don't pass -g, then mips-tfile
will need to be fixed to work in this case. Pass -O0 since some
optimization are broken and don't help us anyway. */
#if ((TARGET_DEFAULT | TARGET_CPU_DEFAULT) & MASK_GAS) != 0
#define ASM_SPEC "%{malpha-as:-g " ASM_OLDAS_SPEC " %{pg} -O0}"
#else
#define ASM_SPEC "%{!mgas:-g " ASM_OLDAS_SPEC " %{pg} -O0}"
#endif
/* Specify to run a post-processor, mips-tfile after the assembler
has run to stuff the ecoff debug information into the object file.
This is needed because the Alpha assembler provides no way
of specifying such information in the assembly file. */
#if ((TARGET_DEFAULT | TARGET_CPU_DEFAULT) & MASK_GAS) != 0
#define ASM_FINAL_SPEC "\
%{malpha-as: %{!mno-mips-tfile: \
\n mips-tfile %{v*: -v} \
%{K: -I %b.o~} \
%{!K: %{save-temps: -I %b.o~}} \
%{c:%W{o*}%{!o*:-o %b.o}}%{!c:-o %U.o} \
%{,assembler:%i;:%g.s}}}"
#else
#define ASM_FINAL_SPEC "\
%{!mgas: %{!mno-mips-tfile: \
\n mips-tfile %{v*: -v} \
%{K: -I %b.o~} \
%{!K: %{save-temps: -I %b.o~}} \
%{c:%W{o*}%{!o*:-o %b.o}}%{!c:-o %U.o} \
%{,assembler:%i;:%g.s}}}"
#endif
/* Indicate that we have a stamp.h to use. */
#ifndef CROSS_DIRECTORY_STRUCTURE
#define HAVE_STAMP_H 1
#endif
#define HAVE_ENABLE_EXECUTE_STACK
/* Digital UNIX V4.0E (1091)/usr/include/sys/types.h 4.3.49.9 1997/08/14 */
#define SIZE_TYPE "long unsigned int"
#define PTRDIFF_TYPE "long int"
#define SIG_ATOMIC_TYPE "int"
#define INT8_TYPE "signed char"
#define INT16_TYPE "short int"
#define INT32_TYPE "int"
#define INT64_TYPE "long int"
#define UINT8_TYPE "unsigned char"
#define UINT16_TYPE "short unsigned int"
#define UINT32_TYPE "unsigned int"
#define UINT64_TYPE "long unsigned int"
#define INT_LEAST8_TYPE "signed char"
#define INT_LEAST16_TYPE "short int"
#define INT_LEAST32_TYPE "int"
#define INT_LEAST64_TYPE "long int"
#define UINT_LEAST8_TYPE "unsigned char"
#define UINT_LEAST16_TYPE "short unsigned int"
#define UINT_LEAST32_TYPE "unsigned int"
#define UINT_LEAST64_TYPE "long unsigned int"
#define INT_FAST8_TYPE "signed char"
#define INT_FAST16_TYPE "int"
#define INT_FAST32_TYPE "int"
#define INT_FAST64_TYPE "long int"
#define UINT_FAST8_TYPE "unsigned char"
#define UINT_FAST16_TYPE "unsigned int"
#define UINT_FAST32_TYPE "unsigned int"
#define UINT_FAST64_TYPE "long unsigned int"
#define INTPTR_TYPE "long int"
#define UINTPTR_TYPE "long unsigned int"
/* The linker will stick __main into the .init section. */
#define HAS_INIT_SECTION
#define LD_INIT_SWITCH "-init"
#define LD_FINI_SWITCH "-fini"
/* From Tru64 UNIX Object File and Symbol Table Format Specification,
2.3.5 Alignment, p.19. */
#define MAX_OFILE_ALIGNMENT (64 * 1024 * BITS_PER_UNIT)
/* Select a format to encode pointers in exception handling data. CODE
is 0 for data, 1 for code labels, 2 for function pointers. GLOBAL is
true if the symbol may be affected by dynamic relocations.
We really ought to be using the SREL32 relocations that ECOFF has,
but no version of the native assembler supports creating such things,
and Compaq has no plans to rectify this. Worse, the dynamic loader
cannot handle unaligned relocations, so we have to make sure that
things get padded appropriately. */
#define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) \
(TARGET_GAS \
? (((GLOBAL) ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel | DW_EH_PE_sdata4) \
: DW_EH_PE_aligned)
/* The Tru64 UNIX assembler warns on .lcomm with SIZE 0, so use 1 in that
case. */
#undef ASM_OUTPUT_LOCAL
#define ASM_OUTPUT_LOCAL(FILE, NAME, SIZE,ROUNDED) \
( fputs ("\t.lcomm ", (FILE)), \
assemble_name ((FILE), (NAME)), \
fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED"\n", (SIZE) ? (SIZE) : 1))
/* This is how we tell the assembler that a symbol is weak. */
#define ASM_OUTPUT_WEAK_ALIAS(FILE, NAME, VALUE) \
do \
{ \
(*targetm.asm_out.globalize_label) (FILE, NAME); \
fputs ("\t.weakext\t", FILE); \
assemble_name (FILE, NAME); \
if (VALUE) \
{ \
fputc (' ', FILE); \
assemble_name (FILE, VALUE); \
} \
fputc ('\n', FILE); \
} \
while (0)
#define ASM_WEAKEN_LABEL(FILE, NAME) ASM_OUTPUT_WEAK_ALIAS(FILE, NAME, 0)
/* The native assembler doesn't understand parenthesis. */
#define TARGET_ASM_OPEN_PAREN ""
#define TARGET_ASM_CLOSE_PAREN ""
/* Handle #pragma extern_prefix. */
#define TARGET_HANDLE_PRAGMA_EXTERN_PREFIX 1
#define TARGET_HAVE_NAMED_SECTIONS false

View File

@ -1,42 +0,0 @@
; Tru64 UNIX options.
; Copyright (C) 2011
; Free Software Foundation, Inc.
;
; This file is part of GCC.
;
; GCC is free software; you can redistribute it and/or modify it under
; the terms of the GNU General Public License as published by the Free
; Software Foundation; either version 3, or (at your option) any later
; version.
;
; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
; WARRANTY; without even the implied warranty of MERCHANTABILITY or
; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
; for more details.
;
; You should have received a copy of the GNU General Public License
; along with GCC; see the file COPYING3. If not see
; <http://www.gnu.org/licenses/>.
; See the GCC internals manual (options.texi) for a description of
; this file's format.
; Please try to keep this file in ASCII collating order.
K
Driver
mno-mips-tfile
Target RejectNegative
pthread
Driver
taso
Driver
threads
Driver
; This comment is to ensure we retain the blank line above.

View File

@ -1,42 +0,0 @@
/* A replacement for Digital Unix's <va_list.h>.
Copyright (C) 1998, 1999 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 3, or (at your option) any later
version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
Under Section 7 of GPL version 3, you are granted additional
permissions described in the GCC Runtime Library Exception, version
3.1, as published by the Free Software Foundation.
You should have received a copy of the GNU General Public License and
a copy of the GCC Runtime Library Exception along with this program;
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
#ifndef __GNUC_VA_LIST
#define __GNUC_VA_LIST
typedef __builtin_va_list __gnuc_va_list;
#endif
#if !defined(_VA_LIST) && !defined(_HIDDEN_VA_LIST)
#define _VA_LIST
typedef __gnuc_va_list va_list;
#elif defined(_HIDDEN_VA_LIST) && !defined(_HIDDEN_VA_LIST_DONE)
#define _HIDDEN_VA_LIST_DONE
typedef __gnuc_va_list __va_list;
#elif defined(_HIDDEN_VA_LIST) && defined(_VA_LIST)
#undef _HIDDEN_VA_LIST
#endif

View File

@ -1,4 +0,0 @@
host-osf.o : $(srcdir)/config/alpha/host-osf.c $(CONFIG_H) $(SYSTEM_H) \
coretypes.h hosthooks.h hosthooks-def.h $(HOOKS_H)
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
$(srcdir)/config/alpha/host-osf.c

13
gcc/configure vendored
View File

@ -23626,11 +23626,6 @@ case "$target" in
# with TLS support are in use, native TLS cannot work.
set_have_as_tls=no
;;
*-*-osf*)
# Tru64 UNIX loader and libc.so lack TLS support, so even if gas and
# gld with TLS support are in use, native TLS cannot work.
set_have_as_tls=no
;;
# TLS was introduced in the Solaris 9 FCS release and backported to
# Solaris 8 patches. Support for GNU-style TLS on x86 was only
# introduced in Solaris 9 4/04, replacing the earlier Sun style that Sun
@ -23818,12 +23813,6 @@ elif test x$gcc_cv_ld != x; then
gcc_cv_ld_static_dynamic=yes
else
case "$target" in
# Tru64 UNIX support -noso/-so_archive instead of -Bstatic/-Bdynamic.
alpha*-dec-osf*)
gcc_cv_ld_static_dynamic=yes
gcc_cv_ld_static_option="-noso"
gcc_cv_ld_dynamic_option="-so_archive"
;;
# HP-UX ld uses -a flags to select between shared and archive.
*-*-hpux*)
if test x"$gnu_ld" = xno; then
@ -23944,7 +23933,7 @@ $as_echo "$gcc_cv_lto_plugin" >&6; }
case "$target" in
# All TARGET_ABI_OSF targets.
alpha*-*-osf* | alpha*-*-linux* | alpha*-*-*bsd*)
alpha*-*-linux* | alpha*-*-*bsd*)
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for explicit relocation support" >&5
$as_echo_n "checking assembler for explicit relocation support... " >&6; }
if test "${gcc_cv_as_alpha_explicit_relocs+set}" = set; then :

View File

@ -3183,11 +3183,6 @@ case "$target" in
# with TLS support are in use, native TLS cannot work.
set_have_as_tls=no
;;
*-*-osf*)
# Tru64 UNIX loader and libc.so lack TLS support, so even if gas and
# gld with TLS support are in use, native TLS cannot work.
set_have_as_tls=no
;;
# TLS was introduced in the Solaris 9 FCS release and backported to
# Solaris 8 patches. Support for GNU-style TLS on x86 was only
# introduced in Solaris 9 4/04, replacing the earlier Sun style that Sun
@ -3302,12 +3297,6 @@ elif test x$gcc_cv_ld != x; then
gcc_cv_ld_static_dynamic=yes
else
case "$target" in
# Tru64 UNIX support -noso/-so_archive instead of -Bstatic/-Bdynamic.
alpha*-dec-osf*)
gcc_cv_ld_static_dynamic=yes
gcc_cv_ld_static_option="-noso"
gcc_cv_ld_dynamic_option="-so_archive"
;;
# HP-UX ld uses -a flags to select between shared and archive.
*-*-hpux*)
if test x"$gnu_ld" = xno; then
@ -3414,7 +3403,7 @@ AC_MSG_RESULT($gcc_cv_lto_plugin)
case "$target" in
# All TARGET_ABI_OSF targets.
alpha*-*-osf* | alpha*-*-linux* | alpha*-*-*bsd*)
alpha*-*-linux* | alpha*-*-*bsd*)
gcc_GAS_CHECK_FEATURE([explicit relocation support],
gcc_cv_as_alpha_explicit_relocs, [2,12,0],,
[ .set nomacro

View File

@ -14141,10 +14141,9 @@ adding a call to the @code{.init} section.
@node Symbol-Renaming Pragmas
@subsection Symbol-Renaming Pragmas
For compatibility with the Solaris and Tru64 UNIX system headers, GCC
For compatibility with the Solaris system headers, GCC
supports two @code{#pragma} directives which change the name used in
assembly for a given declaration. @code{#pragma extern_prefix} is only
available on platforms whose system headers need it. To get this effect
assembly for a given declaration. To get this effect
on all platforms supported by GCC, use the asm labels extension (@pxref{Asm
Labels}).
@ -14155,19 +14154,9 @@ Labels}).
This pragma gives the C function @var{oldname} the assembly symbol
@var{newname}. The preprocessor macro @code{__PRAGMA_REDEFINE_EXTNAME}
will be defined if this pragma is available (currently on all platforms).
@item extern_prefix @var{string}
@cindex pragma, extern_prefix
This pragma causes all subsequent external function and variable
declarations to have @var{string} prepended to their assembly symbols.
This effect may be terminated with another @code{extern_prefix} pragma
whose argument is an empty string. The preprocessor macro
@code{__PRAGMA_EXTERN_PREFIX} will be defined if this pragma is
available (currently only on Tru64 UNIX)@.
@end table
These pragmas and the asm labels extension interact in a complicated
This pragma and the asm labels extension interact in a complicated
manner. Here are some corner cases you may want to be aware of.
@enumerate
@ -14186,17 +14175,6 @@ the name does not change.
@item The @var{oldname} used by @code{#pragma redefine_extname} is
always the C-language name.
@item If @code{#pragma extern_prefix} is in effect, and a declaration
occurs with an asm label attached, the prefix is silently ignored for
that declaration.
@item If @code{#pragma extern_prefix} and @code{#pragma redefine_extname}
apply to the same declaration, whichever triggered first wins, and a
warning issues if they contradict each other. (We would like to have
@code{#pragma redefine_extname} always win, for consistency with asm
labels, but if @code{#pragma extern_prefix} triggers first we have no
way of knowing that that happened.)
@end enumerate
@node Structure-Packing Pragmas

View File

@ -2949,7 +2949,6 @@ The @uref{http://www.mingw.org/,,MinGW} project.
Written Word} offers binaries for
AIX 4.3.3, 5.1 and 5.2,
IRIX 6.5,
Tru64 UNIX 4.0D and 5.1,
GNU/Linux (i386),
HP-UX 10.20, 11.00, and 11.11, and
Solaris/SPARC 2.5.1, 2.6, 7, 8, 9 and 10.
@ -3160,54 +3159,10 @@ Systems using processors that implement the DEC Alpha architecture and
are running the DEC/Compaq/HP Unix (DEC OSF/1, Digital UNIX, or Compaq/HP
Tru64 UNIX) operating system, for example the DEC Alpha AXP systems.
Support for Tru64 UNIX V5.1 has been obsoleted in GCC 4.7, but can still
be enabled by configuring with @option{--enable-obsolete}. Support will
be removed in GCC 4.8. As of GCC 4.6, support for Tru64 UNIX V4.0 and
V5.0 has been removed. As of GCC 3.2, versions before
@code{alpha*-dec-osf4} are no longer supported. (These are the versions
which identify themselves as DEC OSF/1.)
On Tru64 UNIX, virtual memory exhausted bootstrap failures
may be fixed by reconfiguring Kernel Virtual Memory and Swap parameters
per the @command{/usr/sbin/sys_check} Tuning Suggestions,
or applying the patch in
@uref{http://gcc.gnu.org/ml/gcc/2002-08/msg00822.html}. Depending on
the OS version used, you need a data segment size between 512 MB and
1 GB, so simply use @command{ulimit -Sd unlimited}.
As of GNU binutils 2.21, neither GNU @command{as} nor GNU @command{ld}
are supported on Tru64 UNIX, so you must not configure GCC with
@option{--with-gnu-as} or @option{--with-gnu-ld}.
Cross-compilers for the Tru64 UNIX target currently do not work because
the auxiliary programs @command{mips-tdump} and @command{mips-tfile} can't
be compiled on anything but Tru64 UNIX.
GCC writes a @samp{.verstamp} directive to the assembler output file
unless it is built as a cross-compiler. It gets the version to use from
the system header file @file{/usr/include/stamp.h}. If you install a
new version of Tru64 UNIX, you should rebuild GCC to pick up the new version
stamp.
GCC now supports both the native (ECOFF) debugging format used by DBX
and GDB and an encapsulated STABS format for use only with GDB@. See the
discussion of the @option{--with-stabs} option of @file{configure} above
for more information on these formats and how to select them.
@c FIXME: does this work at all? If so, perhaps make default.
There is a bug in DEC's assembler that produces incorrect line numbers
for ECOFF format when the @samp{.align} directive is used. To work
around this problem, GCC will not emit such alignment directives
while writing ECOFF format debugging information even if optimization is
being performed. Unfortunately, this has the very undesirable
side-effect that code addresses when @option{-O} is specified are
different depending on whether or not @option{-g} is also specified.
To avoid this behavior, specify @option{-gstabs+} and use GDB instead of
DBX@. DEC is now aware of this problem with the assembler and hopes to
provide a fix shortly.
@c FIXME: still applicable?
Support for Tru64 UNIX V5.1 has been removed in GCC 4.8. As of GCC 4.6,
support for Tru64 UNIX V4.0 and V5.0 has been removed. As of GCC 3.2,
versions before @code{alpha*-dec-osf4} are no longer supported. (These
are the versions which identify themselves as DEC OSF/1.)
@html
<hr />

View File

@ -10758,10 +10758,6 @@ Define this macro if macros should be expanded in the
arguments of @samp{#pragma pack}.
@end defmac
@deftypevr {Target Hook} bool TARGET_HANDLE_PRAGMA_EXTERN_PREFIX
True if @code{#pragma extern_prefix} is to be supported.
@end deftypevr
@defmac TARGET_DEFAULT_PACK_STRUCT
If your target requires a structure packing default other than 0 (meaning
the machine default), define this macro to the necessary value (in bytes).

View File

@ -10638,8 +10638,6 @@ Define this macro if macros should be expanded in the
arguments of @samp{#pragma pack}.
@end defmac
@hook TARGET_HANDLE_PRAGMA_EXTERN_PREFIX
@defmac TARGET_DEFAULT_PACK_STRUCT
If your target requires a structure packing default other than 0 (meaning
the machine default), define this macro to the necessary value (in bytes).

View File

@ -1,5 +1,5 @@
@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
@c 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012
@c Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@ -20,7 +20,6 @@ where people's opinions differ as to what is best.
@menu
* Actual Bugs:: Bugs we will fix later.
* Cross-Compiler Problems:: Common problems of cross compiling with GCC.
* Interoperation:: Problems using GCC with other compilers,
and with certain linkers, assemblers and debuggers.
* Incompatibilities:: GCC is incompatible with traditional C.
@ -46,19 +45,6 @@ unmounted while @code{fixincludes} is running. This would seem to be a
bug in the automounter. We don't know any good way to work around it.
@end itemize
@node Cross-Compiler Problems
@section Cross-Compiler Problems
You may run into problems with cross compilation on certain machines,
for several reasons.
@itemize @bullet
@item
At present, the program @file{mips-tfile} which adds debug
support to object files on Tru64 UNIX systems does not work in a cross
compile environment.
@end itemize
@node Interoperation
@section Interoperation

View File

@ -1,7 +1,7 @@
/* Implements exception handling.
Copyright (C) 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
2011, 2012 Free Software Foundation, Inc.
Contributed by Mike Stump <mrs@cygnus.com>.
This file is part of GCC.
@ -1419,7 +1419,7 @@ finish_eh_generation (void)
break_superblocks ();
if (targetm_common.except_unwind_info (&global_options) == UI_SJLJ
/* Kludge for Alpha/Tru64 (see alpha_gp_save_rtx). */
/* Kludge for Alpha (see alpha_gp_save_rtx). */
|| single_succ_edge (ENTRY_BLOCK_PTR)->insns.r)
commit_edge_insertions ();

View File

@ -1,4 +1,5 @@
/* Copyright (C) 1989, 1997, 1998, 1999, 2000, 2009 Free Software Foundation, Inc.
/* Copyright (C) 1989, 1997, 1998, 1999, 2000, 2009, 2012
Free Software Foundation, Inc.
This file is part of GCC.
@ -59,10 +60,6 @@ typedef __builtin_va_list __gnuc_va_list;
but must not use that name. It should use the name __gnuc_va_list,
which is safe because it is reserved for the implementation. */
#ifdef _HIDDEN_VA_LIST /* On OSF1, this means varargs.h is "half-loaded". */
#undef _VA_LIST
#endif
#ifdef _BSD_VA_LIST
#undef _BSD_VA_LIST
#endif

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,7 @@
2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* EXCLUDES (mips-tdump.c, mips-tfile.c): Remove.
2012-03-12 Joseph Myers <joseph@codesourcery.com>
* sv.po: Update.

View File

@ -1,4 +1,5 @@
# Copyright (C) 2001, 2004, 2009, 2010, 2011 Free Software Foundation, Inc.
# Copyright (C) 2001, 2004, 2009, 2010, 2011, 2012
# Free Software Foundation, Inc.
#
# This file is part of GCC.
#
@ -53,8 +54,3 @@ genrecog.c
gensupport.c
gensupport.h
read-md.c
# These files are not yet internationalized, because they contain
# many strings that require a lot of analysis, and are little-used.
mips-tdump.c
mips-tfile.c

View File

@ -1,7 +1,7 @@
/* Get common system includes and various definitions and declarations based
on autoconf macros.
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008,
2009, 2010, 2011
2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
@ -890,7 +890,8 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN;
TARGET_PROMOTE_FUNCTION_ARGS TARGET_PROMOTE_FUNCTION_RETURN \
LANG_HOOKS_MISSING_ARGUMENT LANG_HOOKS_HASH_TYPES \
TARGET_HANDLE_OFAST TARGET_OPTION_OPTIMIZATION \
TARGET_IRA_COVER_CLASSES TARGET_HELP
TARGET_IRA_COVER_CLASSES TARGET_HELP \
TARGET_HANDLE_PRAGMA_EXTERN_PREFIX
/* Arrays that were deleted in favor of a functional interface. */
#pragma GCC poison built_in_decls implicit_built_in_decls

View File

@ -2721,11 +2721,6 @@ DEFHOOKPOD
"",
bool, false)
DEFHOOKPOD
(handle_pragma_extern_prefix,
"True if @code{#pragma extern_prefix} is to be supported.",
bool, 0)
/* True if the target is allowed to reorder memory accesses unless
synchronization is explicitly requested. */
DEFHOOKPOD

View File

@ -1,3 +1,51 @@
2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* 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.
2012-03-12 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/51721

View File

@ -3,12 +3,10 @@
// { dg-require-weak "" }
// { dg-skip-if "Linkonce not weak" { *-*-mingw* *-*-cygwin } { "*" } { "" } }
// { dg-final { scan-assembler ".weak\[ \t\]_?_ZTSPP1A" { target { ! { *-*-darwin* alpha*-dec-osf* } } } } }
// { dg-final { scan-assembler-not ".weak\[ \t\]_?_ZTIPP1A" { target { ! { *-*-darwin* alpha*-dec-osf* } } } } }
// { dg-final { scan-assembler ".weak\[ \t\]_?_ZTSPP1A" { target { ! { *-*-darwin* } } } } }
// { dg-final { scan-assembler-not ".weak\[ \t\]_?_ZTIPP1A" { target { ! { *-*-darwin* } } } } }
// { dg-final { scan-assembler ".weak_definition\[ \t\]_?_ZTSPP1A" { target { *-*-darwin* } } } }
// { dg-final { scan-assembler-not ".weak_definition\[ \t\]_?_ZTIPP1A" { target { *-*-darwin* } } } }
// { dg-final { scan-assembler ".weakext\[ \t\]_?_ZTSPP1A" { target { alpha*-dec-osf* } } } }
// { dg-final { scan-assembler-not ".weakext\[ \t\]_?_ZTIPP1A" { target { alpha*-dec-osf* } } } }
struct A;

View File

@ -1,8 +1,7 @@
// { dg-require-weak "" }
// { dg-skip-if "Linkonce not weak" { *-*-mingw* *-*-cygwin } { "*" } { "" } }
// { dg-final { scan-assembler ".weak\[ \t\]_?_ZThn._N7Derived3FooEv" { target { ! { *-*-darwin* alpha*-dec-osf* } } } } }
// { dg-final { scan-assembler ".weak\[ \t\]_?_ZThn._N7Derived3FooEv" { target { ! { *-*-darwin* } } } } }
// { dg-final { scan-assembler ".weak_definition\[ \t\]_?_ZThn._N7Derived3FooEv" { target { *-*-darwin* } } } }
// { dg-final { scan-assembler ".weakext\[ \t\]_?_ZThn._N7Derived3FooEv" { target { alpha*-dec-osf* } } } }
struct Base
{

View File

@ -1,12 +1,12 @@
/* { dg-do run } */
/* { dg-require-effective-target c99_runtime } */
/* { dg-skip-if "exp2* missing despite C99 runtime" { alpha*-dec-osf5* } } */
/* { dg-options "-O2 -fmath-errno -fdump-tree-cdce-details -lm" } */
/* { dg-additional-options "-DLARGE_LONG_DOUBLE" { target large_long_double } } */
/* { dg-additional-options "-DGNU_EXTENSION" { target pow10 } } */
/* { dg-add-options ieee } */
/* { dg-final { scan-tree-dump "cdce3.C:92: note: function call is shrink-wrapped into error conditions\." "cdce" { target pow10 } } } */
/* { dg-final { scan-tree-dump "cdce3.C:93: note: function call is shrink-wrapped into error conditions\." "cdce" { target pow10 } } } */
/* { dg-final { scan-tree-dump "cdce3.C:94: note: function call is shrink-wrapped into error conditions\." "cdce" { target pow10 } } } */
/* { dg-final { scan-tree-dump "cdce3.C:95: note: function call is shrink-wrapped into error conditions\." "cdce" } } */
/* { dg-final { scan-tree-dump "cdce3.C:96: note: function call is shrink-wrapped into error conditions\." "cdce" } } */
/* { dg-final { scan-tree-dump "cdce3.C:97: note: function call is shrink-wrapped into error conditions\." "cdce" } } */
/* { dg-final { scan-tree-dump "cdce3.C:98: note: function call is shrink-wrapped into error conditions\." "cdce" } } */
@ -20,7 +20,6 @@
/* { dg-final { scan-tree-dump "cdce3.C:106: note: function call is shrink-wrapped into error conditions\." "cdce" } } */
/* { dg-final { scan-tree-dump "cdce3.C:107: note: function call is shrink-wrapped into error conditions\." "cdce" } } */
/* { dg-final { scan-tree-dump "cdce3.C:108: note: function call is shrink-wrapped into error conditions\." "cdce" } } */
/* { dg-final { scan-tree-dump "cdce3.C:109: note: function call is shrink-wrapped into error conditions\." "cdce" } } */
/* { dg-final { cleanup-tree-dump "cdce" } } */
#include <stdlib.h>

View File

@ -1,5 +1,5 @@
/* Structure layout test generator.
Copyright (C) 2004, 2005, 2007, 2008, 2009, 2011
Copyright (C) 2004, 2005, 2007, 2008, 2009, 2011, 2012
Free Software Foundation, Inc.
Contributed by Jakub Jelinek <jakub@redhat.com>.
@ -46,7 +46,7 @@ along with GCC; see the file COPYING3. If not see
const char *dg_options[] = {
"/* { dg-options \"%s-I%s\" } */\n",
"/* { dg-options \"%s-I%s -mno-mmx -Wno-abi\" { target i?86-*-* x86_64-*-* } } */\n",
"/* { dg-options \"%s-I%s -fno-common\" { target alpha*-dec-osf* hppa*-*-hpux* powerpc*-*-darwin* *-*-mingw32* *-*-cygwin* } } */\n",
"/* { dg-options \"%s-I%s -fno-common\" { target hppa*-*-hpux* powerpc*-*-darwin* *-*-mingw32* *-*-cygwin* } } */\n",
"/* { dg-options \"%s-I%s -mno-mmx -fno-common -Wno-abi\" { target i?86-*-darwin* x86_64-*-darwin* i?86-*-mingw32* x86_64-*-mingw32* i?86-*-cygwin* } } */\n",
"/* { dg-options \"%s-I%s -mno-base-addresses\" { target mmix-*-* } } */\n",
"/* { dg-options \"%s-I%s -mlongcalls -mtext-section-literals\" { target xtensa*-*-* } } */\n"

View File

@ -1,6 +1,6 @@
// PR c++/49673: check that test_data goes into .rodata
// { dg-options -std=c++0x }
// { dg-additional-options -G0 { target { { alpha*-*-* frv*-*-* ia64-*-* lm32*-*-* m32r*-*-* microblaze*-*-* mips*-*-* powerpc*-*-* rs6000*-*-* score*-*-* } && { ! { *-*-darwin* *-*-aix* alpha*-*-osf* alpha*-*-*vms* } } } } }
// { dg-additional-options -G0 { target { { alpha*-*-* frv*-*-* ia64-*-* lm32*-*-* m32r*-*-* microblaze*-*-* mips*-*-* powerpc*-*-* rs6000*-*-* score*-*-* } && { ! { *-*-darwin* *-*-aix* alpha*-*-*vms* } } } } }
// { dg-final { scan-assembler "\\.rdata" { target mips*-*-* } } }
// { dg-final { scan-assembler "rodata" { target { { *-*-linux-gnu || *-*-elf } && { ! mips*-*-* } } } } }

View File

@ -1,6 +1,6 @@
/* { dg-do run } */
/* { dg-options "-gdwarf-2" } */
/* { dg-skip-if "No Dwarf" { { *-*-aix* alpha*-dec-osf* hppa*-*-hpux* } && { ! hppa*64*-*-* } } { "*" } { "" } } */
/* { dg-skip-if "No Dwarf" { { *-*-aix* hppa*-*-hpux* } && { ! hppa*64*-*-* } } { "*" } { "" } } */
/* This was a bug on x86-darwin, where the register numbering for SP
and BP was swapped (it's easy to do because on that port it's

View File

@ -8,7 +8,7 @@ struct C
C();
};
C::C() // { dg-bogus "can never be copied" "" { xfail { { *-apple-darwin* alpha*-dec-osf* } || { hppa*-*-hpux* && { ! lp64 } } } } }
C::C() // { dg-bogus "can never be copied" "" { xfail { { *-apple-darwin* } || { hppa*-*-hpux* && { ! lp64 } } } } }
{
static void *labelref = &&label;
goto *labelref;

View File

@ -4,8 +4,7 @@ load_lib g++-dg.exp
load_lib gcc-gdb-test.exp
# Disable on darwin until radr://7264615 is resolved.
# Disable on Tru64 UNIX (PR testsuite/48251).
if { [istarget *-*-darwin*] || [istarget alpha*-dec-osf*] } {
if { [istarget *-*-darwin*] } {
return
}

View File

@ -1,5 +1,5 @@
// PR c++/34094
// { dg-do link { target { ! { *-*-darwin* *-*-hpux* *-*-solaris2.* alpha*-dec-osf* mips-sgi-irix* } } } }
// { dg-do link { target { ! { *-*-darwin* *-*-hpux* *-*-solaris2.* mips-sgi-irix* } } } }
// { dg-options "-g" }
namespace {

View File

@ -1,27 +0,0 @@
/* { dg-do compile { target *-*-osf5* } } */
/* { dg-final { scan-assembler "xyzzy_one" } } */
/* { dg-final { scan-assembler "xyzzy_two" } } */
/* { dg-final { scan-assembler "xyzzz_three" } } */
/* { dg-final { scan-assembler "four" } } */
/* { dg-final { scan-assembler-not "_four" } } */
#ifndef __PRAGMA_EXTERN_PREFIX
#error
#endif
#pragma extern_prefix "xyzzy_"
extern "C" int one(void);
extern "C" int two(void);
#pragma extern_prefix "xyzzz_"
extern "C" int three(void);
#pragma extern_prefix ""
extern "C" int four(void);
int (*p[])(void) = {
one, two, three, four
};

View File

@ -4,7 +4,7 @@
/* { dg-options "-Wmissing-format-attribute" } */
/* { dg-options "-Wmissing-format-attribute -Wno-abi" { target arm_eabi } } */
/* VxWorks does not provide vscanf, either in kernel or RTP mode. */
/* { dg-error "not declared" "" { target { *-*-solaris2.8 *-*-vxworks* alpha*-dec-osf* } } 26 } */
/* { dg-error "not declared" "" { target { *-*-solaris2.8 *-*-vxworks* } } 26 } */
#include <stdio.h>
#include <stdarg.h>
@ -23,7 +23,7 @@ bar (const char *fmt, ...)
{
va_list ap;
va_start (ap, fmt);
vscanf (fmt, ap); /* { dg-warning "candidate" "scanf attribute warning" { xfail *-*-solaris2.8 *-*-vxworks* alpha*-dec-osf* } } */
vscanf (fmt, ap); /* { dg-warning "candidate" "scanf attribute warning" { xfail *-*-solaris2.8 *-*-vxworks* } } */
va_end (ap);
}

View File

@ -1,7 +1,6 @@
// PR 31246
// { dg-do compile }
// { dg-options "-Wunreachable-code -D_GLIBCXX_DEBUG" }
// { dg-xfail-if "lack of weak symbols" { alpha*-dec-osf* } }
#include <vector>
int main()

View File

@ -1,8 +1,7 @@
// { dg-do run }
// { dg-require-weak "" }
// The PA HP-UX and Tru64 UNIX dynamic loaders don't support unsatisfied
// weak symbols.
// { dg-skip-if "No unsat" { alpha*-dec-osf* hppa*-*-hpux* } { "*" } { "" } }
// The PA HP-UX dynamic loader doesn't support unsatisfied weak symbols.
// { dg-skip-if "No unsat" { hppa*-*-hpux* } { "*" } { "" } }
// The darwin loader does, but they do need to exist at link time.
// { dg-skip-if "No link unsat" { *-*-darwin* } { "*" } { "" } }
// For kernel modules and static RTPs, the loader treats undefined weak

View File

@ -3,7 +3,7 @@
// itself call malloc(), and will fail if there is no more
// memory available.
// { dg-do run { xfail { { xstormy16-*-* *-*-darwin[3-7]* } || vxworks_rtp } } }
// Copyright (C) 2000, 2002, 2003, 2010 Free Software Foundation, Inc.
// Copyright (C) 2000, 2002, 2003, 2010, 2012 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 6 June 2000 <nathan@codesourcery.com>
// Check we can throw a bad_alloc exception when malloc dies.
@ -18,9 +18,9 @@ extern "C" void *memcpy(void *, const void *, size_t);
#ifdef STACK_SIZE
const int arena_size = 256;
#else
#if defined(__FreeBSD__) || defined(__sun__) || defined(__hpux__) || defined(__osf__)
// FreeBSD, Solaris, HP-UX and Tru64 UNIX with threads require even more
// space at initialization time. FreeBSD 5 now requires over 131072 bytes.
#if defined(__FreeBSD__) || defined(__sun__) || defined(__hpux__)
// FreeBSD, Solaris and HP-UX require even more space at initialization time.
// FreeBSD 5 now requires over 131072 bytes.
const int arena_size = 262144;
#else
const int arena_size = 32768;

View File

@ -1,4 +1,4 @@
// { dg-do run { xfail alpha*-dec-osf* i?86-pc-cygwin } }
// { dg-do run { xfail i?86-pc-cygwin } }
// Test that attributes weak and alias coexist.
// { dg-require-weak "" }
// { dg-require-alias "" }

View File

@ -1,4 +1,3 @@
/* { dg-xfail-if "" { alpha*-dec-osf5* } { "-g" } { "" } } */
#define PTR1 (* (* (* (* (* (* (* (* (* (*
#define PTR2 PTR1 PTR1 PTR1 PTR1 PTR1 PTR1 PTR1 PTR1 PTR1 PTR1
#define PTR3 PTR2 PTR2 PTR2 PTR2 PTR2 PTR2 PTR2 PTR2 PTR2 PTR2

View File

@ -1,4 +1,3 @@
/* { dg-xfail-if "" { alpha*-dec-osf5* } { "-g" } { "" } } */
#define PTR1 * * * * * * * * * *
#define PTR2 PTR1 PTR1 PTR1 PTR1 PTR1 PTR1 PTR1 PTR1 PTR1 PTR1
#define PTR3 PTR2 PTR2 PTR2 PTR2 PTR2 PTR2 PTR2 PTR2 PTR2 PTR2

View File

@ -7,8 +7,7 @@
So: If we know how, ask the kernel to deliver SIGBUS instead so
that the test case visibly fails. */
#if defined(__alpha__) && (defined(__linux__) || defined(__osf__))
#ifdef __linux__
#if defined(__alpha__) && defined(__linux__)
#include <asm/sysinfo.h>
#include <asm/unistd.h>
@ -19,11 +18,6 @@ setsysinfo(unsigned long op, void *buffer, unsigned long size,
syscall(__NR_osf_setsysinfo, op, buffer, size, start, arg, flag);
}
#else
#include <sys/sysinfo.h>
#include <sys/proc.h>
#endif
static void __attribute__((constructor))
trap_unaligned(void)
{

View File

@ -2,10 +2,9 @@
// { dg-require-weak "" }
// On darwin, we use attr-weakref-1-darwin.c.
// This test requires support for undefined weak symbols. This support
// is not available on alpha*-dec-osf* and hppa*-*-hpux*. The test is
// skipped rather than xfailed to suppress the warning that would otherwise
// arise.
// { dg-skip-if "" { "alpha*-dec-osf*" "*-*-darwin*" "hppa*-*-hpux*" } "*" { "" } }
// is not available on hppa*-*-hpux*. The test is skipped rather than
// xfailed to suppress the warning that would otherwise arise.
// { dg-skip-if "" { "*-*-darwin*" "hppa*-*-hpux*" } "*" { "" } }
// For kernel modules and static RTPs, the loader treats undefined weak
// symbols in the same way as undefined strong symbols. The test
// therefore fails to load, so skip it.

View File

@ -3,7 +3,6 @@
/* { dg-do compile { target inttypes_types } } */
/* { dg-options "-std=iso9899:1999 -pedantic-errors" } */
/* { dg-options "-std=gnu99 -pedantic-errors -DNO_FAST_TYPES" { target *-*-solaris2.[89]* } } */
/* { dg-options "-std=gnu99 -pedantic-errors -DNO_LEAST_TYPES -DNO_FAST_TYPES -DNO_MAX_TYPES" { target alpha*-dec-osf5* } } */
#include <inttypes.h>
#ifndef SIGNAL_SUPPRESS

View File

@ -3,7 +3,6 @@
/* { dg-do preprocess { target c99_runtime } } */
/* { dg-options "-std=iso9899:1999" } */
/* { dg-add-options c99_runtime } */
/* { dg-skip-if "<complex.h> missing" { alpha*-dec-osf5* } } */
/* Test that tgmath defines the macros it's supposed to. */
#include <tgmath.h>

View File

@ -3,7 +3,6 @@
/* { dg-do compile { target c99_runtime } } */
/* { dg-options "-std=iso9899:1999" } */
/* { dg-add-options c99_runtime } */
/* { dg-skip-if "<complex.h> missing" { alpha*-dec-osf5* } } */
/* Test that invoking type-generic sin on a float invokes sinf. */
#include <tgmath.h>

View File

@ -3,7 +3,6 @@
/* { dg-do compile { target c99_runtime } } */
/* { dg-options "-std=iso9899:1999" } */
/* { dg-add-options c99_runtime } */
/* { dg-skip-if "<complex.h> missing" { alpha*-dec-osf5* } } */
/* Test that invoking type-generic exp on a complex invokes cexp. */
#include <tgmath.h>

View File

@ -3,7 +3,6 @@
/* { dg-do compile { target c99_runtime } } */
/* { dg-options "-std=iso9899:1999" } */
/* { dg-add-options c99_runtime } */
/* { dg-skip-if "<complex.h> missing" { alpha*-dec-osf5* } } */
/* Test that invoking type-generic pow on complex float invokes cpowf. */
#include <tgmath.h>

View File

@ -1,5 +1,5 @@
/* Structure layout test generator.
Copyright (C) 2004, 2005, 2007, 2008, 2009, 2011
Copyright (C) 2004, 2005, 2007, 2008, 2009, 2011, 2012
Free Software Foundation, Inc.
Contributed by Jakub Jelinek <jakub@redhat.com>.
@ -47,7 +47,7 @@ const char *dg_options[] = {
"/* { dg-options \"%s-I%s\" } */\n",
"/* { dg-options \"%s-I%s -Wno-abi\" } */\n",
"/* { dg-options \"%s-I%s -mno-mmx -Wno-abi\" { target i?86-*-* x86_64-*-* } } */\n",
"/* { dg-options \"%s-I%s -fno-common\" { target alpha*-dec-osf* hppa*-*-hpux* powerpc*-*-darwin* } } */\n",
"/* { dg-options \"%s-I%s -fno-common\" { target hppa*-*-hpux* powerpc*-*-darwin* } } */\n",
"/* { dg-options \"%s-I%s -mno-mmx -fno-common -Wno-abi\" { target i?86-*-darwin* x86_64-*-darwin* } } */\n",
"/* { dg-options \"%s-I%s -mno-base-addresses\" { target mmix-*-* } } */\n",
"/* { dg-options \"%s-I%s -mlongcalls -mtext-section-literals\" { target xtensa*-*-* } } */\n"

View File

@ -1,7 +1,5 @@
/* PR debug/49032 */
/* { dg-do link } */
/* Prune mips-tfile warning on alpha*-dec-osf* with -gcoff* -O*. */
/* { dg-prune-output "warning, s not found in .*symbol tables" } */
static int s = 42;

View File

@ -4,8 +4,7 @@ load_lib gcc-dg.exp
load_lib gcc-gdb-test.exp
# Disable on darwin until radr://7264615 is resolved.
# Disable on Tru64 UNIX (PR testsuite/48251).
if { [istarget *-*-darwin*] || [istarget alpha*-dec-osf*] } {
if { [istarget *-*-darwin*] } {
return
}

View File

@ -1,7 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-Wall" } */
/* { dg-error "" "" { target { { *arm*-*-*elf* xtensa*-*-elf* } || vxworks_kernel } } 0 } */
/* { dg-skip-if "No *intmax_t in <inttypes.h>" { alpha*-dec-osf* } } */
/* Compile with -Wall to get a warning if built-in and system intmax_t don't
match. */

View File

@ -1,7 +1,7 @@
/* PR tree-optimization/48616 */
/* { dg-do run } */
/* { dg-options "-O2 -ftree-vectorize" } */
/* { dg-additional-options "-fno-common" { target alpha*-dec-osf* hppa*-*-hpux* } } */
/* { dg-additional-options "-fno-common" { target hppa*-*-hpux* } } */
extern void abort (void);
int a[4] __attribute__((aligned (32)));

View File

@ -1,27 +0,0 @@
/* { dg-do compile { target *-*-osf5* } } */
/* { dg-final { scan-assembler "xyzzy_one" } } */
/* { dg-final { scan-assembler "xyzzy_two" } } */
/* { dg-final { scan-assembler "xyzzz_three" } } */
/* { dg-final { scan-assembler "four" } } */
/* { dg-final { scan-assembler-not "_four" } } */
#ifndef __PRAGMA_EXTERN_PREFIX
#error
#endif
#pragma extern_prefix "xyzzy_"
extern int one(void);
extern int two(void);
#pragma extern_prefix "xyzzz_"
extern int three(void);
#pragma extern_prefix ""
extern int four(void);
int (*p[]) (void) = {
one, two, three, four
};

View File

@ -1,7 +0,0 @@
/* { dg-do compile { target *-*-osf5* } } */
#pragma extern_prefix /* { dg-warning "malformed" } */
#pragma extern_prefix foo /* { dg-warning "malformed" } */
#pragma extern_prefix "foo" 1 /* { dg-warning "junk" } */
int bar; /* silence `ISO C forbids an empty translation unit' warning */

Some files were not shown because too many files have changed in this diff Show More