Skip to main content

rustc_target/spec/targets/
aarch64_unknown_l4re_uclibc.rs

1use crate::spec::{Arch, Cc, LinkerFlavor, Target, TargetOptions, base};
2
3pub(crate) fn target() -> Target {
4    let mut base = base::l4re::opts();
5
6    let extra_link_args = &["-zmax-page-size=0x1000", "-zcommon-page-size=0x1000"];
7    base.add_pre_link_args(LinkerFlavor::Unix(Cc::Yes), extra_link_args);
8    base.add_pre_link_args(LinkerFlavor::Unix(Cc::No), extra_link_args);
9
10    Target {
11        llvm_target: "aarch64-unknown-l4re-uclibc".into(),
12        metadata: crate::spec::TargetMetadata {
13            description: Some("Arm64 L4Re".into()),
14            tier: Some(3),
15            host_tools: Some(false),
16            std: Some(true),
17        },
18        pointer_width: 64,
19        data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
20        arch: Arch::AArch64,
21        options: TargetOptions {
22            features: "+v8a".into(),
23            mcount: "__mcount".into(),
24            max_atomic_width: Some(128),
25            ..base
26        }
27    }
28}