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