aboutsummaryrefslogtreecommitdiff
path: root/config/arch
diff options
context:
space:
mode:
Diffstat (limited to 'config/arch')
-rw-r--r--config/arch/nios2.in4
-rw-r--r--config/arch/rx.in11
-rw-r--r--config/arch/sh.in41
3 files changed, 49 insertions, 7 deletions
diff --git a/config/arch/nios2.in b/config/arch/nios2.in
index c773860c..b5ebedb5 100644
--- a/config/arch/nios2.in
+++ b/config/arch/nios2.in
@@ -8,7 +8,9 @@
## select ARCH_SUPPORTS_WITH_ARCH
## select ARCH_SUPPORTS_FLAT_FORMAT
## select GCC_REQUIRE_older_than_15
-## select GDB_REQUIRE_older_than_16
+## select GDB_REQUIRE_older_than_16 if DEBUG_GDB
+## select GLIBC_REQUIRE_older_than_2_41 if LIBC_GLIBC
+## select BINUTILS_REQUIRE_older_than_2_44
##
## help The NIOS2 architecture, as defined by:
## help http://www.altera.com
diff --git a/config/arch/rx.in b/config/arch/rx.in
new file mode 100644
index 00000000..6e58d628
--- /dev/null
+++ b/config/arch/rx.in
@@ -0,0 +1,11 @@
+## no-package
+## select ARCH_SUPPORTS_32
+## select ARCH_DEFAULT_32
+## select ARCH_SUPPORTS_FLAT_FORMAT
+## select ARCH_SUPPORTS_EITHER_ENDIAN
+## select ARCH_DEFAULT_LE
+## select ARCH_REQUIRES_MULTILIB
+## select ARCH_SUPPORTS_WITH_ENDIAN
+
+## help The RX architecture, as defined by:
+## help https://www.renesas.com/en/products/microcontrollers-microprocessors/rx-32-bit-performance-efficiency-mcus
diff --git a/config/arch/sh.in b/config/arch/sh.in
index ff2ec142..8ebdd744 100644
--- a/config/arch/sh.in
+++ b/config/arch/sh.in
@@ -3,8 +3,6 @@
## no-package
## select ARCH_SUPPORTS_32
## select ARCH_DEFAULT_32
-## select ARCH_SUPPORTS_BOTH_MMU
-## select ARCH_DEFAULT_HAS_MMU
## select ARCH_SUPPORTS_FLAT_FORMAT
## select ARCH_SUPPORTS_EITHER_ENDIAN
## select ARCH_DEFAULT_LE
@@ -21,6 +19,8 @@ choice
# GCC supports both endiannesses even if a specific CPU is selected (so long
# as that CPU can be both BE/LE), but the binutils (or specifically, ld)
# configures for both endiannesses only if sh-*-linux target is selected.
+# --with-cpu can be used to set the mmu and precision options,
+# so dont include the options aswell
config ARCH_SH_SH
bool
prompt "unspecified"
@@ -62,16 +62,45 @@ config ARCH_SH_SH4A
bool
prompt "sh4a"
+config ARCH_SH_SH4AL
+ bool
+ prompt "sh4al"
+
endchoice
config ARCH_SH_VARIANT
string
- default "sh" if ARCH_SH_SH
+ default "sh" if ARCH_SH_SH
default "sh1" if ARCH_SH_SH1
default "sh2" if ARCH_SH_SH2
- default "sh2e" if ARCH_SH_SH2E
- default "sh2a" if ARCH_SH_SH2A
+ default "sh2e" if ARCH_SH_SH2E
+ default "sh2a" if ARCH_SH_SH2A
default "sh3" if ARCH_SH_SH3
- default "sh3e" if ARCH_SH_SH3E
+ default "sh3e" if ARCH_SH_SH3E
default "sh4" if ARCH_SH_SH4
default "sh4a" if ARCH_SH_SH4A
+ default "sh4al" if ARCH_SH_SH4AL
+
+config ARCH_SH_ENABLE_FPU_OPTIONS
+ bool
+ default y if ARCH_SH_SH2A
+ default y if ARCH_SH_SH4
+ default y if ARCH_SH_SH4A
+ select ARCH_SUPPORTS_BOTH_MMU
+ select ARCH_DEFAULT_HAS_MMU
+
+config ARCH_SH_ENABLE_PRECISION_OPTIONS
+ bool
+ default y if ARCH_USE_MMU
+ select ARCH_SUPPORTS_WITH_FLOATING_PRECISION
+ select ARCH_SUPPORTS_PRECISION_UNSPECIFIED
+ select ARCH_SUPPORTS_PRECISION_SINGLE_ONLY
+ select ARCH_SUPPORTS_PRECISION_SINGLE_WITH_DOUBLE
+ select ARCH_DEFAULT_PRECISION_UNSPECIFIED
+
+config ARCH_SH_FLOAT_SUFFIX
+ string
+ default "" if !ARCH_SH_ENABLE_FPU_OPTIONS
+ default "_nofpu" if !ARCH_USE_MMU
+ default "_single" if ARCH_FLOATING_PRECISION_SINGLE_WITH_DOUBLE
+ default "_single_only" if ARCH_FLOATING_PRECISION_SINGLE_ONLY