diff mbox series

[next,5/7] toolchain/toolchain-external/toolchain-external-synopsys-arc: bump to 2024.06

Message ID 20240810215624.482529-6-thomas.petazzoni@bootlin.com
State Accepted
Headers show
Series Update some external toolchains | expand

Commit Message

Thomas Petazzoni Aug. 10, 2024, 9:56 p.m. UTC
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(-)

Comments

Yann E. MORIN Sept. 3, 2024, 8:19 p.m. UTC | #1
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 mbox series

Patch

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))