Add moxie architecture

and a moxie-unknown-elf target (which is what #1088 apparently wanted).

Signed-off-by: Alexey Neyman <stilor@att.net>
This commit is contained in:
Alexey Neyman 2018-11-19 23:34:48 -08:00
parent da76ae3ea3
commit 172308cb1b
8 changed files with 42 additions and 7 deletions

11
config/arch/moxie.in Normal file
View File

@ -0,0 +1,11 @@
# Moxie soft-core architecture
## no-package
## select ARCH_SUPPORTS_32
## select ARCH_DEFAULT_32
## select ARCH_SUPPORTS_EITHER_ENDIAN
## select ARCH_DEFAULT_BE
## depends on EXPERIMENTAL
## help The Moxie soft-core architecture, as defined by:
## help http://moxielogic.org/blog/pages/architecture.html

View File

@ -1,4 +1,6 @@
# Kernel.org's device tree compiler
## default y if !CONFIGURE_has_dtc && ARCH_MOXIE
config DTC_VERBOSE
bool "Verbose DTC build output"

View File

@ -1,6 +1,6 @@
# Linux kernel options
## depends on ! ARCH_AVR
## depends on !ARCH_AVR && !ARCH_MSP430 && !ARCH_MOXIE
## select KERNEL_SUPPORTS_SHARED_LIBS
## help Build a toolchain targeting systems running Linux as a kernel.

View File

@ -0,0 +1,8 @@
CT_EXPERIMENTAL=y
CT_ARCH_MOXIE=y
CT_ARCH_BE=y
CT_NEWLIB_V_2_5_0=y
CT_DEBUG_GDB=y
CT_GDB_CROSS_SIM=y
# CT_GDB_CROSS_PYTHON is not set
CT_DTC_VERBOSE=y

View File

@ -0,0 +1,3 @@
reporter_name="Alexey Neyman"
reporter_url=""
reporter_comment="Bare metal configuration for moxie architecture."

View File

@ -0,0 +1,7 @@
# Moxie-specific arch callbacks
# No arch-specific overrides yet
CT_DoArchTupleValues()
{
:
}

View File

@ -6,7 +6,6 @@ CT_DoKernelTupleValues() {
# Even we compile for x86_64 target architecture, the target OS have to
# bet mingw32 (require by gcc and mingw-w64)
CT_TARGET_KERNEL="mingw32"
CT_TARGET_SYS=
}
do_kernel_get() {

View File

@ -1091,16 +1091,21 @@ CT_DoBuildTargetTuple() {
# Set defaults for the system part of the tuple. Can be overriden
# by architecture-specific values.
case "${CT_LIBC}" in
*glibc) CT_TARGET_SYS=gnu;;
uClibc) CT_TARGET_SYS=uclibc;;
musl) CT_TARGET_SYS=musl;;
glibc) CT_TARGET_SYS=gnu;;
uClibc) CT_TARGET_SYS=uclibc;;
musl) CT_TARGET_SYS=musl;;
bionic) CT_TARGET_SYS=android;;
avr-libc)
# avr-libc only seems to work with the non-canonical "avr" target.
CT_TARGET_SKIP_CONFIG_SUB=y
CT_TARGET_SYS= # CT_TARGET_SYS must be empty too
;;
*) CT_TARGET_SYS=elf;;
;;
none|newlib)
CT_TARGET_SYS=elf
;;
*)
CT_TARGET_SYS= # Keep empty for the libraries like mingw
;;
esac
# Set the default values for ARCH, ABI, CPU, TUNE, FPU and FLOAT