summaryrefslogtreecommitdiffstats
path: root/gcc
diff options
context:
space:
mode:
authorkkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4>2003-10-09 04:21:51 +0000
committerkkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4>2003-10-09 04:21:51 +0000
commitad383c6cf41bbd6d0bf966fe32f4ab5ddd31e10a (patch)
tree2a5329c3bcf0d393438e8f637a99bde72e6b6bf3 /gcc
parenta9e0997ac4595892325c20aa78308f75ea5956d7 (diff)
downloadppe42-gcc-ad383c6cf41bbd6d0bf966fe32f4ab5ddd31e10a.tar.gz
ppe42-gcc-ad383c6cf41bbd6d0bf966fe32f4ab5ddd31e10a.zip
* config/sh/t-linux (SHLIB_LINK): Override to use a linker script
libgcc_s.so. (SHLIB_INSTALL): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72254 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/sh/t-linux20
2 files changed, 26 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 484e607f9f7..f4e78fc78c3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/sh/t-linux b/gcc/config/sh/t-linux
index 4bcbf87ef48..c3c4f9e8a1b 100644
--- a/gcc/config/sh/t-linux
+++ b/gcc/config/sh/t-linux
@@ -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)
OpenPOWER on IntegriCloud