rustc_target/spec/targets/
mips64_unknown_linux_gnuabi64.rs

1use rustc_abi::Endian;
2
3use crate::spec::{Target, TargetOptions, base};
4
5pub(crate) fn target() -> Target {
6    Target {
7        llvm_target: "mips64-unknown-linux-gnuabi64".into(),
8        metadata: crate::spec::TargetMetadata {
9            description: Some("MIPS64 Linux, N64 ABI (kernel 4.4, glibc 2.23)".into()),
10            tier: Some(3),
11            host_tools: Some(true),
12            std: Some(true),
13        },
14        pointer_width: 64,
15        data_layout: "E-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".into(),
16        arch: "mips64".into(),
17        options: TargetOptions {
18            abi: "abi64".into(),
19            endian: Endian::Big,
20            // NOTE(mips64r2) matches C toolchain
21            cpu: "mips64r2".into(),
22            features: "+mips64r2,+xgot".into(),
23            max_atomic_width: Some(64),
24            mcount: "_mcount".into(),
25
26            ..base::linux_gnu::opts()
27        },
28    }
29}