Message ID | 20240810215624.482529-6-thomas.petazzoni@bootlin.com |
---|---|
State | Accepted |
Headers | show |
Series | Update some external toolchains | expand |
Thomas, All, On 2024-08-10 23:56 +0200, Thomas Petazzoni via buildroot spake thusly: > Until now only one option was shown, and we were automatically > selecting the ARC700/ARChs and LE/BE toolchains based on the > architecture selection. However now, Synopsys offers glibc/uClibc > toolchains, and we can't decide that automatically, so let's add an > explicit choice for the user to chose between the different variants > of Synopsys toolchains available. > > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> > --- [--SNIP--] > diff --git a/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in.options b/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in.options > index ceb7dd0081..faedaf2ffb 100644 > --- a/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in.options > +++ b/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in.options > @@ -1,5 +1,37 @@ > if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC > > +choice > + prompt "Synopsys toolchain variant" > + > +config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC700 > + bool "Linux/uClibc ARC 700" As discussed on IRC, this is the ARC 700 familly, so I kept it rather tha change to 7x0 (or 7xx) as we discussed. If that's wrong ARC experts can send a patch to fix the prompt. > + depends on BR2_arc750d || BR2_arc770d > + select BR2_TOOLCHAIN_EXTERNAL_UCLIBC > + select BR2_USE_WCHAR > + select BR2_TOOLCHAIN_HAS_THREADS > + select BR2_TOOLCHAIN_HAS_THREADS_NPTL > + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG > + > +config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARCHS_UCLIBC > + bool "Linux/uClibc ARC HS" > + depends on BR2_archs38_64mpy || BR2_archs38_full || \ > + BR2_archs4x_rel31 || BR2_archs4x > + select BR2_TOOLCHAIN_EXTERNAL_UCLIBC > + select BR2_USE_WCHAR > + select BR2_TOOLCHAIN_HAS_THREADS > + select BR2_TOOLCHAIN_HAS_THREADS_NPTL > + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG > + select BR2_TOOLCHAIN_HAS_FORTRAN > + > +config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARCHS_GLIBC > + bool "Linux/glibc ARC 700" As discussed on IRC, that prompt was actualyl incorrect, as it really is for ARC HS, so I fixed that when applying. Applied to next, thanks. Regards, Yann E. MORIN. > + depends on BR2_archs38_64mpy || BR2_archs38_full || \ > + BR2_archs4x_rel31 || BR2_archs4x > + select BR2_TOOLCHAIN_EXTERNAL_GLIBC > + select BR2_TOOLCHAIN_HAS_FORTRAN > + > +endchoice > + > config BR2_TOOLCHAIN_EXTERNAL_PREFIX > default "arc-linux" if BR2_arcle > default "arceb-linux" if BR2_arceb > diff --git a/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.hash b/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.hash > index 3c22723833..52273871ab 100644 > --- a/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.hash > +++ b/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.hash > @@ -1,5 +1,7 @@ > -# From https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2019.09-release > -sha256 f7cbf68ef251943db7baf63535e0ec98dafbdf5d925017b4e1d4fc64d9b38a26 arc_gnu_2019.09_prebuilt_uclibc_le_arc700_linux_install.tar.gz > -sha256 ac09f0a21f9d50146a5e542f4a6abc93e5a1dcb0a1372cb5c3ba86bbefaaec7d arc_gnu_2019.09_prebuilt_uclibc_be_arc700_linux_install.tar.gz > -sha256 245ca49fe8ea2456617541b18bb96e52e6c0dc619f00e293fcaad519fc436c35 arc_gnu_2019.09_prebuilt_uclibc_le_archs_linux_install.tar.gz > -sha256 6f039a0158c03af398ada31fae96009e47f0d7b7f7d52e12eb419492fc3f27e7 arc_gnu_2019.09_prebuilt_uclibc_be_archs_linux_install.tar.gz > +# From https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2024.06-release > +sha256 080bbf8c0747d221314d04b0fcef89f91dc82710afa1aa66a88f04c93719663a arc_gnu_2024.06_prebuilt_uclibc_le_arc700_linux_install.tar.bz2 > +sha256 37ad59b2624608cd126fab3a83a188edc18ad9e2bba8bbb778d46cdd49ad2ffe arc_gnu_2024.06_prebuilt_glibc_le_archs_linux_install.tar.bz2 > +sha256 6867bc6f895c29b053020423923ead2054b8474816f1d067f2726b13e8ee16c0 arc_gnu_2024.06_prebuilt_uclibc_le_archs_linux_install.tar.bz2 > +sha256 6efd9025e4b226bf1b4a4d448670e00f928e61e0051a0b209b7adaa327945a32 arc_gnu_2024.06_prebuilt_uclibc_be_arc700_linux_install.tar.bz2 > +sha256 ae2ffb5fbe8d6002341dd87d005400010e85dfc1df1e8db070a19ab7300d738f arc_gnu_2024.06_prebuilt_glibc_be_archs_linux_install.tar.bz2 > +sha256 892a576acdf962afafde345d2c830317cb14ff8ef95da7cadc79177c226db269 arc_gnu_2024.06_prebuilt_uclibc_be_archs_linux_install.tar.bz2 > diff --git a/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.mk b/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.mk > index c8f141e45d..c88ca35c43 100644 > --- a/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.mk > +++ b/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.mk > @@ -4,13 +4,18 @@ > # > ################################################################################ > > -TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_VERSION = 2019.09 > +TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_VERSION = 2024.06 > TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_SITE = https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-$(TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_VERSION)-release > > -ifeq ($(BR2_arc750d)$(BR2_arc770d),y) > +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC700),y) > TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_CORE = arc700 > -else > +TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_LIBC = uclibc > +else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARCHS_UCLIBC),y) > +TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_CORE = archs > +TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_LIBC = uclibc > +else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARCHS_GLIBC),y) > TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_CORE = archs > +TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_LIBC = glibc > endif > > ifeq ($(BR2_arcle),y) > @@ -19,6 +24,6 @@ else > TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_ENDIANESS = be > endif > > -TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_SOURCE = arc_gnu_$(TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_VERSION)_prebuilt_uclibc_$(TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_ENDIANESS)_$(TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_CORE)_linux_install.tar.gz > +TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_SOURCE = arc_gnu_$(TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_VERSION)_prebuilt_$(TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_LIBC)_$(TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_ENDIANESS)_$(TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_CORE)_linux_install.tar.bz2 > > $(eval $(toolchain-external-package)) > -- > 2.45.2 > > _______________________________________________ > buildroot mailing list > buildroot@buildroot.org > https://lists.buildroot.org/mailman/listinfo/buildroot
diff --git a/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in b/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in index 292e652fb0..dc333f8474 100644 --- a/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in +++ b/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in @@ -1,17 +1,12 @@ config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC - bool "Synopsys ARC 2019.09 toolchain" + bool "Synopsys ARC 2024.06 toolchain" depends on BR2_arc depends on BR2_HOSTARCH = "x86_64" - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_10 - select BR2_TOOLCHAIN_EXTERNAL_UCLIBC + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_15 select BR2_INSTALL_LIBSTDCPP - select BR2_USE_WCHAR - select BR2_TOOLCHAIN_HAS_THREADS - select BR2_TOOLCHAIN_HAS_THREADS_NPTL - select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_SSP - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15 - select BR2_TOOLCHAIN_GCC_AT_LEAST_9 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_16 + select BR2_TOOLCHAIN_GCC_AT_LEAST_14 help Toolchain for the ARC cores, from https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases diff --git a/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in.options b/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in.options index ceb7dd0081..faedaf2ffb 100644 --- a/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in.options +++ b/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in.options @@ -1,5 +1,37 @@ if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC +choice + prompt "Synopsys toolchain variant" + +config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC700 + bool "Linux/uClibc ARC 700" + depends on BR2_arc750d || BR2_arc770d + select BR2_TOOLCHAIN_EXTERNAL_UCLIBC + select BR2_USE_WCHAR + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + +config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARCHS_UCLIBC + bool "Linux/uClibc ARC HS" + depends on BR2_archs38_64mpy || BR2_archs38_full || \ + BR2_archs4x_rel31 || BR2_archs4x + select BR2_TOOLCHAIN_EXTERNAL_UCLIBC + select BR2_USE_WCHAR + select BR2_TOOLCHAIN_HAS_THREADS + select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG + select BR2_TOOLCHAIN_HAS_FORTRAN + +config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARCHS_GLIBC + bool "Linux/glibc ARC 700" + depends on BR2_archs38_64mpy || BR2_archs38_full || \ + BR2_archs4x_rel31 || BR2_archs4x + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_TOOLCHAIN_HAS_FORTRAN + +endchoice + config BR2_TOOLCHAIN_EXTERNAL_PREFIX default "arc-linux" if BR2_arcle default "arceb-linux" if BR2_arceb diff --git a/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.hash b/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.hash index 3c22723833..52273871ab 100644 --- a/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.hash +++ b/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.hash @@ -1,5 +1,7 @@ -# From https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2019.09-release -sha256 f7cbf68ef251943db7baf63535e0ec98dafbdf5d925017b4e1d4fc64d9b38a26 arc_gnu_2019.09_prebuilt_uclibc_le_arc700_linux_install.tar.gz -sha256 ac09f0a21f9d50146a5e542f4a6abc93e5a1dcb0a1372cb5c3ba86bbefaaec7d arc_gnu_2019.09_prebuilt_uclibc_be_arc700_linux_install.tar.gz -sha256 245ca49fe8ea2456617541b18bb96e52e6c0dc619f00e293fcaad519fc436c35 arc_gnu_2019.09_prebuilt_uclibc_le_archs_linux_install.tar.gz -sha256 6f039a0158c03af398ada31fae96009e47f0d7b7f7d52e12eb419492fc3f27e7 arc_gnu_2019.09_prebuilt_uclibc_be_archs_linux_install.tar.gz +# From https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2024.06-release +sha256 080bbf8c0747d221314d04b0fcef89f91dc82710afa1aa66a88f04c93719663a arc_gnu_2024.06_prebuilt_uclibc_le_arc700_linux_install.tar.bz2 +sha256 37ad59b2624608cd126fab3a83a188edc18ad9e2bba8bbb778d46cdd49ad2ffe arc_gnu_2024.06_prebuilt_glibc_le_archs_linux_install.tar.bz2 +sha256 6867bc6f895c29b053020423923ead2054b8474816f1d067f2726b13e8ee16c0 arc_gnu_2024.06_prebuilt_uclibc_le_archs_linux_install.tar.bz2 +sha256 6efd9025e4b226bf1b4a4d448670e00f928e61e0051a0b209b7adaa327945a32 arc_gnu_2024.06_prebuilt_uclibc_be_arc700_linux_install.tar.bz2 +sha256 ae2ffb5fbe8d6002341dd87d005400010e85dfc1df1e8db070a19ab7300d738f arc_gnu_2024.06_prebuilt_glibc_be_archs_linux_install.tar.bz2 +sha256 892a576acdf962afafde345d2c830317cb14ff8ef95da7cadc79177c226db269 arc_gnu_2024.06_prebuilt_uclibc_be_archs_linux_install.tar.bz2 diff --git a/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.mk b/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.mk index c8f141e45d..c88ca35c43 100644 --- a/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.mk +++ b/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.mk @@ -4,13 +4,18 @@ # ################################################################################ -TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_VERSION = 2019.09 +TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_VERSION = 2024.06 TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_SITE = https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-$(TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_VERSION)-release -ifeq ($(BR2_arc750d)$(BR2_arc770d),y) +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC700),y) TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_CORE = arc700 -else +TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_LIBC = uclibc +else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARCHS_UCLIBC),y) +TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_CORE = archs +TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_LIBC = uclibc +else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARCHS_GLIBC),y) TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_CORE = archs +TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_LIBC = glibc endif ifeq ($(BR2_arcle),y) @@ -19,6 +24,6 @@ else TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_ENDIANESS = be endif -TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_SOURCE = arc_gnu_$(TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_VERSION)_prebuilt_uclibc_$(TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_ENDIANESS)_$(TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_CORE)_linux_install.tar.gz +TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_SOURCE = arc_gnu_$(TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_VERSION)_prebuilt_$(TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_LIBC)_$(TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_ENDIANESS)_$(TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_CORE)_linux_install.tar.bz2 $(eval $(toolchain-external-package))
Until now only one option was shown, and we were automatically selecting the ARC700/ARChs and LE/BE toolchains based on the architecture selection. However now, Synopsys offers glibc/uClibc toolchains, and we can't decide that automatically, so let's add an explicit choice for the user to chose between the different variants of Synopsys toolchains available. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> --- .../toolchain-external-synopsys-arc/Config.in | 13 +++----- .../Config.in.options | 32 +++++++++++++++++++ .../toolchain-external-synopsys-arc.hash | 12 ++++--- .../toolchain-external-synopsys-arc.mk | 13 +++++--- 4 files changed, 52 insertions(+), 18 deletions(-)