aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/t-slibgcc-sld
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/t-slibgcc-sld')
-rw-r--r--gcc/config/t-slibgcc-sld16
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/config/t-slibgcc-sld b/gcc/config/t-slibgcc-sld
new file mode 100644
index 00000000000..50107229e50
--- /dev/null
+++ b/gcc/config/t-slibgcc-sld
@@ -0,0 +1,16 @@
+# Build a shared libgcc library with the Solaris linker.
+
+SHLIB_EXT = .so
+SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
+ -Wl,-h,@shlib_base_name@.so.0 -Wl,-z,text -Wl,-z,defs \
+ -Wl,-M,@shlib_map_file@ -o @shlib_base_name@.so \
+ @multilib_flags@ @shlib_objs@ -lc && \
+ rm -f @shlib_base_name@.so.0 && \
+ $(LN_S) @shlib_base_name@.so @shlib_base_name@.so.0
+# $(slibdir) double quoted to protect it from expansion while building
+# libgcc.mk. We want this delayed until actual install time.
+SHLIB_INSTALL = $(INSTALL_DATA) @shlib_base_name@.so $$(slibdir)/@shlib_base_name@.so.0; \
+ rm -f $$(slibdir)/@shlib_base_name@.so; \
+ $(LN_S) @shlib_base_name@.so.0 $$(slibdir)/@shlib_base_name@.so
+SHLIB_MKMAP = $(srcdir)/mkmap-symver.awk
+SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver