Skip to content

Commit f1b0ef2

Browse files
committed
Add riscv32 CI run
1 parent abfcdf6 commit f1b0ef2

File tree

3 files changed

+25
-1
lines changed

3 files changed

+25
-1
lines changed

.github/workflows/main.yml

+7
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ jobs:
5858
os: ubuntu-latest
5959
- tuple: aarch64_be-unknown-linux-gnu
6060
os: ubuntu-latest
61+
- tuple: riscv32gc-unknown-linux-gnu
62+
os: ubuntu-latest
6163
- tuple: riscv64gc-unknown-linux-gnu
6264
os: ubuntu-latest
6365
- tuple: powerpc-unknown-linux-gnu
@@ -155,6 +157,11 @@ jobs:
155157
os: ubuntu-latest
156158
disable_assert_instr: true
157159
test_everything: true
160+
- target:
161+
tuple: riscv32gc-unknown-linux-gnu
162+
os: ubuntu-latest
163+
test_everything: true
164+
build_std: true
158165
- target:
159166
tuple: riscv64gc-unknown-linux-gnu
160167
os: ubuntu-latest
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
FROM ubuntu:25.04
2+
3+
RUN apt-get update && apt-get install -y --no-install-recommends \
4+
gcc libc6-dev qemu-user ca-certificates \
5+
wget xz-utils make file llvm
6+
7+
ENV VERSION=2025.01.20
8+
9+
RUN wget "https://github.com/riscv-collab/riscv-gnu-toolchain/releases/download/${VERSION}/riscv32-glibc-ubuntu-24.04-gcc-nightly-${VERSION}-nightly.tar.xz" \
10+
-O riscv-toolchain.tar.xz
11+
RUN tar -xJf riscv-toolchain.tar.xz
12+
13+
ENV CARGO_TARGET_RISCV32GC_UNKNOWN_LINUX_GNU_LINKER=/riscv/bin/riscv32-unknown-linux-gnu-gcc \
14+
CARGO_TARGET_RISCV32GC_UNKNOWN_LINUX_GNU_RUNNER="qemu-riscv32 -cpu max -L /riscv/sysroot" \
15+
OBJDUMP=llvm-objdump
16+
17+
ENV CARGO_UNSTABLE_BUILD_STD=std

crates/stdarch-test/src/disassembly.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ pub(crate) fn disassemble_myself() -> HashSet<Function> {
7777
let add_args = if cfg!(target_vendor = "apple") && cfg!(target_arch = "aarch64") {
7878
// Target features need to be enabled for LLVM objdump on Darwin ARM64
7979
vec!["--mattr=+v8.6a,+crypto,+tme"]
80-
} else if cfg!(target_arch = "riscv64") {
80+
} else if cfg!(any(target_arch = "riscv32", target_arch = "riscv64")) {
8181
vec!["--mattr=+zk,+zks,+zbc,+zbb"]
8282
} else {
8383
vec![]

0 commit comments

Comments
 (0)