about summary refs log tree commit diff
path: root/Makerules
diff options
context:
space:
mode:
Diffstat (limited to 'Makerules')
-rw-r--r--Makerules18
1 files changed, 7 insertions, 11 deletions
diff --git a/Makerules b/Makerules
index 66a5f28281..07e4da5e2e 100644
--- a/Makerules
+++ b/Makerules
@@ -577,17 +577,13 @@ ifndef subdir
 # the special object libc-syms.so that contains just the dynamic symbol
 # table of the shared libc object.
 install: $(libdir)/libc.so
-$(libdir)/libc.so: $(common-objpfx)libc-syms.so subdir_install
-	$(AR) crvs $@ $< `cat $(addprefix $(common-objpfx)sor-,$(subdirs))`
-
-# Extract from the shared object file just the dynamic symbol table
-# needed to link against the shared library.
-$(common-objpfx)libc-syms.so: $(common-objpfx)libc.so
-	AWK='$(AWK)' OBJCOPY='$(OBJCOPY)' OBJDUMP='$(OBJDUMP)' \
-	./extract-dynsym $< $@
-ifndef subdir
-generated += libc-syms.so
-endif
+$(libdir)/libc.so: $(common-objpfx)libc.so$(libc.so-version) \
+		   $(common-objpfx)libc.a
+	(echo '/* Use the shared library, but some functions are only in';\
+	 echo '   the static library, so try that secondarily.  */';\
+	 echo 'GROUP ( $(^F) )') > $@.new
+	mv -f $@.new $@
+
 endif
 
 else