From a65d8841ec0ceff75a3d5c3795cfb7435a194670 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Wed, 11 Nov 2015 08:14:53 -0800 Subject: Enable multiarch support in pass-1 GCC. By default, it is 'auto' - which means, it is enabled if there are multilibs directories detected in the installation location for libgcc. Thus, it is not detected for pass-1 GCC: the installation location is empty at this point. Signed-off-by: Alexey Neyman --- scripts/build/cc/100-gcc.sh | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'scripts/build/cc') diff --git a/scripts/build/cc/100-gcc.sh b/scripts/build/cc/100-gcc.sh index 7085a904..75721db5 100644 --- a/scripts/build/cc/100-gcc.sh +++ b/scripts/build/cc/100-gcc.sh @@ -403,10 +403,17 @@ 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") fi CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'" @@ -880,10 +887,12 @@ 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") fi CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'" -- cgit v1.2.3 From aa30d0bc4fdf6480a5a24c69e5537f8c41011470 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Fri, 11 Jul 2014 13:39:24 +0100 Subject: gcc: Add --with-multilib-list option Written by Bryan Hundven. Modified by Alexey Neyman to actually add the option to gcc.in. Signed-off-by: Bryan Hundven Signed-off-by: Ray Donnelly Signed-off-by: Alexey Neyman --- config/cc/gcc.in.2 | 10 ++++++++++ scripts/build/cc/100-gcc.sh | 6 ++++++ 2 files changed, 16 insertions(+) (limited to 'scripts/build/cc') diff --git a/config/cc/gcc.in.2 b/config/cc/gcc.in.2 index 17b41ccf..c200d22c 100644 --- a/config/cc/gcc.in.2 +++ b/config/cc/gcc.in.2 @@ -37,6 +37,16 @@ config CC_GCC_EXTRA_CONFIG_ARRAY if they are properly quoted (or escaped, but prefer quotes). Eg.: --with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space +config CC_GCC_MULTILIB_LIST + string + prompt "List of multilib variants" + depends on MULTILIB + help + Architecture-specific option of expanding or restricting the list of + the multilib variants to be built. Refer to GCC installation manual + for the format of this option for a particular architecture. + Leave empty to use the default list for this architecture. + config CC_GCC_TARGET_FINAL bool prompt "Use the default targets all and install for the final compiler" diff --git a/scripts/build/cc/100-gcc.sh b/scripts/build/cc/100-gcc.sh index 75721db5..7bb3610f 100644 --- a/scripts/build/cc/100-gcc.sh +++ b/scripts/build/cc/100-gcc.sh @@ -414,6 +414,9 @@ do_gcc_core_backend() { 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[*]}'" @@ -893,6 +896,9 @@ do_gcc_backend() { 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[*]}'" -- cgit v1.2.3