t-linux (SHLIB_LINK): Override to use a linker script libgcc_s.so.
authorKaz Kojima <kkojima@gcc.gnu.org>
Thu, 9 Oct 2003 04:21:51 +0000 (04:21 +0000)
committerKaz Kojima <kkojima@gcc.gnu.org>
Thu, 9 Oct 2003 04:21:51 +0000 (04:21 +0000)
* config/sh/t-linux (SHLIB_LINK): Override to use a linker script
libgcc_s.so.
(SHLIB_INSTALL): Likewise.

From-SVN: r72254

gcc/ChangeLog
gcc/config/sh/t-linux

index 484e607f9f7eb96b08b4b77d475315ef22d80920..f4e78fc78c346d611304710828d933336418b1b9 100644 (file)
@@ -1,3 +1,9 @@
+2003-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/t-linux (SHLIB_LINK): Override to use a linker script
+       libgcc_s.so.
+       (SHLIB_INSTALL): Likewise.
+
 2003-10-08  Nathanael Nerode  <neroden@gcc.gnu.org>
 
        * doc/install.texi: Remove reference to removed 'pthreads' thread
index 4bcbf87ef489bf24ed1b3a4eefff0398aff0401d..c3c4f9e8a1b6d2fe6b61daff57693aed304666ad 100644 (file)
@@ -13,3 +13,23 @@ EXTRA_MULTILIB_PARTS= crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o
 # Override t-slibgcc-elf-ver to export some libgcc symbols with
 # the symbol versions that glibc used.
 SHLIB_MAPFILES =  $(srcdir)/libgcc-std.ver $(srcdir)/config/sh/libgcc-glibc.ver
+
+# Override SHLIB_LINK and SHLIB_INSTALL to use linker script
+# libgcc_s.so.
+SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
+       -Wl,--soname=$(SHLIB_SONAME) \
+       -Wl,--version-script=$(SHLIB_MAP) \
+       -o $(SHLIB_NAME) @multilib_flags@ $(SHLIB_OBJS) $(SHLIB_LC) && \
+       rm -f $(SHLIB_SOLINK) && \
+       (echo "/* GNU ld script"; \
+        echo "   Use the shared library, but some functions are only in"; \
+        echo "   the static library.  */"; \
+        echo "GROUP ( $(SHLIB_SONAME) libgcc.a )" \
+       ) > $(SHLIB_SOLINK)
+SHLIB_INSTALL = \
+       $$(SHELL) $$(srcdir)/mkinstalldirs $$(slibdir)$(SHLIB_SLIBDIR_QUAL); \
+       $(INSTALL_DATA) $(SHLIB_NAME) \
+         $$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SONAME); \
+       rm -f $$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK); \
+       $(INSTALL_DATA) $(SHLIB_SOLINK) \
+         $$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK)