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}