From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH/next] gcc: fix gcc version dependencies for the PowerPC64/musl exclusion
Date: Sat, 20 Aug 2016 16:15:10 +0200 [thread overview]
Message-ID: <20160820141510.GB5784@free.fr> (raw)
In-Reply-To: <1471701919-30534-1-git-send-email-thomas.petazzoni@free-electrons.com>
Thomas, All,
On 2016-08-20 16:05 +0200, Thomas Petazzoni spake thusly:
> In commit
> 5ab751ca44e9da6f406876ff582b3a813056b0d4 ("toolchain-buildroot: allow to
> build ppc64(le) musl toolchains"), support for building a musl toolchain
> for ppc64(le) was added. Since this support only works with gcc 6, some
> additional dependencies have been added to the older gcc versions so
> that they cannot be selected on ppc64(le)/musl.
>
> Unfortunately, the expression of the dependency was wrong, and leads to
> those older gcc versions being non-selectable if you're not using
> musl. Indeed, the dependencies look like this:
>
> depends on !BR2_powerpc64 && !BR2_powerpc64le && BR2_TOOLCHAIN_USES_MUSL
>
> So as soon as you're not using musl, BR2_TOOLCHAIN_USES_MUSL is false,
> so the entire condition is false, and the gcc version is not available.
>
> Due to this, only gcc 6.x can be selected currently with uclibc or
> glibc, which is clearly not the intended behavior.
>
> This commit reworks those dependencies to:
>
> depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64el))
>
> which more clearly expresses what we want:
>
> "We don't want to (have a toolchain that uses musl and (be building
> either for PPC64 or PPC64le))"
Alternatively, you could have done (which is exactly the same, if you
use the De Morgan's law):
depends on !BR2_powerpc64 && !BR2_powerpc64le || !BR2_TOOLCHAIN_USES_MUSL
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Regards,
Yann E. MORIN.
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
> package/gcc/Config.in.host | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host
> index 4d02931..37728e0 100644
> --- a/package/gcc/Config.in.host
> +++ b/package/gcc/Config.in.host
> @@ -31,7 +31,7 @@ choice
> # Unsupported for MIPS R6
> depends on !BR2_mips_32r6 && !BR2_mips_64r6
> # musl ppc64 unsupported
> - depends on !BR2_powerpc64 && !BR2_powerpc64le && BR2_TOOLCHAIN_USES_MUSL
> + depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64el))
> select BR2_GCC_NEEDS_MPC
> select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
>
> @@ -49,7 +49,7 @@ choice
> # Unsupported for MIPS R6
> depends on !BR2_mips_32r6 && !BR2_mips_64r6
> # musl ppc64 unsupported
> - depends on !BR2_powerpc64 && !BR2_powerpc64le && BR2_TOOLCHAIN_USES_MUSL
> + depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64el))
> select BR2_GCC_NEEDS_MPC
> select BR2_GCC_SUPPORTS_GRAPHITE
> select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
> @@ -71,7 +71,7 @@ choice
> # Unsupported for MIPS R6
> depends on !BR2_mips_32r6 && !BR2_mips_64r6
> # musl ppc64 unsupported
> - depends on !BR2_powerpc64 && !BR2_powerpc64le && BR2_TOOLCHAIN_USES_MUSL
> + depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64el))
> # PR60102 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60102
> select BR2_GCC_NEEDS_MPC
> select BR2_GCC_SUPPORTS_GRAPHITE
> @@ -82,7 +82,7 @@ choice
> # Broken or unsupported architectures
> depends on !BR2_arc && !BR2_bfin
> # musl ppc64 unsupported
> - depends on !BR2_powerpc64 && !BR2_powerpc64le && BR2_TOOLCHAIN_USES_MUSL
> + depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64el))
> select BR2_GCC_NEEDS_MPC
> select BR2_GCC_SUPPORTS_GRAPHITE
> select BR2_TOOLCHAIN_GCC_AT_LEAST_5
> --
> 2.7.4
>
--
.-----------------.--------------------.------------------.--------------------.
| 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. |
'------------------------------^-------^------------------^--------------------'
next prev parent reply other threads:[~2016-08-20 14:15 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-20 14:05 [Buildroot] [PATCH/next] gcc: fix gcc version dependencies for the PowerPC64/musl exclusion Thomas Petazzoni
2016-08-20 14:15 ` Yann E. MORIN [this message]
2016-08-20 14:24 ` Thomas Petazzoni
2016-08-20 20:40 ` Thomas Petazzoni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160820141510.GB5784@free.fr \
--to=yann.morin.1998@free.fr \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox