[PATCH 2 of 2] config/target.in+scripts/glibc-eglibc.sh-common: Allow building multilib gcc without full c library

Yann E. MORIN yann.morin.1998@free.fr
Wed Sep 19 21:38:00 GMT 2012


David, All,

On Wednesday 19 September 2012 05:42:49 David Holsgrove wrote:
> # HG changeset patch
> # User David Holsgrove <david.holsgrove@xilinx.com>
> # Date 1348016531 -36000
> # Node ID 24e33e3717f8a740f7c65a0d05a1bed51535c690
> # Parent  95abeed3a485c4d5b02e4860fc554d6841e1cc41
> config/target.in+scripts/glibc-eglibc.sh-common: Allow building multilib gcc without full c library
> 
> Add option to enable building a multilib aware gcc, without building out all the multilib combos
> for the c library

As Mike stated, gcc needs the full set of C library combos to do the
actual link. So, it's not obvious why you are trying to disable those
combos.

Care to elaborate a bit on the use-case?

> diff -r 95abeed3a485 -r 24e33e3717f8 config/target.in
> --- a/config/target.in	Wed Sep 19 11:03:59 2012 +1000
> +++ b/config/target.in	Wed Sep 19 11:02:11 2012 +1000
> @@ -60,6 +60,20 @@
>        in gcc, so it is not possible to say what variants to support, only
>        whether hard-coded variants should be supported or not.
>  
> +if MULTILIB
> +
> +config MULTILIB_GCC_ONLY
> +    bool
> +    prompt "Disable building multilib combos of c-library"
> +    depends on EXPERIMENTAL
> +    depends on MULTILIB

This 'depends on MULTILIB' is redundant with the 'if MULTILIB', above.
Drop the 'if MULTILIB'.

> +    default n
> +    help
> +      If you say 'y' here, then gcc will be built with multi-lib support,
> +      but the eglibc/glibc multilib combos won't
> +
> +endif # MULTILIB
> +
>  #--------------------------------------
>  config ARCH_SUPPORTS_BOTH_MMU
>      bool
> diff -r 95abeed3a485 -r 24e33e3717f8 scripts/build/libc/glibc-eglibc.sh-common
> --- a/scripts/build/libc/glibc-eglibc.sh-common	Wed Sep 19 11:03:59 2012 +1000
> +++ b/scripts/build/libc/glibc-eglibc.sh-common	Wed Sep 19 11:02:11 2012 +1000
> @@ -103,7 +103,13 @@
>  
>      # If gcc is not configured for multilib, it still prints
>      # a single line for the default settings
> -    multilibs=( $("${CT_TARGET}-gcc" -print-multi-lib 2>/dev/null) )
> +    if [ "${CT_MULTILIB_GCC_ONLY}" = "y" ]; then
> +        CT_DoLog EXTRA "Building of multilib C library Disabled"
> +        multilibs=".;"

$multilibs is expected to be an array, not a string, so this should be:
    multilibs=( ".;" )

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

--
For unsubscribe information see http://sourceware.org/lists.html#faq



More information about the crossgcc mailing list