about summary refs log tree commit diff
path: root/compiler/rustc_target/src/spec
diff options
context:
space:
mode:
authorLzu Tao <taolzu@gmail.com>2020-10-27 13:10:31 +0000
committerMark Rousskov <mark.simulacrum@gmail.com>2020-11-22 17:11:41 -0500
commit6bfe27a3e0f1c4d77999ccc2350ab861327615a2 (patch)
tree9c062b62441db1cc37b6b272b2e1692ea24e3982 /compiler/rustc_target/src/spec
parentc643dd2ec8fed2852f5eee8f776d657293a6a8f2 (diff)
Drop support for cloudabi targets
Diffstat (limited to 'compiler/rustc_target/src/spec')
-rw-r--r--compiler/rustc_target/src/spec/aarch64_unknown_cloudabi.rs16
-rw-r--r--compiler/rustc_target/src/spec/armv7_unknown_cloudabi_eabihf.rs18
-rw-r--r--compiler/rustc_target/src/spec/cloudabi_base.rs36
-rw-r--r--compiler/rustc_target/src/spec/i686_unknown_cloudabi.rs20
-rw-r--r--compiler/rustc_target/src/spec/mod.rs6
-rw-r--r--compiler/rustc_target/src/spec/x86_64_unknown_cloudabi.rs19
6 files changed, 0 insertions, 115 deletions
diff --git a/compiler/rustc_target/src/spec/aarch64_unknown_cloudabi.rs b/compiler/rustc_target/src/spec/aarch64_unknown_cloudabi.rs
deleted file mode 100644
index 67f69b40e55..00000000000
--- a/compiler/rustc_target/src/spec/aarch64_unknown_cloudabi.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-use crate::spec::Target;
-
-pub fn target() -> Target {
-    let mut base = super::cloudabi_base::opts();
-    base.max_atomic_width = Some(128);
-    base.unsupported_abis = super::arm_base::unsupported_abis();
-    base.linker = Some("aarch64-unknown-cloudabi-cc".to_string());
-
-    Target {
-        llvm_target: "aarch64-unknown-cloudabi".to_string(),
-        pointer_width: 64,
-        data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
-        arch: "aarch64".to_string(),
-        options: base,
-    }
-}
diff --git a/compiler/rustc_target/src/spec/armv7_unknown_cloudabi_eabihf.rs b/compiler/rustc_target/src/spec/armv7_unknown_cloudabi_eabihf.rs
deleted file mode 100644
index d47ee541b25..00000000000
--- a/compiler/rustc_target/src/spec/armv7_unknown_cloudabi_eabihf.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-use crate::spec::{Target, TargetOptions};
-
-pub fn target() -> Target {
-    let mut base = super::cloudabi_base::opts();
-    base.cpu = "cortex-a8".to_string();
-    base.max_atomic_width = Some(64);
-    base.features = "+v7,+vfp3,+neon".to_string();
-    base.unsupported_abis = super::arm_base::unsupported_abis();
-    base.linker = Some("armv7-unknown-cloudabi-eabihf-cc".to_string());
-
-    Target {
-        llvm_target: "armv7-unknown-cloudabi-eabihf".to_string(),
-        pointer_width: 32,
-        data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
-        arch: "arm".to_string(),
-        options: TargetOptions { mcount: "\u{1}mcount".to_string(), ..base },
-    }
-}
diff --git a/compiler/rustc_target/src/spec/cloudabi_base.rs b/compiler/rustc_target/src/spec/cloudabi_base.rs
deleted file mode 100644
index 20a095742ec..00000000000
--- a/compiler/rustc_target/src/spec/cloudabi_base.rs
+++ /dev/null
@@ -1,36 +0,0 @@
-use crate::spec::{LinkArgs, LinkerFlavor, RelroLevel, TargetOptions, TlsModel};
-
-pub fn opts() -> TargetOptions {
-    let mut args = LinkArgs::new();
-    args.insert(
-        LinkerFlavor::Gcc,
-        vec![
-            "-Wl,-Bstatic".to_string(),
-            "-Wl,--no-dynamic-linker".to_string(),
-            "-Wl,--gc-sections".to_string(),
-        ],
-    );
-
-    TargetOptions {
-        os: "cloudabi".to_string(),
-        executables: true,
-        os_family: None,
-        linker_is_gnu: true,
-        pre_link_args: args,
-        position_independent_executables: true,
-        // As CloudABI only supports static linkage, there is no need
-        // for dynamic TLS. The C library therefore does not provide
-        // __tls_get_addr(), which is normally used to perform dynamic
-        // TLS lookups by programs that make use of dlopen(). Only the
-        // "local-exec" and "initial-exec" TLS models can be used.
-        //
-        // "local-exec" is more efficient than "initial-exec", as the
-        // latter has one more level of indirection: it accesses the GOT
-        // (Global Offset Table) to obtain the effective address of a
-        // thread-local variable. Using a GOT is useful only when doing
-        // dynamic linking.
-        tls_model: TlsModel::LocalExec,
-        relro_level: RelroLevel::Full,
-        ..Default::default()
-    }
-}
diff --git a/compiler/rustc_target/src/spec/i686_unknown_cloudabi.rs b/compiler/rustc_target/src/spec/i686_unknown_cloudabi.rs
deleted file mode 100644
index 0cdb9f9de56..00000000000
--- a/compiler/rustc_target/src/spec/i686_unknown_cloudabi.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-use crate::spec::{LinkerFlavor, Target};
-
-pub fn target() -> Target {
-    let mut base = super::cloudabi_base::opts();
-    base.cpu = "pentium4".to_string();
-    base.max_atomic_width = Some(64);
-    base.linker = Some("i686-unknown-cloudabi-cc".to_string());
-    base.pre_link_args.get_mut(&LinkerFlavor::Gcc).unwrap().push("-m32".to_string());
-    base.stack_probes = true;
-
-    Target {
-        llvm_target: "i686-unknown-cloudabi".to_string(),
-        pointer_width: 32,
-        data_layout: "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-\
-            f64:32:64-f80:32-n8:16:32-S128"
-            .to_string(),
-        arch: "x86".to_string(),
-        options: base,
-    }
-}
diff --git a/compiler/rustc_target/src/spec/mod.rs b/compiler/rustc_target/src/spec/mod.rs
index 045da7963c5..1bda33939b8 100644
--- a/compiler/rustc_target/src/spec/mod.rs
+++ b/compiler/rustc_target/src/spec/mod.rs
@@ -54,7 +54,6 @@ mod apple_base;
 mod apple_sdk_base;
 mod arm_base;
 mod avr_gnu_base;
-mod cloudabi_base;
 mod dragonfly_base;
 mod freebsd_base;
 mod fuchsia_base;
@@ -628,11 +627,6 @@ supported_targets! {
 
     ("msp430-none-elf", msp430_none_elf),
 
-    ("aarch64-unknown-cloudabi", aarch64_unknown_cloudabi),
-    ("armv7-unknown-cloudabi-eabihf", armv7_unknown_cloudabi_eabihf),
-    ("i686-unknown-cloudabi", i686_unknown_cloudabi),
-    ("x86_64-unknown-cloudabi", x86_64_unknown_cloudabi),
-
     ("aarch64-unknown-hermit", aarch64_unknown_hermit),
     ("x86_64-unknown-hermit", x86_64_unknown_hermit),
     ("x86_64-unknown-hermit-kernel", x86_64_unknown_hermit_kernel),
diff --git a/compiler/rustc_target/src/spec/x86_64_unknown_cloudabi.rs b/compiler/rustc_target/src/spec/x86_64_unknown_cloudabi.rs
deleted file mode 100644
index cf57f4ec624..00000000000
--- a/compiler/rustc_target/src/spec/x86_64_unknown_cloudabi.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-use crate::spec::{LinkerFlavor, Target};
-
-pub fn target() -> Target {
-    let mut base = super::cloudabi_base::opts();
-    base.cpu = "x86-64".to_string();
-    base.max_atomic_width = Some(64);
-    base.linker = Some("x86_64-unknown-cloudabi-cc".to_string());
-    base.pre_link_args.get_mut(&LinkerFlavor::Gcc).unwrap().push("-m64".to_string());
-    base.stack_probes = true;
-
-    Target {
-        llvm_target: "x86_64-unknown-cloudabi".to_string(),
-        pointer_width: 64,
-        data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
-            .to_string(),
-        arch: "x86_64".to_string(),
-        options: base,
-    }
-}