summaryrefslogtreecommitdiff
path: root/scripts/build/cc/100-gcc.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/build/cc/100-gcc.sh')
-rw-r--r--scripts/build/cc/100-gcc.sh21
1 files changed, 18 insertions, 3 deletions
diff --git a/scripts/build/cc/100-gcc.sh b/scripts/build/cc/100-gcc.sh
index 7085a90..7bb3610 100644
--- a/scripts/build/cc/100-gcc.sh
+++ b/scripts/build/cc/100-gcc.sh
@@ -403,10 +403,20 @@ do_gcc_core_backend() {
extra_config+=("--with-system-zlib")
fi
- # Some versions of gcc have a deffective --enable-multilib.
- # Since that's the default, only pass --disable-multilib.
+ # Some versions of gcc have a defective --enable-multilib.
+ # Since that's the default, only pass --disable-multilib. For multilib,
+ # also enable multiarch. Without explicit --enable-multiarch, pass-1
+ # compiler is configured as multilib/no-multiarch and pass-2/final
+ # are multilib/multiarch (because gcc autodetects multiarch based on
+ # multiple instances of crt*.o in the install directory - which do
+ # not exist in pass-1).
if [ "${CT_MULTILIB}" != "y" ]; then
extra_config+=("--disable-multilib")
+ else
+ extra_config+=("--enable-multiarch")
+ if [ -n "${CT_CC_GCC_MULTILIB_LIST}" ]; then
+ extra_config+=("--with-multilib-list=${CT_CC_GCC_MULTILIB_LIST}")
+ fi
fi
CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'"
@@ -880,10 +890,15 @@ do_gcc_backend() {
extra_config+=("--with-system-zlib")
fi
- # Some versions of gcc have a deffective --enable-multilib.
+ # Some versions of gcc have a defective --enable-multilib.
# Since that's the default, only pass --disable-multilib.
if [ "${CT_MULTILIB}" != "y" ]; then
extra_config+=("--disable-multilib")
+ else
+ extra_config+=("--enable-multiarch")
+ if [ -n "${CT_CC_GCC_MULTILIB_LIST}" ]; then
+ extra_config+=("--with-multilib-list=${CT_CC_GCC_MULTILIB_LIST}")
+ fi
fi
CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'"