litecross: add some gcc options that should always be used with musl

libmpx is broken in all gcc versions that have it (not supported yet
by mcm/litecross, but will be).

ifunc is not supported by musl and won't be unless/until the contract
for resolvers can be specified clearly in a way that real-world usage
is safe and does not require lazy binding; having it enabled at gcc
level reportedly produces a broken libatomic.

explicitly enabling libstdcxx-time is needed to get libc clock_gettime
(with vdso support) to be used in libstdc++; it's disabled by default
because of glibc legacy practice of having clock_gettime in librt,
which depends on glibc's libpthread and undermines libstdc++'s
(invalid use of) weak references to pthread symbols.
This commit is contained in:
Rich Felker 2016-05-06 18:37:09 +00:00
parent 4a5931ba67
commit 0291cc44ee
1 changed files with 4 additions and 1 deletions

View File

@ -25,7 +25,10 @@ FULL_TOOLCHAIN_CONFIG = $(TOOLCHAIN_CONFIG) \
--with-sysroot=$(SYSROOT) \ --with-sysroot=$(SYSROOT) \
--with-build-sysroot='$$(LC_ROOT)/obj_sysroot' \ --with-build-sysroot='$$(LC_ROOT)/obj_sysroot' \
--enable-tls \ --enable-tls \
--disable-libmudflap --disable-libsanitizer --disable-libmudflap --disable-libsanitizer \
--disable-gnu-indirect-function \
--disable-libmpx \
--enable-libstdcxx-time
FULL_MUSL_CONFIG = $(MUSL_CONFIG) \ FULL_MUSL_CONFIG = $(MUSL_CONFIG) \
--prefix= --host=$(TARGET) --prefix= --host=$(TARGET)