summaryrefslogtreecommitdiff
path: root/libgcc/config/sh
diff options
context:
space:
mode:
authorupstream source tree <ports@midipix.org>2015-03-15 20:14:05 -0400
committerupstream source tree <ports@midipix.org>2015-03-15 20:14:05 -0400
commit554fd8c5195424bdbcabf5de30fdc183aba391bd (patch)
tree976dc5ab7fddf506dadce60ae936f43f58787092 /libgcc/config/sh
downloadcbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.bz2
cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.xz
obtained gcc-4.6.4.tar.bz2 from upstream website;upstream
verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository.
Diffstat (limited to 'libgcc/config/sh')
-rw-r--r--libgcc/config/sh/t-linux37
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 000000000..8fce10915
--- /dev/null
+++ b/libgcc/config/sh/t-linux
@@ -0,0 +1,37 @@
+HOST_LIBGCC2_CFLAGS = -fpic -mieee -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