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
388388[ ` riscv64gc-unknown-nuttx-elf ` ] ( platform-support/nuttx.md )  | ✓ |  | RISC-V 64bit with NuttX
389389[ ` riscv64gc-unknown-openbsd ` ] ( platform-support/openbsd.md )  | ✓ | ✓ | OpenBSD/riscv64
390390[ ` 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)
391392[ ` s390x-unknown-linux-musl ` ] ( platform-support/s390x-unknown-linux-musl.md )  | ✓ |  | S390x Linux (kernel 3.2, musl 1.2.3)
392393` sparc-unknown-linux-gnu `  | ✓ |  | 32-bit SPARC Linux
393394[ ` 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