]> git.lizzy.rs Git - rust.git/blob - compiler/rustc_target/src/spec/aarch64_unknown_nto_qnx_710.rs
Issue error when `-C link-self-contained` option is used on unsupported platforms
[rust.git] / compiler / rustc_target / src / spec / aarch64_unknown_nto_qnx_710.rs
1 use super::nto_qnx_base;
2 use crate::spec::{Cc, LinkerFlavor, Lld, Target, TargetOptions};
3
4 pub fn target() -> Target {
5     Target {
6         llvm_target: "aarch64-unknown-unknown".into(),
7         pointer_width: 64,
8         // from: https://llvm.org/docs/LangRef.html#data-layout
9         // e         = little endian
10         // m:e       = ELF mangling: Private symbols get a .L prefix
11         // i8:8:32   = 8-bit-integer, minimum_alignment=8, preferred_alignment=32
12         // i16:16:32 = 16-bit-integer, minimum_alignment=16, preferred_alignment=32
13         // i64:64    = 64-bit-integer, minimum_alignment=64, preferred_alignment=64
14         // i128:128  = 128-bit-integer, minimum_alignment=128, preferred_alignment=128
15         // n32:64    = 32 and 64 are native integer widths; Elements of this set are considered to support most general arithmetic operations efficiently.
16         // S128      = 128 bits are the natural alignment of the stack in bits.
17         data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".into(),
18         arch: "aarch64".into(),
19         options: TargetOptions {
20             max_atomic_width: Some(128),
21             pre_link_args: TargetOptions::link_args(
22                 LinkerFlavor::Gnu(Cc::Yes, Lld::No),
23                 &["-Vgcc_ntoaarch64le_cxx"],
24             ),
25             ..nto_qnx_base::opts()
26         },
27     }
28 }