diff options
author | ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-06-03 13:23:35 +0000 |
---|---|---|
committer | ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-06-03 13:23:35 +0000 |
commit | 541346b9f18a694a8eed52aaa1ee613f21f0a545 (patch) | |
tree | dd0545b550441adbc780cb3b6024f826e84539f9 /libgcc | |
parent | 290a6dcffaee1d5e390fd4f2bd410888bd0ea566 (diff) | |
download | gcc-541346b9f18a694a8eed52aaa1ee613f21f0a545.tar.gz |
gcc:
* config/alpha/t-osf5: Remove.
* config/alpha/t-osf-pthread: Remove.
* config.gcc (alpha*-dec-osf5.1*): Set tmake_file to t-slibgcc-dummy.
* mkmap-flat.awk: Handle osf_export for Tru64 UNIX linker -input file.
libgcc:
* configure.ac (target_thread_file): Determine thread model.
* configure: Regenerate.
* config.host (alpha*-dec-osf5.1*): Set tmake_file, extra_parts.
* config/alpha/t-alpha: New file.
* config/alpha/t-crtfm: Use $<.
* config/alpha/t-ieee: New file.
* config/alpha/t-osf-pthread: New file.
* config/alpha/t-slibgcc-osf: New file.
* config/alpha/libgcc-osf5.ver: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174603 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgcc')
-rw-r--r-- | libgcc/ChangeLog | 12 | ||||
-rw-r--r-- | libgcc/config.host | 7 | ||||
-rw-r--r-- | libgcc/config/alpha/libgcc-osf5.ver | 58 | ||||
-rw-r--r-- | libgcc/config/alpha/t-alpha | 2 | ||||
-rw-r--r-- | libgcc/config/alpha/t-crtfm | 3 | ||||
-rw-r--r-- | libgcc/config/alpha/t-ieee | 2 | ||||
-rw-r--r-- | libgcc/config/alpha/t-osf-pthread | 5 | ||||
-rw-r--r-- | libgcc/config/alpha/t-slibgcc-osf | 29 | ||||
-rw-r--r-- | libgcc/configure | 6 | ||||
-rw-r--r-- | libgcc/configure.ac | 4 |
10 files changed, 126 insertions, 2 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index d4d87a5e990..7f8050cd446 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,15 @@ +2011-06-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * configure.ac (target_thread_file): Determine thread model. + * configure: Regenerate. + * config.host (alpha*-dec-osf5.1*): Set tmake_file, extra_parts. + * config/alpha/t-alpha: New file. + * config/alpha/t-crtfm: Use $<. + * config/alpha/t-ieee: New file. + * config/alpha/t-osf-pthread: New file. + * config/alpha/t-slibgcc-osf: New file. + * config/alpha/libgcc-osf5.ver: New file. + 2011-06-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> * config.host (i[34567]86-*-solaris2*): Add i386/t-crtfm to diff --git a/libgcc/config.host b/libgcc/config.host index f064952485d..3d92b44d3c6 100644 --- a/libgcc/config.host +++ b/libgcc/config.host @@ -218,6 +218,13 @@ alpha*-*-netbsd*) alpha*-*-openbsd*) ;; alpha*-dec-osf5.1*) + tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee alpha/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} qrnnd.o crtfastmath.o gthr-posix.o" ;; alpha64-dec-*vms*) tmake_file="vms/t-vms vms/t-vms64 alpha/t-vms" diff --git a/libgcc/config/alpha/libgcc-osf5.ver b/libgcc/config/alpha/libgcc-osf5.ver new file mode 100644 index 00000000000..4266928d1cf --- /dev/null +++ b/libgcc/config/alpha/libgcc-osf5.ver @@ -0,0 +1,58 @@ +# 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/t-alpha b/libgcc/config/alpha/t-alpha new file mode 100644 index 00000000000..14c72d0808b --- /dev/null +++ b/libgcc/config/alpha/t-alpha @@ -0,0 +1,2 @@ +# This is a support routine for longlong.h, used by libgcc2.c. +LIB2ADD += $(gcc_srcdir)/config/alpha/qrnnd.asm diff --git a/libgcc/config/alpha/t-crtfm b/libgcc/config/alpha/t-crtfm index 48c21d88f24..5060c156451 100644 --- a/libgcc/config/alpha/t-crtfm +++ b/libgcc/config/alpha/t-crtfm @@ -2,5 +2,4 @@ # while migrating this rule from the GCC directory, but I do not # know why it is necessary if no other crt file uses it. crtfastmath.o: $(gcc_srcdir)/config/alpha/crtfastmath.c - $(gcc_compile) -frandom-seed=gcc-crtfastmath -c \ - $(gcc_srcdir)/config/alpha/crtfastmath.c + $(gcc_compile) -frandom-seed=gcc-crtfastmath -c $< diff --git a/libgcc/config/alpha/t-ieee b/libgcc/config/alpha/t-ieee new file mode 100644 index 00000000000..5fdc729ec52 --- /dev/null +++ b/libgcc/config/alpha/t-ieee @@ -0,0 +1,2 @@ +# All alphas get an IEEE complaint set of libraries. +HOST_LIBGCC2_CFLAGS += -mieee diff --git a/libgcc/config/alpha/t-osf-pthread b/libgcc/config/alpha/t-osf-pthread new file mode 100644 index 00000000000..c51f375a048 --- /dev/null +++ b/libgcc/config/alpha/t-osf-pthread @@ -0,0 +1,5 @@ +# Compile libgcc2 with POSIX threads supports +HOST_LIBGCC2_CFLAGS += -pthread + +# Provide dummy POSIX threads functions +LIB2ADD += $(gcc_srcdir)/gthr-posix.c diff --git a/libgcc/config/alpha/t-slibgcc-osf b/libgcc/config/alpha/t-slibgcc-osf new file mode 100644 index 00000000000..33a07a7b6aa --- /dev/null +++ b/libgcc/config/alpha/t-slibgcc-osf @@ -0,0 +1,29 @@ +# 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 = $(gcc_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/configure b/libgcc/configure index 5acee3a63b1..8232725f372 100644 --- a/libgcc/configure +++ b/libgcc/configure @@ -3760,6 +3760,12 @@ $as_echo "$acl_cv_prog_gnu_ld" >&6; } with_gnu_ld=$acl_cv_prog_gnu_ld +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for thread model used by GCC" >&5 +$as_echo_n "checking for thread model used by GCC... " >&6; } +target_thread_file=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'` +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $target_thread_file" >&5 +$as_echo "$target_thread_file" >&6; } + # Check for assembler CFI support. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether assembler supports CFI directives" >&5 $as_echo_n "checking whether assembler supports CFI directives... " >&6; } diff --git a/libgcc/configure.ac b/libgcc/configure.ac index a81e20943bf..75f3967b0c3 100644 --- a/libgcc/configure.ac +++ b/libgcc/configure.ac @@ -169,6 +169,10 @@ AC_SUBST(fixed_point) AC_LIB_PROG_LD_GNU +AC_MSG_CHECKING([for thread model used by GCC]) +target_thread_file=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'` +AC_MSG_RESULT([$target_thread_file]) + # Check for assembler CFI support. AC_CACHE_CHECK([whether assembler supports CFI directives], [libgcc_cv_cfi], [AC_COMPILE_IFELSE( |