mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2025-02-21 01:21:27 +00:00
Merge branch 'master' into janitorial
This commit is contained in:
commit
c7cb030fd5
@ -160,6 +160,7 @@ config CC_GCC_5
|
||||
select CC_GCC_HAS_LNK_HASH_STYLE
|
||||
select CC_GCC_HAS_LIBQUADMATH
|
||||
select CC_GCC_HAS_LIBSANITIZER
|
||||
select CC_GCC_HAS_LIBMPX
|
||||
select CC_SUPPORT_GOLANG
|
||||
|
||||
config CC_GCC_5_or_later
|
||||
@ -178,6 +179,7 @@ config CC_GCC_6
|
||||
select CC_GCC_HAS_LNK_HASH_STYLE
|
||||
select CC_GCC_HAS_LIBQUADMATH
|
||||
select CC_GCC_HAS_LIBSANITIZER
|
||||
select CC_GCC_HAS_LIBMPX
|
||||
select CC_SUPPORT_GOLANG
|
||||
|
||||
config CC_GCC_6_or_later
|
||||
@ -276,6 +278,9 @@ config CC_GCC_HAS_LIBQUADMATH
|
||||
config CC_GCC_HAS_LIBSANITIZER
|
||||
bool
|
||||
|
||||
config CC_GCC_HAS_LIBMPX
|
||||
bool
|
||||
|
||||
if ! CC_GCC_CUSTOM
|
||||
|
||||
config CC_GCC_VERSION
|
||||
|
@ -182,6 +182,16 @@ config CC_GCC_LIBSANITIZER
|
||||
|
||||
The default is 'N'. Say 'Y' if you need it, and report success/failure.
|
||||
|
||||
config CC_GCC_LIBMPX
|
||||
bool
|
||||
default y
|
||||
prompt "Compile libmpx"
|
||||
depends on CC_GCC_HAS_LIBMPX
|
||||
depends on ARCH_x86
|
||||
depends on !LIBC_musl # MUSL does not define libc types that GCC requires
|
||||
help
|
||||
Enable GCC support for Intel Memory Protection Extensions (MPX).
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
comment "Misc. obscure options."
|
||||
|
@ -436,6 +436,7 @@ do_gcc_core_backend() {
|
||||
|
||||
extra_config+=(--disable-libgomp)
|
||||
extra_config+=(--disable-libmudflap)
|
||||
extra_config+=(--disable-libmpx)
|
||||
|
||||
if [ "${CT_CC_GCC_LIBSSP}" = "y" ]; then
|
||||
extra_config+=(--enable-libssp)
|
||||
@ -769,6 +770,23 @@ do_gcc_for_build() {
|
||||
CT_EndStep
|
||||
}
|
||||
|
||||
gcc_movelibs() {
|
||||
local multi_flags multi_dir multi_os_dir multi_root multi_index multi_count
|
||||
local gcc_dir
|
||||
|
||||
for arg in "$@"; do
|
||||
eval "${arg// /\\ }"
|
||||
done
|
||||
|
||||
# Move only files, directories are for other multilibs
|
||||
gcc_dir="${CT_PREFIX_DIR}/${CT_TARGET}/lib/${multi_os_dir}"
|
||||
ls "${gcc_dir}" | while read f; do
|
||||
if [ -f "${gcc_dir}/${f}" ]; then
|
||||
CT_DoExecLog ALL mv "${gcc_dir}/${f}" "${multi_root}/lib/${multi_os_dir}/${f}"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Build final gcc to run on host
|
||||
do_gcc_for_host() {
|
||||
@ -800,10 +818,18 @@ do_gcc_for_host() {
|
||||
|
||||
CT_DoStep INFO "Installing final gcc compiler"
|
||||
CT_mkdir_pushd "${CT_BUILD_DIR}/build-cc-gcc-final"
|
||||
|
||||
"${final_backend}" "${final_opts[@]}"
|
||||
|
||||
CT_Popd
|
||||
|
||||
# GCC installs stuff (including libgcc) into its own /lib dir,
|
||||
# outside of sysroot, breaking linking with -static-libgcc.
|
||||
# Fix up by moving the libraries into the sysroot.
|
||||
if [ "${CT_USE_SYSROOT}" = "y" ]; then
|
||||
CT_mkdir_pushd "${CT_BUILD_DIR}/build-cc-gcc-final-movelibs"
|
||||
CT_IterateMultilibs gcc_movelibs movelibs
|
||||
CT_Popd
|
||||
fi
|
||||
|
||||
CT_EndStep
|
||||
}
|
||||
|
||||
@ -904,6 +930,14 @@ do_gcc_backend() {
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "${CT_CC_GCC_HAS_LIBMPX}" = "y" ]; then
|
||||
if [ "${CT_CC_GCC_LIBMPX}" = "y" ]; then
|
||||
extra_config+=(--enable-libmpx)
|
||||
else
|
||||
extra_config+=(--disable-libmpx)
|
||||
fi
|
||||
fi
|
||||
|
||||
final_LDFLAGS+=("${ldflags}")
|
||||
|
||||
# *** WARNING ! ***
|
||||
|
Loading…
x
Reference in New Issue
Block a user