diff options
author | John Hodge (Mutabah) <acessdev@gmail.com> | 2018-11-18 14:34:24 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-18 14:34:24 +0800 |
commit | 61d7669269529ea65a7dc797c0db2f84a05fc7b8 (patch) | |
tree | 7e4e32ecdc1ef816adf51cb291f57d27ef99071e | |
parent | a56ce2ac8c99f8622da26bf3677286400c4bbec4 (diff) | |
parent | ad1cec3df31470a1b97f1c672a45ae57495945a5 (diff) | |
download | mrust-61d7669269529ea65a7dc797c0db2f84a05fc7b8.tar.gz |
Merge pull request #92 from glaubitz/m68k
Trans - Add initial support for m68k
-rw-r--r-- | src/trans/target.cpp | 16 | ||||
-rw-r--r-- | tools/common/target_detect.h | 2 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/trans/target.cpp b/src/trans/target.cpp index f91b679a..64cf19c6 100644 --- a/src/trans/target.cpp +++ b/src/trans/target.cpp @@ -34,6 +34,11 @@ const TargetArch ARCH_ARM32 = { 32, false, { /*atomic(u8)=*/true, false, true, false, true } }; +const TargetArch ARCH_M68K = { + "m68k", + 32, true, + { /*atomic(u8)=*/true, false, true, false, true } +}; TargetSpec g_target; @@ -108,6 +113,10 @@ namespace { rv.m_arch = ARCH_X86_64; } + else if( key_val.value.as_string() == ARCH_M68K.m_name ) + { + rv.m_arch = ARCH_M68K; + } else { // Error. @@ -332,6 +341,13 @@ namespace ARCH_ARM64 }; } + else if(target_name == "m68k-linux-gnu") + { + return TargetSpec { + "unix", "linux", "gnu", {CodegenMode::Gnu11, "m68k-linux-gnu", BACKEND_C_OPTS_GNU}, + ARCH_M68K + }; + } else if(target_name == "i586-windows-gnu") { return TargetSpec { diff --git a/tools/common/target_detect.h b/tools/common/target_detect.h index a4c44ba4..0812c363 100644 --- a/tools/common/target_detect.h +++ b/tools/common/target_detect.h @@ -24,6 +24,8 @@ # define DEFAULT_TARGET_NAME "arm-linux-gnu" # elif defined(__i386__) # define DEFAULT_TARGET_NAME "i586-linux-gnu" +# elif defined(__m68k__) +# define DEFAULT_TARGET_NAME "m68k-linux-gnu" # else # warning "Unable to detect a suitable default target (linux-gnu)" # endif |