]>
Commit | Line | Data |
---|---|---|
9fa01778 | 1 | use crate::spec::{LinkerFlavor, Target, TargetResult}; |
9e0c209e SL |
2 | |
3 | pub fn target() -> TargetResult { | |
4 | let mut base = super::haiku_base::opts(); | |
5 | base.cpu = "x86-64".to_string(); | |
c30ab7b3 | 6 | base.max_atomic_width = Some(64); |
cc61c64b | 7 | base.pre_link_args.insert(LinkerFlavor::Gcc, vec!["-m64".to_string()]); |
041b39d2 | 8 | base.stack_probes = true; |
8faf50e0 XL |
9 | // This option is required to build executables on Haiku x86_64 |
10 | base.position_independent_executables = true; | |
9e0c209e SL |
11 | |
12 | Ok(Target { | |
13 | llvm_target: "x86_64-unknown-haiku".to_string(), | |
14 | target_endian: "little".to_string(), | |
15 | target_pointer_width: "64".to_string(), | |
ea8adc8c | 16 | target_c_int_width: "32".to_string(), |
9e0c209e SL |
17 | data_layout: "e-m:e-i64:64-f80:128-n8:16:32:64-S128".to_string(), |
18 | arch: "x86_64".to_string(), | |
19 | target_os: "haiku".to_string(), | |
b7449926 | 20 | target_env: String::new(), |
9e0c209e | 21 | target_vendor: "unknown".to_string(), |
cc61c64b | 22 | linker_flavor: LinkerFlavor::Gcc, |
9e0c209e SL |
23 | options: base, |
24 | }) | |
25 | } |