diff options
Diffstat (limited to 'compiler/rustc_target')
| -rw-r--r-- | compiler/rustc_target/src/spec/mod.rs | 23 | ||||
| -rw-r--r-- | compiler/rustc_target/src/spec/solaris_base.rs | 1 | ||||
| -rw-r--r-- | compiler/rustc_target/src/spec/sparcv9_sun_solaris.rs | 1 | ||||
| -rw-r--r-- | compiler/rustc_target/src/spec/x86_64_pc_solaris.rs | 19 | ||||
| -rw-r--r-- | compiler/rustc_target/src/spec/x86_64_sun_solaris.rs | 1 | 
5 files changed, 23 insertions, 22 deletions
| diff --git a/compiler/rustc_target/src/spec/mod.rs b/compiler/rustc_target/src/spec/mod.rs index b53d851e051..039e9a8b274 100644 --- a/compiler/rustc_target/src/spec/mod.rs +++ b/compiler/rustc_target/src/spec/mod.rs @@ -736,9 +736,8 @@ supported_targets! { ("armv7r-none-eabi", armv7r_none_eabi), ("armv7r-none-eabihf", armv7r_none_eabihf), - // `x86_64-pc-solaris` is an alias for `x86_64_sun_solaris` for backwards compatibility reasons. - // (See <https://github.com/rust-lang/rust/issues/40531>.) - ("x86_64-sun-solaris", "x86_64-pc-solaris", x86_64_sun_solaris), + ("x86_64-pc-solaris", x86_64_pc_solaris), + ("x86_64-sun-solaris", x86_64_sun_solaris), ("sparcv9-sun-solaris", sparcv9_sun_solaris), ("x86_64-unknown-illumos", x86_64_unknown_illumos), @@ -1986,24 +1985,6 @@ impl TargetTriple { Ok(TargetTriple::TargetPath(canonicalized_path)) } - /// Creates a target triple from its alias - pub fn from_alias(triple: String) -> Self { - macro_rules! target_aliases { - ( $(($alias:literal, $target:literal ),)+ ) => { - match triple.as_str() { - $( $alias => TargetTriple::from_triple($target), )+ - _ => TargetTriple::TargetTriple(triple), - } - } - } - - target_aliases! { - // `x86_64-pc-solaris` is an alias for `x86_64_sun_solaris` for backwards compatibility reasons. - // (See <https://github.com/rust-lang/rust/issues/40531>.) - ("x86_64-pc-solaris", "x86_64-sun-solaris"), - } - } - /// Returns a string triple for this target. /// /// If this target is a path, the file name (without extension) is returned. diff --git a/compiler/rustc_target/src/spec/solaris_base.rs b/compiler/rustc_target/src/spec/solaris_base.rs index 33e0cf8e967..59731f25821 100644 --- a/compiler/rustc_target/src/spec/solaris_base.rs +++ b/compiler/rustc_target/src/spec/solaris_base.rs @@ -3,7 +3,6 @@ use crate::spec::TargetOptions; pub fn opts() -> TargetOptions { TargetOptions { os: "solaris".to_string(), - vendor: "sun".to_string(), dynamic_linking: true, executables: true, has_rpath: true, diff --git a/compiler/rustc_target/src/spec/sparcv9_sun_solaris.rs b/compiler/rustc_target/src/spec/sparcv9_sun_solaris.rs index 9ac56cae916..abc46a8c9c3 100644 --- a/compiler/rustc_target/src/spec/sparcv9_sun_solaris.rs +++ b/compiler/rustc_target/src/spec/sparcv9_sun_solaris.rs @@ -7,6 +7,7 @@ pub fn target() -> Target { base.pre_link_args.insert(LinkerFlavor::Gcc, vec!["-m64".to_string()]); // llvm calls this "v9" base.cpu = "v9".to_string(); + base.vendor = "sun".to_string(); base.max_atomic_width = Some(64); Target { diff --git a/compiler/rustc_target/src/spec/x86_64_pc_solaris.rs b/compiler/rustc_target/src/spec/x86_64_pc_solaris.rs new file mode 100644 index 00000000000..75eece74ff9 --- /dev/null +++ b/compiler/rustc_target/src/spec/x86_64_pc_solaris.rs @@ -0,0 +1,19 @@ +use crate::spec::{LinkerFlavor, StackProbeType, Target}; + +pub fn target() -> Target { + let mut base = super::solaris_base::opts(); + base.pre_link_args.insert(LinkerFlavor::Gcc, vec!["-m64".to_string()]); + base.cpu = "x86-64".to_string(); + base.vendor = "pc".to_string(); + base.max_atomic_width = Some(64); + base.stack_probes = StackProbeType::InlineOrCall { min_llvm_version_for_inline: (11, 0, 1) }; + + Target { + llvm_target: "x86_64-pc-solaris".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, + } +} diff --git a/compiler/rustc_target/src/spec/x86_64_sun_solaris.rs b/compiler/rustc_target/src/spec/x86_64_sun_solaris.rs index 0fe462ec83c..63e524fa8a9 100644 --- a/compiler/rustc_target/src/spec/x86_64_sun_solaris.rs +++ b/compiler/rustc_target/src/spec/x86_64_sun_solaris.rs @@ -4,6 +4,7 @@ pub fn target() -> Target { let mut base = super::solaris_base::opts(); base.pre_link_args.insert(LinkerFlavor::Gcc, vec!["-m64".to_string()]); base.cpu = "x86-64".to_string(); + base.vendor = "sun".to_string(); base.max_atomic_width = Some(64); base.stack_probes = StackProbeType::InlineOrCall { min_llvm_version_for_inline: (11, 0, 1) }; | 
