Skip to content

Commit 6584749

Browse files
committed
Add aarch64_be-unknown-hermit target
Signed-off-by: Jens Reidel <[email protected]>
1 parent f5703d5 commit 6584749

File tree

6 files changed

+33
-0
lines changed

6 files changed

+33
-0
lines changed

compiler/rustc_target/src/spec/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2116,6 +2116,7 @@ supported_targets! {
21162116

21172117
("msp430-none-elf", msp430_none_elf),
21182118

2119+
("aarch64_be-unknown-hermit", aarch64_be_unknown_hermit),
21192120
("aarch64-unknown-hermit", aarch64_unknown_hermit),
21202121
("riscv64gc-unknown-hermit", riscv64gc_unknown_hermit),
21212122
("x86_64-unknown-hermit", x86_64_unknown_hermit),
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
use rustc_abi::Endian;
2+
3+
use crate::spec::{StackProbeType, Target, TargetMetadata, TargetOptions, base};
4+
5+
pub(crate) fn target() -> Target {
6+
Target {
7+
llvm_target: "aarch64_be-unknown-hermit".into(),
8+
metadata: TargetMetadata {
9+
description: Some("ARM64 Hermit (big-endian)".into()),
10+
tier: Some(3),
11+
host_tools: Some(false),
12+
std: Some(true),
13+
},
14+
pointer_width: 64,
15+
arch: "aarch64".into(),
16+
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(),
17+
options: TargetOptions {
18+
features: "+v8a,+strict-align,+neon,+fp-armv8".into(),
19+
max_atomic_width: Some(128),
20+
stack_probes: StackProbeType::Inline,
21+
endian: Endian::Big,
22+
..base::hermit::opts()
23+
},
24+
}
25+
}

src/bootstrap/src/core/sanity.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ pub struct Finder {
3535
const STAGE0_MISSING_TARGETS: &[&str] = &[
3636
"armv7a-vex-v5",
3737
// just a dummy comment so the list doesn't get onelined
38+
"aarch64_be-unknown-hermit",
3839
"aarch64_be-unknown-none-softfloat",
3940
];
4041

src/doc/rustc/src/platform-support.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,7 @@ target | std | host | notes
270270
[`aarch64-unknown-trusty`](platform-support/trusty.md) | ✓ | |
271271
[`aarch64-uwp-windows-msvc`](platform-support/uwp-windows-msvc.md) | ✓ | |
272272
[`aarch64-wrs-vxworks`](platform-support/vxworks.md) | ✓ | | ARM64 VxWorks OS
273+
[`aarch64_be-unknown-hermit`](platform-support/hermit.md) | ✓ | | ARM64 Hermit (big-endian)
273274
`aarch64_be-unknown-linux-gnu` | ✓ | ✓ | ARM64 Linux (big-endian)
274275
`aarch64_be-unknown-linux-gnu_ilp32` | ✓ | ✓ | ARM64 Linux (big-endian, ILP32 ABI)
275276
[`aarch64_be-unknown-netbsd`](platform-support/netbsd.md) | ✓ | ✓ | ARM64 NetBSD (big-endian)

src/doc/rustc/src/platform-support/hermit.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ Target triplets available so far:
1010

1111
- `x86_64-unknown-hermit`
1212
- `aarch64-unknown-hermit`
13+
- `aarch64_be-unknown-hermit`
1314
- `riscv64gc-unknown-hermit`
1415

1516
## Target maintainers
@@ -42,6 +43,7 @@ target = [
4243
"<HOST_TARGET>",
4344
"x86_64-unknown-hermit",
4445
"aarch64-unknown-hermit",
46+
"aarch64_be-unknown-hermit",
4547
"riscv64gc-unknown-hermit",
4648
]
4749

tests/assembly-llvm/targets/targets-elf.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
//@ add-core-stubs
22
//@ assembly-output: emit-asm
33
// ignore-tidy-linelength
4+
//@ revisions: aarch64_be_unknown_hermit
5+
//@ [aarch64_be_unknown_hermit] compile-flags: --target aarch64_be-unknown-hermit
6+
//@ [aarch64_be_unknown_hermit] needs-llvm-components: aarch64
47
//@ revisions: aarch64_be_unknown_linux_gnu
58
//@ [aarch64_be_unknown_linux_gnu] compile-flags: --target aarch64_be-unknown-linux-gnu
69
//@ [aarch64_be_unknown_linux_gnu] needs-llvm-components: aarch64

0 commit comments

Comments
 (0)