rustc_target/spec/base/
aix.rs

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