Skip to content

Commit e44e345

Browse files
committed
Mark all NuttX targets as tier 3 target and support the standard library
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
1 parent 814ebca commit e44e345

18 files changed

+51
-54
lines changed

Diff for: compiler/rustc_target/src/spec/targets/aarch64_unknown_nuttx.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ pub(crate) fn target() -> Target {
3636
description: Some("AArch64 NuttX".into()),
3737
tier: Some(3),
3838
host_tools: Some(false),
39-
std: Some(false),
39+
std: Some(true),
4040
},
4141
pointer_width: 64,
4242
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(),

Diff for: compiler/rustc_target/src/spec/targets/armv7a_nuttx_eabi.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ pub(crate) fn target() -> Target {
3131
description: Some("ARMv7-A Cortex-A with NuttX".into()),
3232
tier: Some(3),
3333
host_tools: Some(false),
34-
std: Some(false),
34+
std: Some(true),
3535
},
3636
pointer_width: 32,
3737
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".into(),

Diff for: compiler/rustc_target/src/spec/targets/armv7a_nuttx_eabihf.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ pub(crate) fn target() -> Target {
3131
description: Some("ARMv7-A Cortex-A with NuttX (hard float)".into()),
3232
tier: Some(3),
3333
host_tools: Some(false),
34-
std: Some(false),
34+
std: Some(true),
3535
},
3636
pointer_width: 32,
3737
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".into(),

Diff for: compiler/rustc_target/src/spec/targets/riscv32imac_unknown_nuttx_elf.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ pub(crate) fn target() -> Target {
66
llvm_target: "riscv32".into(),
77
metadata: crate::spec::TargetMetadata {
88
description: None,
9-
tier: None,
9+
tier: Some(3),
1010
host_tools: None,
11-
std: None,
11+
std: Some(true),
1212
},
1313
pointer_width: 32,
1414
arch: "riscv32".into(),

Diff for: compiler/rustc_target/src/spec/targets/riscv32imafc_unknown_nuttx_elf.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ pub(crate) fn target() -> Target {
66
llvm_target: "riscv32".into(),
77
metadata: crate::spec::TargetMetadata {
88
description: None,
9-
tier: None,
9+
tier: Some(3),
1010
host_tools: None,
11-
std: None,
11+
std: Some(true),
1212
},
1313
pointer_width: 32,
1414
arch: "riscv32".into(),

Diff for: compiler/rustc_target/src/spec/targets/riscv32imc_unknown_nuttx_elf.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ pub(crate) fn target() -> Target {
66
llvm_target: "riscv32".into(),
77
metadata: crate::spec::TargetMetadata {
88
description: None,
9-
tier: None,
9+
tier: Some(3),
1010
host_tools: None,
11-
std: None,
11+
std: Some(true),
1212
},
1313
pointer_width: 32,
1414
arch: "riscv32".into(),

Diff for: compiler/rustc_target/src/spec/targets/riscv64gc_unknown_nuttx_elf.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ pub(crate) fn target() -> Target {
88
data_layout: "e-m:e-p:64:64-i64:64-i128:128-n32:64-S128".into(),
99
metadata: crate::spec::TargetMetadata {
1010
description: None,
11-
tier: None,
11+
tier: Some(3),
1212
host_tools: None,
13-
std: None,
13+
std: Some(true),
1414
},
1515
llvm_target: "riscv64".into(),
1616
pointer_width: 64,

Diff for: compiler/rustc_target/src/spec/targets/riscv64imac_unknown_nuttx_elf.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ pub(crate) fn target() -> Target {
88
data_layout: "e-m:e-p:64:64-i64:64-i128:128-n32:64-S128".into(),
99
metadata: crate::spec::TargetMetadata {
1010
description: None,
11-
tier: None,
11+
tier: Some(3),
1212
host_tools: None,
13-
std: None,
13+
std: Some(true),
1414
},
1515
llvm_target: "riscv64".into(),
1616
pointer_width: 64,

Diff for: compiler/rustc_target/src/spec/targets/thumbv6m_nuttx_eabi.rs

+5-8
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ pub(crate) fn target() -> Target {
77
llvm_target: "thumbv6m-none-eabi".into(),
88
metadata: crate::spec::TargetMetadata {
99
description: None,
10-
tier: None,
10+
tier: Some(3),
1111
host_tools: None,
12-
std: None,
12+
std: Some(true),
1313
},
1414
pointer_width: 32,
1515
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".into(),
@@ -22,12 +22,9 @@ pub(crate) fn target() -> Target {
2222
llvm_floatabi: Some(FloatAbi::Soft),
2323
// The ARMv6-M architecture doesn't support unaligned loads/stores so we disable them
2424
// with +strict-align.
25-
// Also force-enable 32-bit atomics, which allows the use of atomic load/store only.
26-
// The resulting atomics are ABI incompatible with atomics backed by libatomic.
27-
features: "+strict-align,+atomics-32".into(),
28-
// There are no atomic CAS instructions available in the instruction set of the ARMv6-M
29-
// architecture
30-
atomic_cas: false,
25+
// The ARMv6-M doesn't support hardware atomic operations, use atomic builtins instead.
26+
features: "+strict-align".into(),
27+
max_atomic_width: Some(32),
3128
..base::thumb::opts()
3229
},
3330
}

Diff for: compiler/rustc_target/src/spec/targets/thumbv7a_nuttx_eabi.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ pub(crate) fn target() -> Target {
1111
llvm_target: "thumbv7a-none-eabi".into(),
1212
metadata: crate::spec::TargetMetadata {
1313
description: None,
14-
tier: None,
14+
tier: Some(3),
1515
host_tools: None,
16-
std: None,
16+
std: Some(true),
1717
},
1818
pointer_width: 32,
1919
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".into(),

Diff for: compiler/rustc_target/src/spec/targets/thumbv7a_nuttx_eabihf.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ pub(crate) fn target() -> Target {
1414
llvm_target: "thumbv7a-none-eabihf".into(),
1515
metadata: crate::spec::TargetMetadata {
1616
description: None,
17-
tier: None,
17+
tier: Some(3),
1818
host_tools: None,
19-
std: None,
19+
std: Some(true),
2020
},
2121
pointer_width: 32,
2222
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".into(),

Diff for: compiler/rustc_target/src/spec/targets/thumbv7em_nuttx_eabi.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ pub(crate) fn target() -> Target {
1616
llvm_target: "thumbv7em-none-eabi".into(),
1717
metadata: crate::spec::TargetMetadata {
1818
description: None,
19-
tier: None,
19+
tier: Some(3),
2020
host_tools: None,
21-
std: None,
21+
std: Some(true),
2222
},
2323
pointer_width: 32,
2424
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".into(),

Diff for: compiler/rustc_target/src/spec/targets/thumbv7em_nuttx_eabihf.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ pub(crate) fn target() -> Target {
1515
llvm_target: "thumbv7em-none-eabihf".into(),
1616
metadata: crate::spec::TargetMetadata {
1717
description: None,
18-
tier: None,
18+
tier: Some(3),
1919
host_tools: None,
20-
std: None,
20+
std: Some(true),
2121
},
2222
pointer_width: 32,
2323
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".into(),

Diff for: compiler/rustc_target/src/spec/targets/thumbv7m_nuttx_eabi.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ pub(crate) fn target() -> Target {
77
llvm_target: "thumbv7m-none-eabi".into(),
88
metadata: crate::spec::TargetMetadata {
99
description: None,
10-
tier: None,
10+
tier: Some(3),
1111
host_tools: None,
12-
std: None,
12+
std: Some(true),
1313
},
1414
pointer_width: 32,
1515
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".into(),

Diff for: compiler/rustc_target/src/spec/targets/thumbv8m_base_nuttx_eabi.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ pub(crate) fn target() -> Target {
77
llvm_target: "thumbv8m.base-none-eabi".into(),
88
metadata: crate::spec::TargetMetadata {
99
description: None,
10-
tier: None,
10+
tier: Some(3),
1111
host_tools: None,
12-
std: None,
12+
std: Some(true),
1313
},
1414
pointer_width: 32,
1515
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".into(),

Diff for: compiler/rustc_target/src/spec/targets/thumbv8m_main_nuttx_eabi.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ pub(crate) fn target() -> Target {
88
llvm_target: "thumbv8m.main-none-eabi".into(),
99
metadata: crate::spec::TargetMetadata {
1010
description: None,
11-
tier: None,
11+
tier: Some(3),
1212
host_tools: None,
13-
std: None,
13+
std: Some(true),
1414
},
1515
pointer_width: 32,
1616
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".into(),

Diff for: compiler/rustc_target/src/spec/targets/thumbv8m_main_nuttx_eabihf.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ pub(crate) fn target() -> Target {
88
llvm_target: "thumbv8m.main-none-eabihf".into(),
99
metadata: crate::spec::TargetMetadata {
1010
description: None,
11-
tier: None,
11+
tier: Some(3),
1212
host_tools: None,
13-
std: None,
13+
std: Some(true),
1414
},
1515
pointer_width: 32,
1616
data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".into(),

Diff for: src/doc/rustc/src/platform-support.md

+17-17
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ target | std | host | notes
260260
[`aarch64-unknown-netbsd`](platform-support/netbsd.md) | ✓ | ✓ | ARM64 NetBSD
261261
[`aarch64-unknown-nto-qnx700`](platform-support/nto-qnx.md) | ? | | ARM64 QNX Neutrino 7.0 RTOS |
262262
[`aarch64-unknown-nto-qnx710`](platform-support/nto-qnx.md) | ✓ | | ARM64 QNX Neutrino 7.1 RTOS |
263-
[`aarch64-unknown-nuttx`](platform-support/nuttx.md) | * | | ARM64 with NuttX
263+
[`aarch64-unknown-nuttx`](platform-support/nuttx.md) | | | ARM64 with NuttX
264264
[`aarch64-unknown-openbsd`](platform-support/openbsd.md) | ✓ | ✓ | ARM64 OpenBSD
265265
[`aarch64-unknown-redox`](platform-support/redox.md) | ✓ | | ARM64 Redox OS
266266
[`aarch64-unknown-teeos`](platform-support/aarch64-unknown-teeos.md) | ? | | ARM64 TEEOS |
@@ -296,8 +296,8 @@ target | std | host | notes
296296
[`armv7k-apple-watchos`](platform-support/apple-watchos.md) | ✓ | | Armv7-A Apple WatchOS
297297
[`armv7s-apple-ios`](platform-support/apple-ios.md) | ✓ | | Armv7-A Apple-A6 Apple iOS
298298
[`armv8r-none-eabihf`](platform-support/armv8r-none-eabihf.md) | * | | Bare Armv8-R, hardfloat
299-
[`armv7a-nuttx-eabi`](platform-support/nuttx.md) | * | | ARMv7-A with NuttX
300-
[`armv7a-nuttx-eabihf`](platform-support/nuttx.md) | * | | ARMv7-A with NuttX, hardfloat
299+
[`armv7a-nuttx-eabi`](platform-support/nuttx.md) | | | ARMv7-A with NuttX
300+
[`armv7a-nuttx-eabihf`](platform-support/nuttx.md) | | | ARMv7-A with NuttX, hardfloat
301301
`avr-unknown-gnu-atmega328` | * | | AVR. Requires `-Z build-std=core`
302302
`bpfeb-unknown-none` | * | | BPF (big endian)
303303
`bpfel-unknown-none` | * | | BPF (little endian)
@@ -367,40 +367,40 @@ target | std | host | notes
367367
[`riscv32im-risc0-zkvm-elf`](platform-support/riscv32im-risc0-zkvm-elf.md) | ? | | RISC Zero's zero-knowledge Virtual Machine (RV32IM ISA)
368368
[`riscv32ima-unknown-none-elf`](platform-support/riscv32-unknown-none-elf.md) | * | | Bare RISC-V (RV32IMA ISA)
369369
[`riscv32imac-esp-espidf`](platform-support/esp-idf.md) | ✓ | | RISC-V ESP-IDF
370-
[`riscv32imac-unknown-nuttx-elf`](platform-support/nuttx.md) | * | | RISC-V 32bit with NuttX
370+
[`riscv32imac-unknown-nuttx-elf`](platform-support/nuttx.md) | | | RISC-V 32bit with NuttX
371371
[`riscv32imac-unknown-xous-elf`](platform-support/riscv32imac-unknown-xous-elf.md) | ? | | RISC-V Xous (RV32IMAC ISA)
372372
[`riscv32imafc-esp-espidf`](platform-support/esp-idf.md) | ✓ | | RISC-V ESP-IDF
373-
[`riscv32imafc-unknown-nuttx-elf`](platform-support/nuttx.md) | * | | RISC-V 32bit with NuttX
373+
[`riscv32imafc-unknown-nuttx-elf`](platform-support/nuttx.md) | | | RISC-V 32bit with NuttX
374374
[`riscv32imc-esp-espidf`](platform-support/esp-idf.md) | ✓ | | RISC-V ESP-IDF
375-
[`riscv32imc-unknown-nuttx-elf`](platform-support/nuttx.md) | * | | RISC-V 32bit with NuttX
375+
[`riscv32imc-unknown-nuttx-elf`](platform-support/nuttx.md) | | | RISC-V 32bit with NuttX
376376
[`riscv64-linux-android`](platform-support/android.md) | ? | | RISC-V 64-bit Android
377377
[`riscv64-wrs-vxworks`](platform-support/vxworks.md) | ✓ | |
378378
`riscv64gc-unknown-freebsd` | ? | | RISC-V FreeBSD
379379
`riscv64gc-unknown-fuchsia` | ? | | RISC-V Fuchsia
380380
[`riscv64gc-unknown-hermit`](platform-support/hermit.md) | ✓ | | RISC-V Hermit
381381
[`riscv64gc-unknown-netbsd`](platform-support/netbsd.md) | ✓ | ✓ | RISC-V NetBSD
382-
[`riscv64gc-unknown-nuttx-elf`](platform-support/nuttx.md) | * | | RISC-V 64bit with NuttX
382+
[`riscv64gc-unknown-nuttx-elf`](platform-support/nuttx.md) | | | RISC-V 64bit with NuttX
383383
[`riscv64gc-unknown-openbsd`](platform-support/openbsd.md) | ✓ | ✓ | OpenBSD/riscv64
384-
[`riscv64imac-unknown-nuttx-elf`](platform-support/nuttx.md) | * | | RISC-V 64bit with NuttX
384+
[`riscv64imac-unknown-nuttx-elf`](platform-support/nuttx.md) | | | RISC-V 64bit with NuttX
385385
[`s390x-unknown-linux-musl`](platform-support/s390x-unknown-linux-musl.md) | ✓ | | S390x Linux (kernel 3.2, musl 1.2.3)
386386
`sparc-unknown-linux-gnu` | ✓ | | 32-bit SPARC Linux
387387
[`sparc-unknown-none-elf`](./platform-support/sparc-unknown-none-elf.md) | * | | Bare 32-bit SPARC V7+
388388
[`sparc64-unknown-netbsd`](platform-support/netbsd.md) | ✓ | ✓ | NetBSD/sparc64
389389
[`sparc64-unknown-openbsd`](platform-support/openbsd.md) | ✓ | ✓ | OpenBSD/sparc64
390390
[`thumbv4t-none-eabi`](platform-support/armv4t-none-eabi.md) | * | | Thumb-mode Bare Armv4T
391391
[`thumbv5te-none-eabi`](platform-support/armv5te-none-eabi.md) | * | | Thumb-mode Bare Armv5TE
392-
[`thumbv6m-nuttx-eabi`](platform-support/nuttx.md) | * | | ARMv6M with NuttX
392+
[`thumbv6m-nuttx-eabi`](platform-support/nuttx.md) | | | ARMv6M with NuttX
393393
`thumbv7a-pc-windows-msvc` | | |
394394
[`thumbv7a-uwp-windows-msvc`](platform-support/uwp-windows-msvc.md) | | |
395-
[`thumbv7a-nuttx-eabi`](platform-support/nuttx.md) | * | | ARMv7-A with NuttX
396-
[`thumbv7a-nuttx-eabihf`](platform-support/nuttx.md) | * | | ARMv7-A with NuttX, hardfloat
397-
[`thumbv7em-nuttx-eabi`](platform-support/nuttx.md) | * | | ARMv7EM with NuttX
398-
[`thumbv7em-nuttx-eabihf`](platform-support/nuttx.md) | * | | ARMv7EM with NuttX, hardfloat
399-
[`thumbv7m-nuttx-eabi`](platform-support/nuttx.md) | * | | ARMv7M with NuttX
395+
[`thumbv7a-nuttx-eabi`](platform-support/nuttx.md) | | | ARMv7-A with NuttX
396+
[`thumbv7a-nuttx-eabihf`](platform-support/nuttx.md) | | | ARMv7-A with NuttX, hardfloat
397+
[`thumbv7em-nuttx-eabi`](platform-support/nuttx.md) | | | ARMv7EM with NuttX
398+
[`thumbv7em-nuttx-eabihf`](platform-support/nuttx.md) | | | ARMv7EM with NuttX, hardfloat
399+
[`thumbv7m-nuttx-eabi`](platform-support/nuttx.md) | | | ARMv7M with NuttX
400400
`thumbv7neon-unknown-linux-musleabihf` | ? | | Thumb2-mode Armv7-A Linux with NEON, musl 1.2.3
401-
[`thumbv8m.base-nuttx-eabi`](platform-support/nuttx.md) | * | | ARMv8M Baseline with NuttX
402-
[`thumbv8m.main-nuttx-eabi`](platform-support/nuttx.md) | * | | ARMv8M Mainline with NuttX
403-
[`thumbv8m.main-nuttx-eabihf`](platform-support/nuttx.md) | * | | ARMv8M Mainline with NuttX, hardfloat
401+
[`thumbv8m.base-nuttx-eabi`](platform-support/nuttx.md) | | | ARMv8M Baseline with NuttX
402+
[`thumbv8m.main-nuttx-eabi`](platform-support/nuttx.md) | | | ARMv8M Mainline with NuttX
403+
[`thumbv8m.main-nuttx-eabihf`](platform-support/nuttx.md) | | | ARMv8M Mainline with NuttX, hardfloat
404404
[`wasm64-unknown-unknown`](platform-support/wasm64-unknown-unknown.md) | ? | | WebAssembly
405405
[`x86_64-apple-tvos`](platform-support/apple-tvos.md) | ✓ | | x86 64-bit tvOS
406406
[`x86_64-apple-watchos-sim`](platform-support/apple-watchos.md) | ✓ | | x86 64-bit Apple WatchOS simulator

0 commit comments

Comments
 (0)