Ver código fonte

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.
Rich Felker 12 anos atrás
pai
commit
498a100d05
1 arquivos alterados com 7 adições e 0 exclusões
  1. 7 0
      configure

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