aboutsummaryrefslogtreecommitdiffstats
path: root/main/musl/0010-have-configure-check-add-gc-sections-linker-option.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/musl/0010-have-configure-check-add-gc-sections-linker-option.patch')
-rw-r--r--main/musl/0010-have-configure-check-add-gc-sections-linker-option.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/main/musl/0010-have-configure-check-add-gc-sections-linker-option.patch b/main/musl/0010-have-configure-check-add-gc-sections-linker-option.patch
new file mode 100644
index 0000000000..a9549a2a61
--- /dev/null
+++ b/main/musl/0010-have-configure-check-add-gc-sections-linker-option.patch
@@ -0,0 +1,32 @@
+From 6a851e3ab8a1ae524b2aa6218615ec1c86528e9c Mon Sep 17 00:00:00 2001
+From: Rich Felker <dalias@aerifal.cx>
+Date: Wed, 4 Nov 2015 21:40:36 -0500
+Subject: [PATCH] have configure check/add --gc-sections linker option
+
+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 | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/configure b/configure
+index d04c860..dece1d0 100755
+--- 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
+
+--
+2.7.0
+