diff options
| author | bors <bors@rust-lang.org> | 2020-11-23 19:01:19 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2020-11-23 19:01:19 +0000 |
| commit | d9a105fdd46c926ae606777a46dd90e5b838f92f (patch) | |
| tree | 42bcdbda1dc9043ab82fa19e4a32c81cf965d047 /compiler | |
| parent | 40624dde6cdfad2576b4d795c97583188a814884 (diff) | |
| parent | 6bfe27a3e0f1c4d77999ccc2350ab861327615a2 (diff) | |
| download | rust-d9a105fdd46c926ae606777a46dd90e5b838f92f.tar.gz rust-d9a105fdd46c926ae606777a46dd90e5b838f92f.zip | |
Auto merge of #78439 - lzutao:rm-clouldabi, r=Mark-Simulacrum
Drop support for all cloudabi targets `cloudabi` is a tier-3 target, and [it is no longer being maintained upstream][no]. This PR drops supports for cloudabi targets. Those targets are: * aarch64-unknown-cloudabi * armv7-unknown-cloudabi * i686-unknown-cloudabi * x86_64-unknown-cloudabi Since this drops supports for a target, I'd like somebody to tag `relnotes` label to this PR. Some other issues: * The tidy exception for `cloudabi` crate is still remained because * `parking_lot v0.9.0` and `parking_lot v0.10.2` depends on `cloudabi v0.0.3`. * `parking_lot v0.11.0` depends on `cloudabi v0.1.0`. [no]: https://github.com/NuxiNL/cloudabi#note-this-project-is-unmaintained
Diffstat (limited to 'compiler')
7 files changed, 3 insertions, 118 deletions
diff --git a/compiler/rustc_codegen_cranelift/build_sysroot/alloc_system/lib.rs b/compiler/rustc_codegen_cranelift/build_sysroot/alloc_system/lib.rs index ca145e4f2a5..c832d5e5ebb 100644 --- a/compiler/rustc_codegen_cranelift/build_sysroot/alloc_system/lib.rs +++ b/compiler/rustc_codegen_cranelift/build_sysroot/alloc_system/lib.rs @@ -23,7 +23,7 @@ all(target_arch = "wasm32", not(target_os = "emscripten")), feature(integer_atomics, stdsimd) )] -#![cfg_attr(any(unix, target_os = "cloudabi", target_os = "redox"), feature(libc))] +#![cfg_attr(any(unix, target_os = "redox"), feature(libc))] // The minimum alignment guaranteed by the architecture. This value is used to // add fast paths for low alignment values. #[cfg(all(any(target_arch = "x86", @@ -69,7 +69,7 @@ const MIN_ALIGN: usize = 16; /// independently of the standard library’s global allocator. #[stable(feature = "alloc_system_type", since = "1.28.0")] pub struct System; -#[cfg(any(windows, unix, target_os = "cloudabi", target_os = "redox"))] +#[cfg(any(windows, unix, target_os = "redox"))] mod realloc_fallback { use core::alloc::{GlobalAlloc, Layout}; use core::cmp; @@ -89,7 +89,7 @@ mod realloc_fallback { } } } -#[cfg(any(unix, target_os = "cloudabi", target_os = "redox"))] +#[cfg(any(unix, target_os = "redox"))] mod platform { extern crate libc; use core::ptr; 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, - } -} |
