rustc_target/spec/base/
aix.rs
1use rustc_abi::Endian;
2
3use crate::spec::{
4 BinaryFormat, Cc, CodeModel, LinkOutputKind, LinkerFlavor, TargetOptions, crt_objects, cvs,
5};
6
7pub(crate) fn opts() -> TargetOptions {
8 TargetOptions {
9 abi: "vec-extabi".into(),
10 code_model: Some(CodeModel::Large),
11 cpu: "pwr7".into(),
12 os: "aix".into(),
13 vendor: "ibm".into(),
14 dynamic_linking: true,
15 endian: Endian::Big,
16 executables: true,
17 archive_format: "aix_big".into(),
18 families: cvs!["unix"],
19 has_rpath: false,
20 has_thread_local: true,
21 crt_static_respected: true,
22 linker_flavor: LinkerFlavor::Unix(Cc::No),
23 linker: Some("ld".into()),
24 eh_frame_header: false,
25 is_like_aix: true,
26 binary_format: BinaryFormat::Xcoff,
27 default_dwarf_version: 3,
28 function_sections: true,
29 pre_link_objects: crt_objects::new(&[
30 (LinkOutputKind::DynamicNoPicExe, &["/usr/lib/crt0_64.o", "/usr/lib/crti_64.o"]),
31 (LinkOutputKind::DynamicPicExe, &["/usr/lib/crt0_64.o", "/usr/lib/crti_64.o"]),
32 ]),
33 dll_suffix: ".a".into(),
34 ..Default::default()
35 }
36}