rustc_target/spec/targets/
aarch64_be_unknown_linux_gnu_ilp32.rs
1use rustc_abi::Endian;
2
3use crate::spec::{StackProbeType, Target, TargetOptions, base};
4
5pub(crate) fn target() -> Target {
6 let mut base = base::linux_gnu::opts();
7 base.max_atomic_width = Some(128);
8
9 Target {
10 llvm_target: "aarch64_be-unknown-linux-gnu_ilp32".into(),
11 metadata: crate::spec::TargetMetadata {
12 description: Some("ARM64 Linux (big-endian, ILP32 ABI)".into()),
13 tier: Some(3),
14 host_tools: Some(true),
15 std: Some(true),
16 },
17 pointer_width: 32,
18 data_layout: "E-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
19 arch: "aarch64".into(),
20 options: TargetOptions {
21 abi: "ilp32".into(),
22 features: "+v8a,+outline-atomics".into(),
23 stack_probes: StackProbeType::Inline,
24 mcount: "\u{1}_mcount".into(),
25 endian: Endian::Big,
26 ..base
27 },
28 }
29}