have configure check/add --gc-sections linker option
authorRich Felker <dalias@aerifal.cx>
Thu, 5 Nov 2015 02:40:36 +0000 (21:40 -0500)
committerRich Felker <dalias@aerifal.cx>
Thu, 5 Nov 2015 02:40:36 +0000 (21:40 -0500)
this allowing the linker to drop certain weak definitions that are
only used as dummies for static linking. they could be eliminated for
shared library builds using the preprocessor instead, but we are
trying to transition to using the same object files for shared and
static libc, so a link-time solution is preferable.

configure

index d04c860a811f4b866663bf7b451e61b0fa86e21e..dece1d09e465051f0f09fa76a8475455e6820b7c 100755 (executable)
--- a/configure
+++ b/configure
@@ -521,6 +521,10 @@ fi
 tryldflag LDFLAGS_AUTO -Wl,--sort-section,alignment
 tryldflag LDFLAGS_AUTO -Wl,--sort-common
 
+# When linking shared library, drop dummy weak definitions that were
+# replaced by strong definitions from other translation units.
+tryldflag LDFLAGS_AUTO -Wl,--gc-sections
+
 # Some patched GCC builds have these defaults messed up...
 tryldflag LDFLAGS_AUTO -Wl,--hash-style=both