From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 2/7] toolchain-external: CodeSourcery PowerPC: support only one version
Date: Sat, 26 Dec 2015 10:46:02 +0100 [thread overview]
Message-ID: <20151226094602.GA3452@free.fr> (raw)
In-Reply-To: <1450548886-21937-2-git-send-email-romain.naour@openwide.fr>
Romain, All,
On 2015-12-19 19:14 +0100, Romain Naour spake thusly:
> See the conclusion about external toolchains during the Buildroot
> meeting [1]:
> "In the future, we stick to a single external toolchain version. [...]
So, this means that the only CS PPC toolchain we're left with requires a
PPC with SPE, which is basically only two variants, 8540 (e500v1) and
8548 (e500v2) in Buildroot. All other PPC CPU can't use that toolchain.
Which makes for some fun-to-debug autobuild failures such as:
http://autobuild.buildroot.org/results/092/09245cb36fe507346b1810262f331c0242b5325d/
What's fun in there is:
- that config uses a musl toolchain,
- the target optimisations are set to '-te500v2' which break the build,
- we have -te500v2 nowhere in the Buildroot code,
- the only -te500v2 is in a toolchain config in the autobuilders code,
- that toolchain config uses a CS toolchain, but the autobuild failure
is using the musl toolchain.
So, it got me puzzled for quite a while there... Until I realised we had
a few issues:
- the autobuilder config used as a base does not enforce a ppc8548,
- that same config was not updated after the removal of CS toolchains,
- other autobuilder base configs were not updated either.
However, do we really want to keep the single CS PPC toolchain with a
dependency on SPE? Can't we just do like the Linaro toolchain and use
the appropriate toolchain depending on the rest of the configuration?
I will try to get my hands on this during the WE, but I make no promise.
It would be good if you could have a look, too. ;-)
Regards,
Yann E. MORIN.
> The
> Kconfig symbol should not encode the version (avoid legacy handling)"
>
> [1] http://elinux.org/index.php?title=Buildroot:DeveloperDaysELCE2015#Report
>
> Remove old CS toolchain handling in pixman and liquid-dsp.
>
> Signed-off-by: Romain Naour <romain.naour@openwide.fr>
> ---
> package/liquid-dsp/Config.in | 5 --
> package/pixman/pixman.mk | 5 --
> toolchain/toolchain-external/Config.in | 72 +---------------------
> .../toolchain-external/toolchain-external.hash | 2 -
> toolchain/toolchain-external/toolchain-external.mk | 8 +--
> 5 files changed, 3 insertions(+), 89 deletions(-)
>
> diff --git a/package/liquid-dsp/Config.in b/package/liquid-dsp/Config.in
> index 39cd342..95233da 100644
> --- a/package/liquid-dsp/Config.in
> +++ b/package/liquid-dsp/Config.in
> @@ -1,15 +1,10 @@
> comment "liquid-dsp requires a (e)glibc/musl toolchain w/ dynamic library"
> - depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103
> - depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009
> depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) || BR2_STATIC_LIBS
>
> config BR2_PACKAGE_LIQUID_DSP
> bool "liquid-dsp"
> depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL
> depends on !BR2_STATIC_LIBS
> - # These result in internal compiler error
> - depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103
> - depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009
> help
> Liquid-DSP is a free and open-source signal processing
> library for software-defined radios written in C. Its
> diff --git a/package/pixman/pixman.mk b/package/pixman/pixman.mk
> index e1b7c2d..29b01ee 100644
> --- a/package/pixman/pixman.mk
> +++ b/package/pixman/pixman.mk
> @@ -32,10 +32,5 @@ ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII),y)
> PIXMAN_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -DPIXMAN_NO_TLS"
> endif
>
> -# Altivec detection isn't reliable for CS toolchains
> -ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103)$(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009),y)
> -PIXMAN_CONF_OPTS += --disable-vmx
> -endif
> -
> $(eval $(autotools-package))
> $(eval $(host-autotools-package))
> diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in
> index a8f19aa..2f60fe0 100644
> --- a/toolchain/toolchain-external/Config.in
> +++ b/toolchain/toolchain-external/Config.in
> @@ -284,7 +284,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII
> from Mentor Graphics. It uses gcc 5.2, binutils 2.25.51,
> glibc 2.22, gdb 7.10.50 and kernel headers 4.2.
>
> -config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201203
> +config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC
> bool "Sourcery CodeBench PowerPC 2012.03"
> depends on BR2_powerpc
> depends on BR2_powerpc_SPE
> @@ -303,72 +303,6 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201203
> support for the following variants:
> - e500v2 glibc, SPE, 32 bits
>
> -config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103
> - bool "Sourcery CodeBench PowerPC 2011.03"
> - depends on BR2_powerpc
> - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
> - depends on !BR2_STATIC_LIBS
> - select BR2_TOOLCHAIN_EXTERNAL_GLIBC
> - select BR2_TOOLCHAIN_HAS_NATIVE_RPC
> - select BR2_INSTALL_LIBSTDCPP
> - select BR2_HOSTARCH_NEEDS_IA32_LIBS
> - # kernel headers: 2.6.38
> - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
> - help
> - Sourcery CodeBench toolchain for the PowerPC architecture,
> - from Mentor Graphics. It uses gcc 4.5.2, binutils 2.20.51,
> - glibc 2.13, gdb 7.2.50 and kernel headers 2.6.38. It has
> - support for the following variants:
> - - 603 glibc, 32 bits
> - Select a generic PowerPC core
> - Disable BR2_SOFT_FLOAT
> - - 603 soft float glibc, 32 bits
> - Select a generic PowerPC core
> - Enable BR2_SOFT_FLOAT
> - - e600 altivec glibc, 32 bits
> - Set BR2_TARGET_OPTIMIZATION to -te600
> - - e500v1 glibc, 32 bits
> - Set BR2_TARGET_OPTIMIZATION to -te500v1
> - - e500v2 glibc, 32 bits
> - Set BR2_TARGET_OPTIMIZATION to -te500v2
> - - e500mc glibc, 32 bits
> - Set BR2_TARGET_OPTIMIZATION to -te500mc
> - - 970 glibc hard-float, 64 bits
> - Set BR2_TARGET_OPTIMIZATION to -m64
> -
> -config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009
> - bool "Sourcery CodeBench PowerPC 2010.09"
> - depends on BR2_powerpc
> - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
> - depends on !BR2_STATIC_LIBS
> - select BR2_TOOLCHAIN_EXTERNAL_GLIBC
> - select BR2_TOOLCHAIN_HAS_NATIVE_RPC
> - select BR2_INSTALL_LIBSTDCPP
> - select BR2_HOSTARCH_NEEDS_IA32_LIBS
> - # kernel headers: 2.6.35
> - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
> - help
> - Sourcery CodeBench toolchain for the PowerPC architecture,
> - from Mentor Graphics. It uses gcc 4.5.1, binutils 2.20,
> - glibc 2.11, gdb 7.2.50 and kernel headers 2.6.35.2. It has
> - support for the following variants:
> - - 603 glibc, 32 bits
> - Select a generic PowerPC core
> - Disable BR2_SOFT_FLOAT
> - - 603 soft float glibc, 32 bits
> - Select a generic PowerPC core
> - Enable BR2_SOFT_FLOAT
> - - e600 altivec glibc, 32 bits
> - Set BR2_TARGET_OPTIMIZATION to -te600
> - - e500v1 glibc, 32 bits
> - Set BR2_TARGET_OPTIMIZATION to -te500v1
> - - e500v2 glibc, 32 bits
> - Set BR2_TARGET_OPTIMIZATION to -te500v2
> - - e500mc glibc, 32 bits
> - Set BR2_TARGET_OPTIMIZATION to -te500mc
> - - 970 glibc hard-float, 64 bits
> - Set BR2_TARGET_OPTIMIZATION to -m64
> -
> config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201209
> bool "Sourcery CodeBench SH 2012.09"
> depends on BR2_sh4a || BR2_sh4aeb
> @@ -738,9 +672,7 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX
> default "aarch64-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64
> default "mips-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
> default "nios2-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII
> - default "powerpc-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009
> - default "powerpc-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103
> - default "powerpc-mentor-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201203
> + default "powerpc-mentor-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC
> default "sh-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201103
> default "sh-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201203
> default "sh-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201209
> diff --git a/toolchain/toolchain-external/toolchain-external.hash b/toolchain/toolchain-external/toolchain-external.hash
> index 1f80497..7a073f1 100644
> --- a/toolchain/toolchain-external/toolchain-external.hash
> +++ b/toolchain/toolchain-external/toolchain-external.hash
> @@ -19,8 +19,6 @@ sha256 39ee0e789034334ecc89af94e838e3a4815400ac5ff980f808f466b04778532e arm-201
> # NiosII
> sha256 cc47745dc1264fcb8fb98fb1315ab772ab98691396021c455229b58abaf887f5 sourceryg++-2015.11-27-nios2-linux-gnu-i686-pc-linux-gnu.tar.bz2
> # PowerPC
> -sha256 d68d1a2a055ece3824a1a11fcc0a8e813ee1d215025247cce0d877caa12c4b54 freescale-2010.09-55-powerpc-linux-gnu-i686-pc-linux-gnu.tar.bz2
> -sha256 525e1f53abbf65c2974ae9af762c45bb38520fe5fc50e968a23fe6a18e9eec04 freescale-2011.03-38-powerpc-linux-gnu-i686-pc-linux-gnu.tar.bz2
> sha256 d6c94587d546197836e7e1a6909f6aabfa5879e91f501ab03088a6887cc242fc mentor-2012.03-71-powerpc-mentor-linux-gnu-i686-pc-linux-gnu.tar.bz2
> # SuperH
> sha256 ce8115844619a8b02f85e801999fe4cc2e603788be784ae860a070f92ab8053d renesas-2011.03-37-sh-linux-gnu-i686-pc-linux-gnu.tar.bz2
> diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk
> index 02de584..e78865e 100644
> --- a/toolchain/toolchain-external/toolchain-external.mk
> +++ b/toolchain/toolchain-external/toolchain-external.mk
> @@ -317,13 +317,7 @@ TOOLCHAIN_EXTERNAL_SOURCE = mips-2015.11-32-mips-linux-gnu-i686-pc-linux-gnu.tar
> else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII),y)
> TOOLCHAIN_EXTERNAL_SITE = http://sourcery.mentor.com/public/gnu_toolchain/nios2-linux-gnu
> TOOLCHAIN_EXTERNAL_SOURCE = sourceryg++-2015.11-27-nios2-linux-gnu-i686-pc-linux-gnu.tar.bz2
> -else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009),y)
> -TOOLCHAIN_EXTERNAL_SITE = http://sourcery.mentor.com/public/gnu_toolchain/powerpc-linux-gnu
> -TOOLCHAIN_EXTERNAL_SOURCE = freescale-2010.09-55-powerpc-linux-gnu-i686-pc-linux-gnu.tar.bz2
> -else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103),y)
> -TOOLCHAIN_EXTERNAL_SITE = http://sourcery.mentor.com/public/gnu_toolchain/powerpc-linux-gnu
> -TOOLCHAIN_EXTERNAL_SOURCE = freescale-2011.03-38-powerpc-linux-gnu-i686-pc-linux-gnu.tar.bz2
> -else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201203),y)
> +else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC),y)
> TOOLCHAIN_EXTERNAL_SITE = http://sourcery.mentor.com/public/gnu_toolchain/powerpc-mentor-linux-gnu
> TOOLCHAIN_EXTERNAL_SOURCE = mentor-2012.03-71-powerpc-mentor-linux-gnu-i686-pc-linux-gnu.tar.bz2
> else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201103),y)
> --
> 2.4.3
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| 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:[~2015-12-26 9:46 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-19 18:14 [Buildroot] [PATCH 1/7] toolchain-external: CodeSourcery ARM: support only one version Romain Naour
2015-12-19 18:14 ` [Buildroot] [PATCH 2/7] toolchain-external: CodeSourcery PowerPC: " Romain Naour
2015-12-26 9:46 ` Yann E. MORIN [this message]
2015-12-19 18:14 ` [Buildroot] [PATCH 3/7] toolchain-external: CodeSourcery SH: " Romain Naour
2015-12-19 18:14 ` [Buildroot] [PATCH 4/7] toolchain-external: CodeSourcery x86: " Romain Naour
2015-12-19 18:14 ` [Buildroot] [PATCH 5/7] toolchain-external: ADI Blackfin: " Romain Naour
2015-12-19 18:14 ` [Buildroot] [PATCH 6/7] toolchain-external: Synopsys ARC: " Romain Naour
2015-12-19 18:14 ` [Buildroot] [PATCH 7/7] toolchain-external: Ti Arago ARM: " Romain Naour
2015-12-19 22:36 ` [Buildroot] [PATCH 1/7] toolchain-external: CodeSourcery " Arnout Vandecappelle
2015-12-20 9:28 ` Thomas Petazzoni
2015-12-20 12:52 ` 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=20151226094602.GA3452@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