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 libc.so
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.
This commit is contained in:
Rich Felker 2012-06-07 00:32:22 -04:00
parent f1fd7577ba
commit 498a100d05
1 changed files with 7 additions and 0 deletions

7
configure vendored
View File

@ -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
LDFLAGS_DUMMY=
tryldflag LDFLAGS_DUMMY -Wl,-Bsymbolic-functions || {
printf "warning: disabling dynamic linking support\n"
shared=no
}
printf "creating config.mak... "