File tree Expand file tree Collapse file tree 2 files changed +67
-0
lines changed Expand file tree Collapse file tree 2 files changed +67
-0
lines changed Original file line number Diff line number Diff line change @@ -388,6 +388,7 @@ target | std | host | notes
388
388
[ ` riscv64gc-unknown-nuttx-elf ` ] ( platform-support/nuttx.md ) | ✓ | | RISC-V 64bit with NuttX
389
389
[ ` riscv64gc-unknown-openbsd ` ] ( platform-support/openbsd.md ) | ✓ | ✓ | OpenBSD/riscv64
390
390
[ ` riscv64imac-unknown-nuttx-elf ` ] ( platform-support/nuttx.md ) | ✓ | | RISC-V 64bit with NuttX
391
+ [ ` riscv64a23-unknown-linux-gnu ` ] ( platform-support/riscv64a23-unknown-linux-gnu.md ) | ✓ | ✓ | RISC-V Linux (kernel 4.20+, glibc 2.29)
391
392
[ ` s390x-unknown-linux-musl ` ] ( platform-support/s390x-unknown-linux-musl.md ) | ✓ | | S390x Linux (kernel 3.2, musl 1.2.3)
392
393
` sparc-unknown-linux-gnu ` | ✓ | | 32-bit SPARC Linux
393
394
[ ` sparc-unknown-none-elf ` ] ( ./platform-support/sparc-unknown-none-elf.md ) | * | | Bare 32-bit SPARC V7+
Original file line number Diff line number Diff line change
1
+ # ` riscv64a23-unknown-linux-gnu `
2
+
3
+ ** Tier: 3**
4
+
5
+ RISC-V targets using the ratified [ RVA23 Profile] ( https://github.com/riscv/riscv-profiles/blob/main/rva23-profile.adoc ) .
6
+ This target will enable all mandary features of rva23u64 and rva23s64 by default.
7
+
8
+
9
+ ## Target maintainers
10
+
11
+ [ @ZhongyaoChen ] ( https://github.com/ZhongyaoChen )
12
+ [ @CaiWeiran ] ( https://github.com/CaiWeiran )
13
+
14
+ ## Requirements
15
+
16
+ This target requires:
17
+
18
+ * Linux Kernel version 4.20 or later
19
+ * glibc 2.17 or later
20
+
21
+
22
+ ## Building the target
23
+
24
+ The target is distributed through ` rustup ` , and otherwise require no
25
+ special configuration.
26
+
27
+ If you need to build your own Rust for some reason though, the target can be build with:
28
+
29
+ ``` bash
30
+ ./x build --target riscv64a23-unknown-linux-gnu
31
+ ```
32
+
33
+ ## Building Rust programs
34
+
35
+ Add the target:
36
+
37
+ ``` bash
38
+ rustup target add riscv64a23-unknown-linux-gnu
39
+ ```
40
+
41
+ Then cross compile crates with:
42
+
43
+ ``` bash
44
+ cargo build --target riscv64a23-unknown-linux-gnu
45
+ ```
46
+
47
+ ## Cross-compilation toolchains and Testing
48
+
49
+ On Ubuntu 24.04, we can install compilation dependencies with:
50
+
51
+ ``` bash
52
+ apt install -y git python3 g++ g++-riscv64-linux-gnu
53
+ ```
54
+
55
+ Then build target with:
56
+
57
+ ``` bash
58
+ ./x build --target=riscv64a23-unknown-linux-gnu
59
+ ```
60
+
61
+ There are no special requirements for testing and running the targets.
62
+ For testing cross-builds on the host, you can use the docker image. It will automatically set up a RISC-V QEMU emulator and run all the test suite.
63
+
64
+ ``` bash
65
+ DEPLOY=1 ./src/ci/docker/run.sh riscv64a23-gnu
66
+ ```
You can’t perform that action at this time.
0 commit comments