t-osf5: Remove.

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.

From-SVN: r174603
This commit is contained in:
Rainer Orth 2011-06-03 13:23:35 +00:00 committed by Rainer Orth
parent 16868d849b
commit ee33b5f0b2
14 changed files with 142 additions and 59 deletions

View File

@ -1,3 +1,10 @@
2011-06-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* 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.
2011-06-03 Julian Brown <julian@codesourcery.com>
* config/arm/arm-cores.def (strongarm, strongarm110, strongarm1100)

View File

@ -756,7 +756,7 @@ alpha*-dec-osf5.1*)
extra_passes="mips-tfile mips-tdump"
fi
use_collect2=yes
tmake_file="alpha/t-alpha alpha/t-ieee alpha/t-crtfm alpha/t-osf5"
tmake_file="t-slibgcc-dummy"
tm_file="${tm_file} alpha/osf5.h"
tm_defines="${tm_defines} TARGET_SUPPORT_ARCH=1"
extra_options="${extra_options} rpath.opt alpha/osf5.opt"
@ -765,7 +765,6 @@ alpha*-dec-osf5.1*)
case ${enable_threads} in
"" | yes | posix)
thread_file='posix'
tmake_file="${tmake_file} alpha/t-osf-pthread"
;;
esac
;;

View File

@ -1,48 +0,0 @@
# Copyright (C) 2000, 2001, 2003, 2004, 2005 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/>.
# Compile crtbeginS.o and crtendS.o with pic.
CRTSTUFF_T_CFLAGS_S = -fPIC
# Compile libgcc2.a with pic.
TARGET_LIBGCC2_CFLAGS = -fPIC
# Build a shared libgcc library.
SHLIB_EXT = .so
SHLIB_NAME = @shlib_base_name@.so
SHLIB_SONAME = @shlib_base_name@.so.1
SHLIB_OBJS = @shlib_objs@
# Beware *not* to hide the POSIX threads related symbols provided by
# gthr-posix.c, as this would prevent their preemption by real symbols.
SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
-Wl,-msym -Wl,-set_version,gcc.1 -Wl,-soname,$(SHLIB_SONAME) \
-o $(SHLIB_NAME).tmp @multilib_flags@ $(SHLIB_OBJS) -lc && \
rm -f $(SHLIB_SONAME) && \
if [ -f $(SHLIB_NAME) ]; then \
mv -f $(SHLIB_NAME) $(SHLIB_NAME).backup; \
else true; fi && \
mv $(SHLIB_NAME).tmp $(SHLIB_NAME) && \
$(LN_S) $(SHLIB_NAME) $(SHLIB_SONAME)
# $(slibdir) double quoted to protect it from expansion while building
# libgcc.mk. We want this delayed until actual install time.
SHLIB_INSTALL = \
$$(mkinstalldirs) $$(DESTDIR)$$(slibdir); \
$(INSTALL_DATA) $(SHLIB_NAME) $$(DESTDIR)$$(slibdir)/$(SHLIB_SONAME); \
rm -f $$(DESTDIR)$$(slibdir)/$(SHLIB_NAME); \
$(LN_S) $(SHLIB_SONAME) $$(DESTDIR)$$(slibdir)/$(SHLIB_NAME)

View File

@ -1,5 +1,5 @@
# Generate a flat list of symbols to export.
# Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
# Copyright (C) 2007, 2008, 2009, 2011 Free Software Foundation, Inc.
# Contributed by Richard Henderson <rth@cygnus.com>
#
# This file is part of GCC.
@ -20,6 +20,8 @@
# 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.
@ -98,6 +100,10 @@ END {
}
for (sym in export)
if (def[sym] || (pe_dll && def["_" sym]))
print sym;
if (def[sym] || (pe_dll && def["_" sym])) {
if (!osf_export)
print sym;
else
print "-exported_symbol " sym;
}
}

View File

@ -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

View File

@ -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"

View File

@ -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
}

View File

@ -0,0 +1,2 @@
# This is a support routine for longlong.h, used by libgcc2.c.
LIB2ADD += $(gcc_srcdir)/config/alpha/qrnnd.asm

View File

@ -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 $<

View File

@ -0,0 +1,2 @@
# All alphas get an IEEE complaint set of libraries.
HOST_LIBGCC2_CFLAGS += -mieee

View File

@ -1,5 +1,5 @@
# Provide dummy POSIX threads functions
LIB2FUNCS_EXTRA += $(srcdir)/gthr-posix.c
# Compile libgcc2 with POSIX threads supports
TARGET_LIBGCC2_CFLAGS=-pthread
HOST_LIBGCC2_CFLAGS += -pthread
# Provide dummy POSIX threads functions
LIB2ADD += $(gcc_srcdir)/gthr-posix.c

View File

@ -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

6
libgcc/configure vendored
View File

@ -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; }

View File

@ -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(