Browse Source

Remove support for the NDS32 architecture

The support for this architecture has been removed from the upstream
Linux kernel, as of commit:

  https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=aec499c75cf8e0b599be4d559e6922b613085f8f

Which states:

  The nds32 architecture, also known as AndeStar V3, is a custom
  32-bit RISC target designed by Andes Technologies. Support was added
  to the kernel in 2016 as the replacement RISC-V based V5 processors
  were already announced, and maintained by (current or former) Andes
  employees.

  As explained by Alan Kao, new customers are now all using RISC-V,
  and all known nds32 users are already on longterm stable kernels
  provided by Andes, with no development work going into mainline
  support any more.

There has also been little to no maintenance done in Buildroot for
this architecture in recent times, so let's follow the Linux kernel
community decision and drop support for this CPU architecture.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Reviewed-by: Yu Chien Peter Lin <peterlin@andestech.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Thomas Petazzoni 3 years ago
parent
commit
793ee1011e

+ 10 - 0
Config.in.legacy

@@ -152,6 +152,16 @@ config BR2_PACKAGE_PHP_EXT_WDDX
 	help
 	  The WDDX extension was removed from php.
 
+comment "Legacy options removed in 2022.08"
+
+config BR2_nds32
+	bool "nds32 architecture removed"
+	select BR2_LEGACY
+	help
+	  Support for the nds32 architecture has been removed, due to
+	  its support being removed from the upstream Linux kernel,
+	  and its lack of maintenance in Buildroot.
+
 comment "Legacy options removed in 2022.05"
 
 config BR2_PACKAGE_KTAP

+ 0 - 1
DEVELOPERS

@@ -2172,7 +2172,6 @@ F:	package/systemd/
 F:	package/tcf-agent/
 
 N:	Yu Chien Peter Lin <peterlin@andestech.com>
-F:	arch/Config.in.nds32
 F:	board/andes
 F:	configs/andes_ae350_45_defconfig
 

+ 0 - 12
arch/Config.in

@@ -153,14 +153,6 @@ config BR2_mips64el
 	  http://www.mips.com/
 	  http://en.wikipedia.org/wiki/MIPS_Technologies
 
-config BR2_nds32
-	bool "nds32"
-	select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
-	select BR2_ARCH_HAS_MMU_MANDATORY
-	help
-	  nds32 is a 32-bit architecture developed by Andes Technology.
-	  https://en.wikipedia.org/wiki/Andes_Technology
-
 config BR2_nios2
 	bool "Nios II"
 	select BR2_ARCH_HAS_MMU_MANDATORY
@@ -449,10 +441,6 @@ if BR2_mips || BR2_mips64 || BR2_mipsel || BR2_mips64el
 source "arch/Config.in.mips"
 endif
 
-if BR2_nds32
-source "arch/Config.in.nds32"
-endif
-
 if BR2_nios2
 source "arch/Config.in.nios2"
 endif

+ 0 - 17
arch/Config.in.nds32

@@ -1,17 +0,0 @@
-config BR2_ARCH
-	default "nds32le"
-
-config BR2_NORMALIZED_ARCH
-	default "nds32"
-
-config BR2_GCC_TARGET_ARCH
-	default "v3"
-
-config BR2_ENDIAN
-	default "LITTLE"
-
-config BR2_READELF_ARCH_NAME
-	default "Andes Technology compact code size embedded RISC processor family"
-
-# vim: ft=kconfig
-# -*- mode:kconfig; -*-

+ 1 - 1
docs/manual/known-issues.txt

@@ -7,7 +7,7 @@
   if such options contain a +$+ sign. For example, the following is known
   to break: +BR2_TARGET_LDFLAGS="-Wl,-rpath=\'$ORIGIN/../lib'"+
 
-* The +libffi+ package is not supported on the SuperH 2, nds32, and ARMv7-M
+* The +libffi+ package is not supported on the SuperH 2 and ARMv7-M
   architectures.
 
 * The +prboom+ package triggers a compiler failure with the SuperH 4

+ 0 - 1
package/dhcpcd/Config.in

@@ -20,7 +20,6 @@ config BR2_PACKAGE_DHCPCD_ENABLE_PRIVSEP
 		BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_2
 	depends on !(BR2_microblazeel || BR2_microblazebe) || \
 		BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18
-	depends on !BR2_nds32 || BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_2
 	depends on !BR2_nios2 || BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_2
 	depends on !BR2_or1k || BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
 	depends on !BR2_sh || BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7

+ 0 - 1
package/gdb/Config.in

@@ -4,7 +4,6 @@ config BR2_PACKAGE_GDB_ARCH_SUPPORTS
 	depends on !((BR2_arm || BR2_armeb) && BR2_BINFMT_FLAT)
 	depends on !BR2_microblaze
 	depends on !BR2_or1k
-	depends on !BR2_nds32
 
 comment "gdb/gdbserver needs a toolchain w/ threads, threads debug"
 	depends on BR2_PACKAGE_GDB_ARCH_SUPPORTS

+ 0 - 1
package/gdb/Config.in.host

@@ -4,7 +4,6 @@ config BR2_PACKAGE_HOST_GDB_ARCH_SUPPORTS
 	depends on !((BR2_arm || BR2_armeb) && BR2_BINFMT_FLAT)
 	depends on !BR2_microblaze
 	depends on !BR2_or1k
-	depends on !BR2_nds32
 
 comment "Host GDB Options"
 	depends on !BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY

+ 0 - 1
package/libbsd/Config.in

@@ -5,7 +5,6 @@ config BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS
 	depends on !BR2_microblaze
 	depends on !BR2_arc
 	depends on !BR2_xtensa
-	depends on !BR2_nds32
 
 config BR2_PACKAGE_LIBBSD
 	bool "libbsd"

+ 1 - 1
package/postgresql/postgresql.mk

@@ -42,7 +42,7 @@ ifneq ($(BR2_TOOLCHAIN_HAS_THREADS_NPTL),y)
 POSTGRESQL_CONF_OPTS += --disable-thread-safety
 endif
 
-ifeq ($(BR2_arcle)$(BR2_arceb)$(BR2_microblazeel)$(BR2_microblazebe)$(BR2_or1k)$(BR2_nios2)$(BR2_riscv)$(BR2_xtensa)$(BR2_nds32),y)
+ifeq ($(BR2_arcle)$(BR2_arceb)$(BR2_microblazeel)$(BR2_microblazebe)$(BR2_or1k)$(BR2_nios2)$(BR2_riscv)$(BR2_xtensa),y)
 POSTGRESQL_CONF_OPTS += --disable-spinlocks
 endif
 

+ 1 - 1
package/strace/Config.in

@@ -4,7 +4,7 @@ config BR2_PACKAGE_STRACE
 	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0 || !BR2_nios2
 	# needs at least kernel headers 5.0 on xtensa
 	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0 || !BR2_xtensa
-	depends on !BR2_nds32 && !BR2_RISCV_32
+	depends on !BR2_RISCV_32
 	help
 	  A useful diagnostic, instructional, and debugging tool.
 	  Allows you to track what system calls a program makes

+ 1 - 1
package/uclibc-ng-test/uclibc-ng-test.mk

@@ -39,7 +39,7 @@ ifeq ($(BR2_STATIC_LIBS),y)
 UCLIBC_NG_TEST_MAKE_ENV += NO_TLS=1 NO_NPTL=1 NO_DL=1
 endif
 # no TLS macros available
-ifeq ($(BR2_nds32)$(BR2_s390x),y)
+ifeq ($(BR2_s390x),y)
 UCLIBC_NG_TEST_MAKE_ENV += NO_TLS=1
 endif
 

+ 0 - 3
utils/genrandconfig

@@ -246,9 +246,6 @@ def fixup_config(sysinfo, configfile):
     if 'BR2_ARM_CPU_ARMV7M=y\n' in configlines and \
        'BR2_PACKAGE_LIBFFI=y\n' in configlines:
         return False
-    if 'BR2_nds32=y\n' in configlines and \
-       'BR2_PACKAGE_LIBFFI=y\n' in configlines:
-        return False
     if 'BR2_PACKAGE_SUNXI_BOARDS=y\n' in configlines:
         configlines.remove('BR2_PACKAGE_SUNXI_BOARDS_FEX_FILE=""\n')
         configlines.append('BR2_PACKAGE_SUNXI_BOARDS_FEX_FILE="a10/hackberry.fex"\n')