diff options
author | Rich Felker <dalias@aerifal.cx> | 2016-01-31 00:40:33 -0500 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2016-01-31 00:40:33 -0500 |
commit | 65498f289bded83afb809b24d850647e7c91cd58 (patch) | |
tree | 7f7ed77e26f238f71e0c449e6073f2d8789c5167 | |
parent | c18d05f0e8909ec54252b251c441b5dd903268f8 (diff) | |
download | musl-65498f289bded83afb809b24d850647e7c91cd58.tar.gz musl-65498f289bded83afb809b24d850647e7c91cd58.tar.bz2 musl-65498f289bded83afb809b24d850647e7c91cd58.tar.xz musl-65498f289bded83afb809b24d850647e7c91cd58.zip |
don't suppress shared libc when linker lacks -Bsymbolic-functions
previous work overhauling the dynamic linker made it so that linking
libc with -Bsymbolic-functions was no longer mandatory, but the
configure logic that forced --disable-shared when ld failed to accept
the option was left in place.
this commit removes the hard-coded -Bsymbolic-functions from the
Makefile and changes the configure test to one that simply adds it to
the auto-detected LDFLAGS on success.
-rw-r--r-- | Makefile | 3 | ||||
-rwxr-xr-x | configure | 13 |
2 files changed, 5 insertions, 11 deletions
@@ -159,8 +159,7 @@ obj/%.lo: $(srcdir)/%.c $(GENH) $(IMPH) lib/libc.so: $(LOBJS) $(LDSO_OBJS) $(CC) $(CFLAGS_ALL) $(LDFLAGS_ALL) -nostdlib -shared \ - -Wl,-e,_dlstart -Wl,-Bsymbolic-functions \ - -o $@ $(LOBJS) $(LDSO_OBJS) $(LIBCC) + -Wl,-e,_dlstart -o $@ $(LOBJS) $(LDSO_OBJS) $(LIBCC) lib/libc.a: $(AOBJS) rm -f $@ @@ -565,15 +565,10 @@ tryldflag LDFLAGS_AUTO -Wl,--no-undefined # versions built without shared library support and pcc are broken. tryldflag LDFLAGS_AUTO -Wl,--exclude-libs=ALL -test "$shared" = "no" || { -# Disable dynamic linking if ld is broken and can't do -Bsymbolic-functions -LDFLAGS_DUMMY= -tryldflag LDFLAGS_DUMMY -Wl,-Bsymbolic-functions || { -test "$shared" = "yes" && fail "$0: error: linker cannot build shared library" -printf "warning: disabling dynamic linking support\n" -shared=no -} -} +# Linking with -Bsymbolic-functions is no longer mandatory for +# the dynamic linker to work, but enable it if it works as +# a linking optimization. +tryldflag LDFLAGS_AUTO -Wl,-Bsymbolic-functions # Find compiler runtime library test -z "$LIBCC" && tryldflag LIBCC -lgcc && tryldflag LIBCC -lgcc_eh |