aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2012-03-12 15:35:56 +0000
committerRainer Orth <ro@gcc.gnu.org>2012-03-12 15:35:56 +0000
commit5c30094f4820c9798d60403a53fea2c8b2935de6 (patch)
treea3fe9558870fae03ba4adf923e24cdedd6074642 /libgcc
parent370d8a3d6bd6f72598eed3474d2817b1af77d961 (diff)
downloadgcc-5c30094f4820c9798d60403a53fea2c8b2935de6.zip
gcc-5c30094f4820c9798d60403a53fea2c8b2935de6.tar.gz
gcc-5c30094f4820c9798d60403a53fea2c8b2935de6.tar.bz2
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
Diffstat (limited to 'libgcc')
-rw-r--r--libgcc/ChangeLog13
-rw-r--r--libgcc/config.host13
-rw-r--r--libgcc/config/alpha/gthr-posix.c266
-rw-r--r--libgcc/config/alpha/libgcc-osf5.ver58
-rw-r--r--libgcc/config/alpha/osf5-unwind.h329
-rw-r--r--libgcc/config/alpha/t-osf-pthread5
-rw-r--r--libgcc/config/alpha/t-slibgcc-osf29
-rw-r--r--libgcc/config/t-crtfm5
-rw-r--r--libgcc/gthr-posix.h45
-rw-r--r--libgcc/mkmap-flat.awk13
10 files changed, 20 insertions, 756 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index a329484..0037eaa 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,16 @@
+2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * 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.
+
2012-03-12 Richard Guenther <rguenther@suse.de>
* gthr.h (__GTHREAD_MUTEX_INIT_FUNCTION): Adjust specification.
diff --git a/libgcc/config.host b/libgcc/config.host
index 257622a..2fe4e34 100644
--- a/libgcc/config.host
+++ b/libgcc/config.host
@@ -266,8 +266,7 @@ case ${host} in
esac
case ${host} in
-*-*-darwin* | *-*-freebsd* | *-*-netbsd* | *-*-openbsd* | *-*-solaris2* | \
- alpha*-dec-osf5.1*)
+*-*-darwin* | *-*-freebsd* | *-*-netbsd* | *-*-openbsd* | *-*-solaris2*)
enable_execute_stack=enable-execute-stack-mprotect.c
;;
i[34567]86-*-mingw* | x86_64-*-mingw*)
@@ -294,16 +293,6 @@ alpha*-*-netbsd*)
alpha*-*-openbsd*)
tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
;;
-alpha*-dec-osf5.1*)
- tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee t-crtfm t-slibgcc alpha/t-slibgcc-osf"
- case ${target_thread_file} in
- posix)
- tmake_file="${tmake_file} alpha/t-osf-pthread"
- ;;
- esac
- extra_parts="${extra_parts} crtfastmath.o"
- md_unwind_header=alpha/osf5-unwind.h
- ;;
alpha64-dec-*vms*)
tmake_file="$tmake_file alpha/t-alpha alpha/t-ieee alpha/t-vms t-slibgcc-vms"
extra_parts="$extra_parts vms-dwarf2.o vms-dwarf2eh.o"
diff --git a/libgcc/config/alpha/gthr-posix.c b/libgcc/config/alpha/gthr-posix.c
deleted file mode 100644
index 02681a4..0000000
--- a/libgcc/config/alpha/gthr-posix.c
+++ /dev/null
@@ -1,266 +0,0 @@
-/* POSIX threads dummy routines for systems without weak definitions. */
-/* Compile this one with gcc. */
-/* Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 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.
-
-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/>. */
-
-#include "tconfig.h"
-#include "tm.h"
-#include "libgcc_tm.h"
-# define __gthrw_pragma(pragma) _Pragma (#pragma)
-/* Define so we provide weak definitions of functions used by libobjc only. */
-#define _LIBOBJC_WEAK
-#include "gthr.h"
-
-int
-pthread_once (pthread_once_t *once ATTRIBUTE_UNUSED,
- void (*func) (void) ATTRIBUTE_UNUSED)
-{
- return -1;
-}
-
-int
-pthread_key_create (pthread_key_t *key ATTRIBUTE_UNUSED,
- void (*dtor) (void *) ATTRIBUTE_UNUSED)
-{
- return -1;
-}
-
-int
-pthread_key_delete (pthread_key_t key ATTRIBUTE_UNUSED)
-{
- return 0;
-}
-
-void *
-pthread_getspecific (pthread_key_t key ATTRIBUTE_UNUSED)
-{
- return 0;
-}
-
-int
-pthread_setspecific (pthread_key_t key ATTRIBUTE_UNUSED,
- const void *ptr ATTRIBUTE_UNUSED)
-{
- return 0;
-}
-
-int
-pthread_create (pthread_t *thread ATTRIBUTE_UNUSED,
- const pthread_attr_t *attr ATTRIBUTE_UNUSED,
- void *(*start_routine) (void *) ATTRIBUTE_UNUSED,
- void *arg ATTRIBUTE_UNUSED)
-{
- return 0;
-}
-
-int
-pthread_join (pthread_t thread ATTRIBUTE_UNUSED,
- void **value_ptr ATTRIBUTE_UNUSED)
-{
- return 0;
-}
-
-void
-pthread_exit (void *value_ptr ATTRIBUTE_UNUSED)
-{
-}
-
-int
-pthread_detach (pthread_t thread ATTRIBUTE_UNUSED)
-{
- return 0;
-}
-
-int
-pthread_cancel (pthread_t thread ATTRIBUTE_UNUSED)
-{
- return 0;
-}
-
-int
-pthread_mutex_lock (pthread_mutex_t *mutex ATTRIBUTE_UNUSED)
-{
- return 0;
-}
-
-int
-pthread_mutex_trylock (pthread_mutex_t *mutex ATTRIBUTE_UNUSED)
-{
- return 0;
-}
-
-#ifdef _POSIX_TIMEOUTS
-#if _POSIX_TIMEOUTS >= 0
-int
-pthread_mutex_timedlock (pthread_mutex_t *mutex ATTRIBUTE_UNUSED,
- const struct timespec *abs_timeout ATTRIBUTE_UNUSED)
-{
- return 0;
-}
-#endif
-#endif /* _POSIX_TIMEOUTS */
-
-int
-pthread_mutex_unlock (pthread_mutex_t *mutex ATTRIBUTE_UNUSED)
-{
- return 0;
-}
-
-int
-pthread_mutexattr_init (pthread_mutexattr_t *attr ATTRIBUTE_UNUSED)
-{
- return 0;
-}
-
-int
-pthread_mutexattr_settype (pthread_mutexattr_t *attr ATTRIBUTE_UNUSED,
- int type ATTRIBUTE_UNUSED)
-{
- return 0;
-}
-
-int
-pthread_mutexattr_destroy (pthread_mutexattr_t *attr ATTRIBUTE_UNUSED)
-{
- return 0;
-}
-
-int
-pthread_cond_broadcast (pthread_cond_t *cond ATTRIBUTE_UNUSED)
-{
- return 0;
-}
-
-int
-pthread_cond_destroy (pthread_cond_t *cond ATTRIBUTE_UNUSED)
-{
- return 0;
-}
-
-int
-pthread_cond_init (pthread_cond_t *cond ATTRIBUTE_UNUSED,
- const pthread_condattr_t *attr ATTRIBUTE_UNUSED)
-{
- return 0;
-}
-
-int
-pthread_cond_signal (pthread_cond_t *cond ATTRIBUTE_UNUSED)
-{
- return 0;
-}
-
-int
-pthread_cond_wait (pthread_cond_t *cond ATTRIBUTE_UNUSED,
- pthread_mutex_t *mutex ATTRIBUTE_UNUSED)
-{
- return 0;
-}
-
-int
-pthread_cond_timedwait (pthread_cond_t *cond ATTRIBUTE_UNUSED,
- pthread_mutex_t *mutex ATTRIBUTE_UNUSED,
- const struct timespec *abstime ATTRIBUTE_UNUSED)
-{
- return 0;
-}
-
-int
-pthread_mutex_init (pthread_mutex_t *mutex ATTRIBUTE_UNUSED,
- const pthread_mutexattr_t *attr ATTRIBUTE_UNUSED)
-{
- return 0;
-}
-
-int
-pthread_mutex_destroy (pthread_mutex_t *mutex ATTRIBUTE_UNUSED)
-{
- return 0;
-}
-
-pthread_t
-pthread_self (void)
-{
- return (pthread_t) 0;
-}
-
-#ifdef _POSIX_PRIORITY_SCHEDULING
-#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING
-int
-sched_get_priority_max (int policy ATTRIBUTE_UNUSED)
-{
- return 0;
-}
-
-int
-sched_get_priority_min (int policy ATTRIBUTE_UNUSED)
-{
- return 0;
-}
-#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */
-#endif /* _POSIX_PRIORITY_SCHEDULING */
-
-int
-sched_yield (void)
-{
- return 0;
-}
-
-int
-pthread_attr_destroy (pthread_attr_t *attr ATTRIBUTE_UNUSED)
-{
- return 0;
-}
-
-int
-pthread_attr_init (pthread_attr_t *attr ATTRIBUTE_UNUSED)
-{
- return 0;
-}
-
-int
-pthread_attr_setdetachstate (pthread_attr_t *attr ATTRIBUTE_UNUSED,
- int detachstate ATTRIBUTE_UNUSED)
-{
- return 0;
-}
-
-#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING
-int
-pthread_getschedparam (pthread_t thread ATTRIBUTE_UNUSED,
- int *policy ATTRIBUTE_UNUSED,
- struct sched_param *param ATTRIBUTE_UNUSED)
-{
- return 0;
-}
-
-int
-pthread_setschedparam (pthread_t thread ATTRIBUTE_UNUSED,
- int policy ATTRIBUTE_UNUSED,
- const struct sched_param *param ATTRIBUTE_UNUSED)
-{
- return 0;
-}
-#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */
-
diff --git a/libgcc/config/alpha/libgcc-osf5.ver b/libgcc/config/alpha/libgcc-osf5.ver
deleted file mode 100644
index 4266928..0000000
--- a/libgcc/config/alpha/libgcc-osf5.ver
+++ /dev/null
@@ -1,58 +0,0 @@
-# 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/>.
-
-# Tru64 UNIX specific additions to libgcc-std.ver.
-
-GCC_4.7.0 {
- __udiv_qrnnd
- # Beware *not* to hide the POSIX threads related symbols provided by
- # gthr-posix.c, as this would prevent their preemption by real symbols.
- __pthread_cancel
- __pthread_cond_broadcast
- __pthread_cond_destroy
- __pthread_cond_init
- __pthread_cond_signal
- __pthread_cond_timedwait
- __pthread_cond_wait
- __pthread_create
- __pthread_detach
- __pthread_exit
- __pthread_getspecific
- __pthread_join
- __pthread_mutex_destroy
- __pthread_mutex_init
- __pthread_mutex_lock
- __pthread_mutex_trylock
- __pthread_mutex_unlock
- __pthread_once
- __pthread_self
- __pthread_setspecific
- pthread_attr_destroy
- pthread_attr_init
- pthread_attr_setdetachstate
- pthread_getschedparam
- pthread_key_create
- pthread_key_delete
- pthread_mutexattr_destroy
- pthread_mutexattr_init
- pthread_mutexattr_settype
- pthread_setschedparam
- sched_get_priority_max
- sched_get_priority_min
- sched_yield
-}
diff --git a/libgcc/config/alpha/osf5-unwind.h b/libgcc/config/alpha/osf5-unwind.h
deleted file mode 100644
index c649099..0000000
--- a/libgcc/config/alpha/osf5-unwind.h
+++ /dev/null
@@ -1,329 +0,0 @@
-/* DWARF2 EH unwinding support for Alpha Tru64.
- Copyright (C) 2010 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/>. */
-
-/* This file implements the MD_FALLBACK_FRAME_STATE_FOR macro, triggered when
- the GCC table based unwinding process hits a frame for which no unwind info
- has been registered. This typically occurs when raising an exception from a
- signal handler, because the handler is actually called from the OS kernel.
-
- The basic idea is to detect that we are indeed trying to unwind past a
- signal handler and to fill out the GCC internal unwinding structures for
- the OS kernel frame as if it had been directly called from the interrupted
- context.
-
- This is all assuming that the code to set the handler asked the kernel to
- pass a pointer to such context information. */
-
-/* --------------------------------------------------------------------------
- -- Basic principles of operation:
- --------------------------------------------------------------------------
-
- 1/ We first need a way to detect if we are trying to unwind past a signal
- handler.
-
- The typical method that is used on most platforms is to look at the code
- around the return address we have and check if it matches the OS code
- calling a handler. To determine what this code is expected to be, get a
- breakpoint into a real signal handler and look at the code around the
- return address. Depending on the library versions the pattern of the
- signal handler is different; this is the reason why we check against more
- than one pattern.
-
- On this target, the return address is right after the call and every
- instruction is 4 bytes long. For the simple case of a null dereference in
- a single-threaded app, it went like:
-
- # Check that we indeed have something we expect: the instruction right
- # before the return address is within a __sigtramp function and is a call.
-
- [... run gdb and break at the signal handler entry ...]
-
- (gdb) x /i $ra-4
- <__sigtramp+160>: jsr ra,(a3),0x3ff800d0ed4 <_fpdata+36468>
-
- # Look at the code around that return address, and eventually observe a
- # significantly large chunk of *constant* code right before the call:
-
- (gdb) x /10i $ra-44
- <__sigtramp+120>: lda gp,-27988(gp)
- <__sigtramp+124>: ldq at,-18968(gp)
- <__sigtramp+128>: lda t0,-1
- <__sigtramp+132>: stq t0,0(at)
- <__sigtramp+136>: ldq at,-18960(gp)
- <__sigtramp+140>: ldl t1,8(at)
- <__sigtramp+144>: ldq at,-18960(gp)
- <__sigtramp+148>: stl t1,12(at)
- <__sigtramp+152>: ldq at,-18960(gp)
- <__sigtramp+156>: stl t0,8(at)
-
- # The hexadecimal equivalent that we will have to match is:
-
- (gdb) x /10x $ra-44
- <__sigtramp+120>: 0x23bd92ac 0xa79db5e8 0x203fffff 0xb43c0000
- <__sigtramp+136>: 0xa79db5f0 0xa05c0008 0xa79db5f0 0xb05c000c
- <__sigtramp+152>: 0xa79db5f0 0xb03c0008
-
- The problem observed on this target with this approach is that although
- we found a constant set of instruction patterns there were some
- gp-related offsets that made the machine code to differ from one
- installation to another. This problem could have been overcome by masking
- these offsets, but we found that it would be simpler and more efficient to
- check whether the return address was part of a signal handler, by comparing
- it against some expected code offset from __sigtramp.
-
- # Check that we indeed have something we expect: the instruction
- # right before the return address is within a __sigtramp
- # function and is a call. We also need to obtain the offset
- # between the return address and the start address of __sigtramp.
-
- [... run gdb and break at the signal handler entry ...]
-
- (gdb) x /2i $ra-4
- <__sigtramp+160>: jsr ra,(a3),0x3ff800d0ed4 <_fpdata+36468>
- <__sigtramp+164>: ldah gp,16381(ra)
-
- (gdb) p (long)$ra - (long)&__sigtramp
- $2 = 164
-
- --------------------------------------------------------------------------
-
- 2/ Once we know we are going through a signal handler, we need a way to
- retrieve information about the interrupted run-time context.
-
- On this platform, the third handler's argument is a pointer to a structure
- describing this context (struct sigcontext *). We unfortunately have no
- direct way to transfer this value here, so a couple of tricks are required
- to compute it.
-
- As documented at least in some header files (e.g. sys/machine/context.h),
- the structure the handler gets a pointer to is located on the stack. As of
- today, while writing this macro, we have unfortunately not been able to
- find a detailed description of the full stack layout at handler entry time,
- so we'll have to resort to empirism :)
-
- When unwinding here, we have the handler's CFA at hand, as part of the
- current unwinding context which is one of our arguments. We presume that
- for each call to a signal handler by the same kernel routine, the context's
- structure location on the stack is always at the same offset from the
- handler's CFA, and we compute that offset from bare observation:
-
- For the simple case of a bare null dereference in a single-threaded app,
- computing the offset was done using GNAT like this:
-
- # Break on the first handler's instruction, before the prologue to have the
- # CFA in $sp, and get there:
-
- (gdb) b *&__gnat_error_handler
- Breakpoint 1 at 0x120016090: file init.c, line 378.
-
- (gdb) r
- Program received signal SIGSEGV, Segmentation fault.
-
- (gdb) c
- Breakpoint 1, __gnat_error_handler (sig=..., sip=..., context=...)
-
- # The displayed argument value are meaningless because we stopped before
- # their final "homing". We know they are passed through $a0, $a1 and $a2
- # from the ABI, though, so ...
-
- # Observe that $sp and the context pointer are in the same (stack) area,
- # and compute the offset:
-
- (gdb) p /x $sp
- $2 = 0x11fffbc80
-
- (gdb) p /x $a2
- $3 = 0x11fffbcf8
-
- (gdb) p /x (long)$a2 - (long)$sp
- $4 = 0x78
-
- --------------------------------------------------------------------------
-
- 3/ Once we know we are unwinding through a signal handler and have the
- address of the structure describing the interrupted context at hand, we
- have to fill the internal frame-state/unwind-context structures properly
- to allow the unwinding process to proceed.
-
- Roughly, we are provided with an *unwinding* CONTEXT, describing the state
- of some point P in the call chain we are unwinding through. The macro we
- implement has to fill a "frame state" structure FS that describe the P's
- caller state, by way of *rules* to compute its CFA, return address, and
- **saved** registers *locations*.
-
- For the case we are going to deal with, the caller is some kernel code
- calling a signal handler, and:
-
- o The saved registers are all in the interrupted run-time context,
-
- o The CFA is the stack pointer value when the kernel code is entered, that
- is, the stack pointer value at the interruption point, also part of the
- interrupted run-time context.
-
- o We want the return address to appear as the address of the active
- instruction at the interruption point, so that the unwinder proceeds as
- if the interruption had been a regular call. This address is also part
- of the interrupted run-time context.
-
- --
-
- Also, note that there is an important difference between the return address
- we need to claim for the kernel frame and the value of the return address
- register at the interruption point.
-
- The latter might be required to be able to unwind past the interrupted
- routine, for instance if it is interrupted before saving the incoming
- register value in its own frame, which may typically happen during stack
- probes for stack-checking purposes.
-
- It is then essential that the rules stated to locate the kernel frame
- return address don't clobber the rules describing where is saved the return
- address register at the interruption point, so some scratch register state
- entry should be used for the former. We have DWARF_ALT_FRAME_RETURN_COLUMN
- at hand exactly for that purpose.
-
- --------------------------------------------------------------------------
-
- 4/ Depending on the context (single-threaded or multi-threaded app, ...),
- the code calling the handler and the handler-cfa to interrupted-context
- offset might change, so we use a simple generic data structure to track
- the possible variants. */
-
-/* This is the structure to wrap information about each possible sighandler
- caller we may have to identify. */
-
-typedef struct {
- /* Expected return address when being called from a sighandler. */
- void *ra_value;
-
- /* Offset to get to the sigcontext structure from the handler's CFA
- when the pattern matches. */
- int cfa_to_context_offset;
-
-} sighandler_call_t;
-
-/* Helper macro for MD_FALLBACK_FRAME_STATE_FOR below.
-
- Look at RA to see if it matches within a sighandler caller.
- Set SIGCTX to the corresponding sigcontext structure (computed from
- CFA) if it does, or to 0 otherwise. */
-
-#define COMPUTE_SIGCONTEXT_FOR(RA,CFA,SIGCTX) \
-do { \
- /* Define and register the applicable patterns. */ \
- extern void __sigtramp (void); \
- \
- sighandler_call_t sighandler_calls [] = { \
- {__sigtramp + 164, 0x78} \
- }; \
- \
- int n_patterns_to_match \
- = sizeof (sighandler_calls) / sizeof (sighandler_call_t); \
- \
- int pn; /* pattern number */ \
- \
- int match = 0; /* Did last pattern match ? */ \
- \
- /* Try to match each pattern in turn. */ \
- for (pn = 0; !match && pn < n_patterns_to_match; pn ++) \
- match = ((RA) == sighandler_calls[pn].ra_value); \
- \
- (SIGCTX) = (struct sigcontext *) \
- (match ? ((CFA) + sighandler_calls[pn - 1].cfa_to_context_offset) : 0); \
-} while (0);
-
-#include <sys/context_t.h>
-
-#define REG_SP 30 /* hard reg for stack pointer */
-#define REG_RA 26 /* hard reg for return address */
-
-#define MD_FALLBACK_FRAME_STATE_FOR alpha_fallback_frame_state
-
-static _Unwind_Reason_Code
-alpha_fallback_frame_state (struct _Unwind_Context *context,
- _Unwind_FrameState *fs)
-{
- /* Return address and CFA of the frame we're attempting to unwind through,
- possibly a signal handler. */
- void *ctx_ra = (void *)context->ra;
- void *ctx_cfa = (void *)context->cfa;
-
- /* CFA of the intermediate abstract kernel frame between the interrupted
- code and the signal handler, if we're indeed unwinding through a signal
- handler. */
- void *k_cfa;
-
- /* Pointer to the sigcontext structure pushed by the kernel when we're
- unwinding through a signal handler. */
- struct sigcontext *sigctx;
- int i;
-
- COMPUTE_SIGCONTEXT_FOR (ctx_ra, ctx_cfa, sigctx);
-
- if (sigctx == 0)
- return _URC_END_OF_STACK;
-
- /* The kernel frame's CFA is exactly the stack pointer value at the
- interruption point. */
- k_cfa = (void *) sigctx->sc_regs [REG_SP];
-
- /* State the rules to compute the CFA we have the value of: use the
- previous CFA and offset by the difference between the two. See
- uw_update_context_1 for the supporting details. */
- fs->regs.cfa_how = CFA_REG_OFFSET;
- fs->regs.cfa_reg = __builtin_dwarf_sp_column ();
- fs->regs.cfa_offset = k_cfa - ctx_cfa;
-
- /* Fill the internal frame_state structure with information stating
- where each register of interest in the saved context can be found
- from the CFA. */
-
- /* The general registers are in sigctx->sc_regs. Leave out r31, which
- is read-as-zero. It makes no sense restoring it, and we are going to
- use the state entry for the kernel return address rule below.
-
- This loop must cover at least all the callee-saved registers, and
- we just don't bother specializing the set here. */
- for (i = 0; i <= 30; i ++)
- {
- fs->regs.reg[i].how = REG_SAVED_OFFSET;
- fs->regs.reg[i].loc.offset
- = (void *) &sigctx->sc_regs[i] - (void *) k_cfa;
- }
-
- /* Ditto for the floating point registers in sigctx->sc_fpregs. */
- for (i = 0; i <= 31; i ++)
- {
- fs->regs.reg[32+i].how = REG_SAVED_OFFSET;
- fs->regs.reg[32+i].loc.offset
- = (void *) &sigctx->sc_fpregs[i] - (void *) k_cfa;
- }
-
- /* State the rules to find the kernel's code "return address", which
- is the address of the active instruction when the signal was caught,
- in sigctx->sc_pc. Use DWARF_ALT_FRAME_RETURN_COLUMN since the return
- address register is a general register and should be left alone. */
- fs->retaddr_column = DWARF_ALT_FRAME_RETURN_COLUMN;
- fs->regs.reg[DWARF_ALT_FRAME_RETURN_COLUMN].how = REG_SAVED_OFFSET;
- fs->regs.reg[DWARF_ALT_FRAME_RETURN_COLUMN].loc.offset
- = (void *) &sigctx->sc_pc - (void *) k_cfa;
- fs->signal_frame = 1;
-
- return _URC_NO_REASON;
-}
diff --git a/libgcc/config/alpha/t-osf-pthread b/libgcc/config/alpha/t-osf-pthread
deleted file mode 100644
index 9a175db..0000000
--- a/libgcc/config/alpha/t-osf-pthread
+++ /dev/null
@@ -1,5 +0,0 @@
-# Compile libgcc2 with POSIX threads supports
-HOST_LIBGCC2_CFLAGS += -pthread
-
-# Provide dummy POSIX threads functions
-LIB2ADD += $(srcdir)/config/alpha/gthr-posix.c
diff --git a/libgcc/config/alpha/t-slibgcc-osf b/libgcc/config/alpha/t-slibgcc-osf
deleted file mode 100644
index 66e5cf1..0000000
--- a/libgcc/config/alpha/t-slibgcc-osf
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright (C) 2000, 2001, 2003, 2004, 2005, 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/>.
-
-# Build a shared libgcc library with the Tru64 UNIX linker.
-
-SHLIB_LDFLAGS = -Wl,-msym -Wl,-set_version,gcc.1 -Wl,-soname,$(SHLIB_SONAME) \
- -Wl,-hidden -Wl,-input,$(SHLIB_MAP)
-
-SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk
-SHLIB_MKMAP_OPTS = -v osf_export=1
-# Needed so mkmap-flat.awk can parse the nm output.
-SHLIB_NM_FLAGS = -Bg
-SHLIB_MAPFILES = libgcc-std.ver $(srcdir)/config/alpha/libgcc-osf5.ver
diff --git a/libgcc/config/t-crtfm b/libgcc/config/t-crtfm
index 1d3b8ec..61e6269 100644
--- a/libgcc/config/t-crtfm
+++ b/libgcc/config/t-crtfm
@@ -1,5 +1,2 @@
-# -frandom-seed is necessary to avoid bootstrap comparison failures due to
-# changing mangled names of the constructor on Tru64 Unix, but harmless
-# otherwise.
crtfastmath.o: $(srcdir)/config/$(cpu_type)/crtfastmath.c
- $(gcc_compile) -frandom-seed=gcc-crtfastmath -c $<
+ $(gcc_compile) -c $<
diff --git a/libgcc/gthr-posix.h b/libgcc/gthr-posix.h
index 6c9af1a..67d79ff 100644
--- a/libgcc/gthr-posix.h
+++ b/libgcc/gthr-posix.h
@@ -1,7 +1,7 @@
/* Threads compatibility routines for libgcc2 and libobjc. */
/* Compile this one with gcc. */
/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
- 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
@@ -33,11 +33,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define __GTHREADS 1
#define __GTHREADS_CXX0X 1
-/* Some implementations of <pthread.h> require this to be defined. */
-#if !defined(_REENTRANT) && defined(__osf__)
-#define _REENTRANT 1
-#endif
-
#include <pthread.h>
#if ((defined(_LIBOBJC) || defined(_LIBOBJC_WEAK)) \
@@ -105,39 +100,6 @@ typedef struct timespec __gthread_time_t;
/* Typically, __gthrw_foo is a weak reference to symbol foo. */
#define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name)
-/* On Tru64, /usr/include/pthread.h uses #pragma extern_prefix "__" to
- map a subset of the POSIX pthread API to mangled versions of their
- names. */
-#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_)
-#define __gthrw3(name) __gthrw2(__gthrw_ ## name, __ ## name, name)
-__gthrw3(pthread_once)
-__gthrw3(pthread_getspecific)
-__gthrw3(pthread_setspecific)
-
-__gthrw3(pthread_create)
-__gthrw3(pthread_join)
-__gthrw3(pthread_detach)
-__gthrw3(pthread_equal)
-__gthrw3(pthread_self)
-__gthrw3(pthread_cancel)
-__gthrw3(sched_yield)
-
-__gthrw3(pthread_mutex_lock)
-__gthrw3(pthread_mutex_trylock)
-#if _GTHREAD_USE_MUTEX_TIMEDLOCK
-__gthrw3(pthread_mutex_timedlock)
-#endif
-__gthrw3(pthread_mutex_unlock)
-__gthrw3(pthread_mutex_init)
-__gthrw3(pthread_mutex_destroy)
-
-__gthrw3(pthread_cond_init)
-__gthrw3(pthread_cond_broadcast)
-__gthrw3(pthread_cond_signal)
-__gthrw3(pthread_cond_wait)
-__gthrw3(pthread_cond_timedwait)
-__gthrw3(pthread_cond_destroy)
-#else
__gthrw(pthread_once)
__gthrw(pthread_getspecific)
__gthrw(pthread_setspecific)
@@ -167,7 +129,6 @@ __gthrw(pthread_cond_signal)
__gthrw(pthread_cond_wait)
__gthrw(pthread_cond_timedwait)
__gthrw(pthread_cond_destroy)
-#endif
__gthrw(pthread_key_create)
__gthrw(pthread_key_delete)
@@ -178,11 +139,7 @@ __gthrw(pthread_mutexattr_destroy)
#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK)
/* Objective-C. */
-#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_)
-__gthrw3(pthread_exit)
-#else
__gthrw(pthread_exit)
-#endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */
#ifdef _POSIX_PRIORITY_SCHEDULING
#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING
__gthrw(sched_get_priority_max)
diff --git a/libgcc/mkmap-flat.awk b/libgcc/mkmap-flat.awk
index ec5e1fd..234de22 100644
--- a/libgcc/mkmap-flat.awk
+++ b/libgcc/mkmap-flat.awk
@@ -1,5 +1,6 @@
# Generate a flat list of symbols to export.
-# Copyright (C) 2007, 2008, 2009, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2008, 2009, 2011, 2012
+# Free Software Foundation, Inc.
# Contributed by Richard Henderson <rth@cygnus.com>
#
# This file is part of GCC.
@@ -20,8 +21,6 @@
# Options:
# "-v leading_underscore=1" : Symbols in map need leading underscore.
-# "-v osf_export=1" : Create -input file for Tru64 UNIX linker
-# instead of map file.
# "-v pe_dll=1" : Create .DEF file for Windows PECOFF
# DLL link instead of map file.
@@ -100,10 +99,6 @@ END {
}
for (sym in export)
- if (def[sym] || (pe_dll && def["_" sym])) {
- if (!osf_export)
- print sym;
- else
- print "-exported_symbol " sym;
- }
+ if (def[sym] || (pe_dll && def["_" sym]))
+ print sym;
}