summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2015-12-28 06:19:47 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2015-12-28 08:40:17 +0100
commit54c391836b04d7a19a435f89ba617a2ffe06117b (patch)
tree6cee675f0eeababb7d0cb5f99a555d748737452d
parent89abc818fd48298b1c63774d4eadd7c558604779 (diff)
v850: add basic newlib toolchain support
-rw-r--r--target/arch.lst1
-rw-r--r--target/config/Config.in.binfmt1
-rw-r--r--target/config/Config.in.cpu7
-rw-r--r--target/config/Config.in.libc4
-rw-r--r--target/v850/Makefile7
-rw-r--r--target/v850/systems/toolchain-v8508
-rw-r--r--toolchain/Makefile4
7 files changed, 31 insertions, 1 deletions
diff --git a/target/arch.lst b/target/arch.lst
index 6cb9acfbb..2220ac21f 100644
--- a/target/arch.lst
+++ b/target/arch.lst
@@ -25,6 +25,7 @@ sparc
sparc64
sh
tile
+v850
x86
x86_64
xtensa
diff --git a/target/config/Config.in.binfmt b/target/config/Config.in.binfmt
index 1ed595afc..54574b72c 100644
--- a/target/config/Config.in.binfmt
+++ b/target/config/Config.in.binfmt
@@ -3,6 +3,7 @@
choice
prompt "Binary Format"
+depends on !ADK_TARGET_LIB_NEWLIB
config ADK_TARGET_BINFMT_ELF
bool "ELF"
diff --git a/target/config/Config.in.cpu b/target/config/Config.in.cpu
index 84695753c..634e3a926 100644
--- a/target/config/Config.in.cpu
+++ b/target/config/Config.in.cpu
@@ -669,6 +669,12 @@ config ADK_CPU_TILE
select ADK_TARGET_WITH_NPTL
select ADK_TARGET_WITH_MMU
+config ADK_CPU_V850
+ bool
+ select ADK_TARGET_WITHOUT_MMU
+ select ADK_TARGET_WITHOUT_THREADS
+ select ADK_TARGET_WITHOUT_CXX
+
config ADK_CPU_X86
bool
select ADK_TARGET_WITH_NPTL
@@ -995,5 +1001,6 @@ config ADK_TARGET_CPU_ARCH
default "sparc" if ADK_TARGET_ARCH_SPARC
default "sparc64" if ADK_TARGET_ARCH_SPARC64
default "tilegx" if ADK_TARGET_ARCH_TILE
+ default "v850" if ADK_TARGET_ARCH_V850
default "x86_64" if ADK_TARGET_ARCH_X86_64
default "xtensa" if ADK_TARGET_ARCH_XTENSA
diff --git a/target/config/Config.in.libc b/target/config/Config.in.libc
index ae8c2bc4b..b86841989 100644
--- a/target/config/Config.in.libc
+++ b/target/config/Config.in.libc
@@ -13,7 +13,8 @@ config ADK_TARGET_LIB_UCLIBC_NG
!ADK_TARGET_ARCH_S390 && \
!ADK_TARGET_ARCH_SPARC64 && \
!ADK_TARGET_ARCH_PPC64 && \
- !ADK_TARGET_ARCH_TILE
+ !ADK_TARGET_ARCH_TILE && \
+ !ADK_TARGET_ARCH_V850
help
http://uclibc-ng.org
@@ -62,6 +63,7 @@ config ADK_TARGET_LIB_NEWLIB
ADK_TARGET_ARCH_OR1K || \
ADK_TARGET_ARCH_PPC || \
ADK_TARGET_ARCH_SPARC || \
+ ADK_TARGET_ARCH_V850 || \
ADK_TARGET_ARCH_X86
help
https://sourceware.org/newlib/
diff --git a/target/v850/Makefile b/target/v850/Makefile
new file mode 100644
index 000000000..03afae8f0
--- /dev/null
+++ b/target/v850/Makefile
@@ -0,0 +1,7 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+include $(ADK_TOPDIR)/mk/kernel-build.mk
+include $(ADK_TOPDIR)/mk/image.mk
+
diff --git a/target/v850/systems/toolchain-v850 b/target/v850/systems/toolchain-v850
new file mode 100644
index 000000000..0043bac74
--- /dev/null
+++ b/target/v850/systems/toolchain-v850
@@ -0,0 +1,8 @@
+config ADK_TARGET_SYSTEM_TOOLCHAIN_V850
+ bool "Toolchain only"
+ select ADK_CPU_V850
+ select ADK_TARGET_TOOLCHAIN
+ select ADK_TARGET_PACKAGE_TXZ
+ help
+ V850 toolchain.
+
diff --git a/toolchain/Makefile b/toolchain/Makefile
index 7b24b9a4c..b1aaac653 100644
--- a/toolchain/Makefile
+++ b/toolchain/Makefile
@@ -56,7 +56,11 @@ download: $(DOWNLOAD)
final: $(FINAL)
gcc-configure: binutils-install gmp-install mpfr-install mpc-install libelf-install
+ifeq ($(ADK_TARGET_LIB_NEWLIB),y)
+$(CLIB)-install: gcc-configure
+else
$(CLIB)-install: gcc-configure kernel-headers-configure
+endif
gcc-install: $(ELF2FLT) $(CLIB)-install
gcc-final: gcc-install $(GDB)