summaryrefslogtreecommitdiff
path: root/gcc/config/sparc/t-slibgcc-sld
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/sparc/t-slibgcc-sld')
-rw-r--r--gcc/config/sparc/t-slibgcc-sld12
1 files changed, 8 insertions, 4 deletions
diff --git a/gcc/config/sparc/t-slibgcc-sld b/gcc/config/sparc/t-slibgcc-sld
index d103c062ec2..50107229e50 100644
--- a/gcc/config/sparc/t-slibgcc-sld
+++ b/gcc/config/sparc/t-slibgcc-sld
@@ -4,9 +4,13 @@ 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
-SHLIB_INSTALL = $(INSTALL_DATA) @shlib_base_name@.so $(slibdir)/@shlib_base_name@.so.0; \
- rm -f $(slibdir)/@shlib_base_name@; \
- $(LN_S) @shlib_base_name@.so.0 $(slibdir)/@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