rustc_target/spec/base/
aix.rs

1use 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}