1 use crate::spec
::{LinkerFlavor, Target, TargetResult}
;
3 pub fn target() -> TargetResult
{
4 let mut base
= super::solaris_base
::opts();
5 base
.pre_link_args
.insert(LinkerFlavor
::Gcc
, vec
!["-m64".to_string()]);
6 // llvm calls this "v9"
7 base
.cpu
= "v9".to_string();
8 base
.max_atomic_width
= Some(64);
11 llvm_target
: "sparcv9-sun-solaris".to_string(),
12 target_endian
: "big".to_string(),
13 target_pointer_width
: "64".to_string(),
14 target_c_int_width
: "32".to_string(),
15 data_layout
: "E-m:e-i64:64-n32:64-S128".to_string(),
16 // Use "sparc64" instead of "sparcv9" here, since the former is already
17 // used widely in the source base. If we ever needed ABI
18 // differentiation from the sparc64, we could, but that would probably
20 arch
: "sparc64".to_string(),
21 target_os
: "solaris".to_string(),
22 target_env
: String
::new(),
23 target_vendor
: "sun".to_string(),
24 linker_flavor
: LinkerFlavor
::Gcc
,