[Buildroot] [PATCH 1/2] arch/csky: restrict ck610 to the C-SKY gcc port

Yann E. MORIN yann.morin.1998 at free.fr
Sun Jul 14 09:54:49 UTC 2019


As Guo explained, upstream gcc does not support abi-v1 (only abi-v2), but
ck610 needs abi-v1 [0] [1]

To simplify things, we make the whole C-SKY architecture require gcc-9
or later, and add a single exception in gcc to force the ck610 to use
the C-SKY port.

[0] http://lists.busybox.net/pipermail/buildroot/2019-July/254386.html
[1] package/Makefile.in#73

Signed-off-by: Yann E. MORIN <yann.morin.1998 at free.fr>
Cc: Guo Ren <guoren at kernel.org>
Cc: Arnout Vandecappelle <arnout at mind.be>
Cc: Romain Naour <romain.naour at gmail.com>
---
 arch/Config.in             | 3 +++
 arch/Config.in.csky        | 2 ++
 package/gcc/Config.in.host | 3 +++
 3 files changed, 8 insertions(+)

diff --git a/arch/Config.in b/arch/Config.in
index d8d841b1a2..9d1a06872d 100644
--- a/arch/Config.in
+++ b/arch/Config.in
@@ -78,6 +78,9 @@ config BR2_aarch64_be
 config BR2_csky
 	bool "csky"
 	select BR2_ARCH_HAS_MMU_MANDATORY
+	# Most variants are support by gcc-9+, except one that is handled as a
+	# special exception in package/gcc/Config.in.host
+	select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
 	help
 	  csky is processor IP from china.
 	  http://www.c-sky.com/
diff --git a/arch/Config.in.csky b/arch/Config.in.csky
index 4bdfbfae4b..2cf31c88c6 100644
--- a/arch/Config.in.csky
+++ b/arch/Config.in.csky
@@ -5,6 +5,8 @@ choice
 	  Specific CPU variant to use
 
 config BR2_ck610
+	# Not supported by upstream gc <= 9, and handled as a special
+	# exception in package/gcc/Config.in.host
 	bool "ck610"
 
 config BR2_ck807
diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host
index 8b563c8f27..adc12e95ea 100644
--- a/package/gcc/Config.in.host
+++ b/package/gcc/Config.in.host
@@ -89,6 +89,9 @@ config BR2_GCC_VERSION_9_X
 	# powerpc spe support has been deprecated since gcc 8.x.
 	# https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html
 	depends on !BR2_powerpc_SPE
+	# C-SKY sk610 needs abiv1, which is not supported in
+	# upstream gcc
+	depends on !BR2_ck610
 	select BR2_TOOLCHAIN_GCC_AT_LEAST_9
 
 endchoice
-- 
2.20.1



More information about the buildroot mailing list