diff options
authorRich Felker <>2012-06-07 00:32:22 -0400
committerRich Felker <>2012-06-07 00:32:22 -0400
commit498a100d05666024fd0d409a27709a03e7e58dd3 (patch)
parentf1fd7577ba7eb2a202833e89c63b8e01dedfca05 (diff)
check for ld support of -Bsymbolic-functions; disable shared if not avail
this issue affects the last gpl2 version of binutils, which some people are still using out of aversion to gpl3. musl requires -Bsymbolic-functions because it's the only way to make a that's able to operate prior to dynamic linking but that still behaves correctly with respect to global vars that may be moved to the main program via copy relocations.
1 files changed, 7 insertions, 0 deletions
diff --git a/configure b/configure
index f765ca72..7e5a8dfb 100755
--- a/configure
+++ b/configure
@@ -267,6 +267,13 @@ fi
tryflag CFLAGS_AUTO -fno-stack-protector
tryldflag LDFLAGS_AUTO -Wl,--hash-style=sysv
+# Disable dynamic linking if ld is broken and can't do -Bsymbolic-functions
+tryldflag LDFLAGS_DUMMY -Wl,-Bsymbolic-functions || {
+printf "warning: disabling dynamic linking support\n"
printf "creating config.mak... "