summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Rules.mak6
-rw-r--r--extra/Configs/Config.sh8
2 files changed, 13 insertions, 1 deletions
diff --git a/Rules.mak b/Rules.mak
index b168b9251..79e0c13b0 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -167,7 +167,13 @@ ifeq ($(strip $(TARGET_ARCH)),sh)
CPU_CFLAGS-$(ARCH_BIG_ENDIAN)+=-mb
CPU_CFLAGS-$(CONFIG_SH2)+=-m2
CPU_CFLAGS-$(CONFIG_SH3)+=-m3
+ifeq ($(strip $(UCLIBC_HAS_FLOATS)),y)
+ CPU_CFLAGS-$(CONFIG_SH2A)+=-m2a
CPU_CFLAGS-$(CONFIG_SH4)+=-m4
+else
+ CPU_CFLAGS-$(CONFIG_SH2A)+=-m2a-nofpu
+ CPU_CFLAGS-$(CONFIG_SH4)+=-m4-nofpu
+endif
endif
ifeq ($(strip $(TARGET_ARCH)),sh64)
diff --git a/extra/Configs/Config.sh b/extra/Configs/Config.sh
index a712539d3..9dffbc508 100644
--- a/extra/Configs/Config.sh
+++ b/extra/Configs/Config.sh
@@ -4,7 +4,7 @@
#
config TARGET_ARCH
- default "sh" if CONFIG_SH2 || CONFIG_SH3 || CONFIG_SH4
+ default "sh" if CONFIG_SH2A || CONFIG_SH2 || CONFIG_SH3 || CONFIG_SH4
default "sh64" if CONFIG_SH5
config HAVE_ELF
@@ -47,6 +47,12 @@ choice
- "SH4" SuperH SH-4
- "SH5" SuperH SH-5 101, 103
+config CONFIG_SH2A
+ select ARCH_HAS_NO_MMU
+ select ARCH_HAS_NO_LDSO
+ select HAVE_NO_PIC
+ bool "SH2A"
+
config CONFIG_SH2
select ARCH_HAS_NO_MMU
select ARCH_HAS_NO_LDSO