diff options
author | kkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-01-09 10:50:23 +0000 |
---|---|---|
committer | kkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-01-09 10:50:23 +0000 |
commit | 97f1a7045ad4240665bb14b581e62d01dbb402c2 (patch) | |
tree | 229ae6c189cf97a363f5928df5510ac67a6e5098 /libgcc/config/sh | |
parent | 48adc03d70345a7cdabf2c2917b17036a4ffb3b8 (diff) | |
download | gcc-97f1a7045ad4240665bb14b581e62d01dbb402c2.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120619 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgcc/config/sh')
-rw-r--r-- | libgcc/config/sh/t-linux | 37 |
1 files changed, 37 insertions, 0 deletions
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 |