Commit Graph

111 Commits

Author SHA1 Message Date
Rich Felker 498a100d05 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.
2012-06-07 00:32:22 -04:00
Rich Felker f1fd7577ba use -nostdlib in linker tests to avoid possible missing crt/lib issues 2012-06-07 00:27:34 -04:00
Rich Felker 67a0383d07 avoid linking main program in linker tests
it's possible that the user has provided a compiler that does not have
any libc to link to, so linking a main program is a bad idea. instead,
generate an empty shared library with no dependencies.
2012-06-07 00:23:58 -04:00
Rich Felker 0c5efde8d0 make configure try to disable stack protector
in theory we could support stack protector in the libc itself, and
users wanting to experiment with such usage could add
-fstack-protector to CFLAGS intentionally. but to avoid breakage in
the default case, override broken distro-patched gcc that forces stack
protector on.
2012-06-06 22:00:08 -04:00
Rich Felker 08f70a30c0 add configure check for gnu linker hash style setting
some broken distro-provided toolchains have modified gcc to produce
only "gnu hash" dynamic hash table by default. as this is unsupported
by musl, that results in a non-working libc.so. we detect and switch
this on in configure rather than hard-coding it in the Makefile
because it's not supported by old binutils versions, but that might
not even be relevant since old binutils versions already fail from
-Bsymbolic-functions being missing. at some point I may review whether
this should just go in the Makefile...
2012-06-06 20:45:52 -04:00
Rich Felker 278883d0e2 fix configure build/host/target terminology usage 2012-06-03 16:22:13 -04:00
Rich Felker c5f3add325 yet another try to get the check for gcc right... 2012-05-14 14:52:55 -04:00
Rich Felker 55e2f5e982 fix error in last configure change (lack of escaping) 2012-05-14 08:14:27 -04:00
Rich Felker bc63e4fa2c correct the check for gcc (previous version failed for cross compilers) 2012-05-13 19:59:28 -04:00
Rich Felker b4ccc3c136 add -frounding-math to build 2012-05-05 17:18:31 -04:00
Rich Felker 64d2f8e82a initial commit of configure script
this script is not based on autoconf; however it attempts to follow
the same interface contracts for ease of integration with build
systems. it is also not necessary to use musl. manually written
config.mak files are still supported, as is building without any
config.mak at all as long as you are happy with the default options
and you supply at least ARCH on the command line to make.
2012-05-04 23:24:51 -04:00