From 269008262eee91f534468a55b6889d947c619356 Mon Sep 17 00:00:00 2001 From: Kaz Kojima Date: Tue, 9 Jan 2007 10:50:23 +0000 Subject: t-linux (TARGET_LIBGCC2_CFLAGS): Delete. gcc/ * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Delete. (SHLIB_MAPFILES, SHLIB_LINK, SHLIB_INSTALL): Likewise. libgcc/ * config/sh/t-linux: New. * config.host (sh*-*-linux*): Set tmake_file. From-SVN: r120619 --- libgcc/ChangeLog | 5 +++++ libgcc/config.host | 5 +++++ libgcc/config/sh/t-linux | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 libgcc/config/sh/t-linux (limited to 'libgcc') diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 7020915b952..a1f3b931071 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,8 @@ +2007-01-09 Kaz Kojima + + * config/sh/t-linux: New. + * config.host (sh*-*-linux*): Set tmake_file. + 2007-01-05 Daniel Jacobowitz * Makefile.in (install): Handle multilibs. diff --git a/libgcc/config.host b/libgcc/config.host index ac18f04a0a4..a6e6a101480 100644 --- a/libgcc/config.host +++ b/libgcc/config.host @@ -548,6 +548,11 @@ sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \ sh-*-linux* | sh[346lbe]*-*-linux* | \ sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \ sh64-*-netbsd* | sh64l*-*-netbsd*) + case ${host} in + sh*-*-linux*) + tmake_file="${tmake_file} sh/t-linux" + ;; + esac ;; sh-*-rtemscoff*) ;; diff --git a/libgcc/config/sh/t-linux b/libgcc/config/sh/t-linux new file mode 100644 index 00000000000..be0b1282431 --- /dev/null +++ b/libgcc/config/sh/t-linux @@ -0,0 +1,37 @@ +HOST_LIBGCC2_CFLAGS = -fpic -DNO_FPSCR_VALUES + +# Override t-slibgcc-elf-ver to export some libgcc symbols with +# the symbol versions that glibc used, and hide some lib1func +# routines which should not be called via PLT. We have to create +# the list from scratch. +SHLIB_MAPFILES = \ + $(gcc_srcdir)/libgcc-std.ver \ + $(gcc_srcdir)/config/sh/libgcc-excl.ver \ + $(gcc_srcdir)/config/sh/libgcc-glibc.ver + +# Override SHLIB_LINK and SHLIB_INSTALL to use linker script +# libgcc_s.so. +SHLIB_LINK = $(CC) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \ + -Wl,--soname=@shlib_base_name@.so.1 \ + -Wl,--version-script=@shlib_map_file@ \ + -o @multilib_dir@/@shlib_base_name@.so.1.tmp @multilib_flags@ \ + @shlib_objs@ -lc && \ + rm -f @multilib_dir@/@shlib_base_name@.so && \ + if [ -f @multilib_dir@/@shlib_base_name@.so.1 ]; then \ + mv -f @multilib_dir@/@shlib_base_name@.so.1 \ + @multilib_dir@/@shlib_base_name@.so.1.backup; \ + else true; fi && \ + mv @multilib_dir@/@shlib_base_name@.so.1.tmp \ + @multilib_dir@/@shlib_base_name@.so.1 && \ + (echo "/* GNU ld script"; \ + echo " Use the shared library, but some functions are only in"; \ + echo " the static library. */"; \ + echo "GROUP ( @shlib_base_name@.so.1 libgcc.a )" \ + ) > @multilib_dir@/@shlib_base_name@.so +SHLIB_INSTALL = \ + $(mkinstalldirs) $(DESTDIR)$(slibdir)@shlib_slibdir_qual@; \ + $(INSTALL_DATA) @multilib_dir@/@shlib_base_name@.so.1 \ + $(DESTDIR)$(slibdir)@shlib_slibdir_qual@/@shlib_base_name@.so.1; \ + rm -f $(DESTDIR)$(slibdir)@shlib_slibdir_qual@/@shlib_base_name@.so; \ + $(INSTALL_DATA) @multilib_dir@/@shlib_base_name@.so \ + $(DESTDIR)$(slibdir)@shlib_slibdir_qual@/@shlib_base_name@.so -- cgit v1.2.1