Skip to content

Commit b4c3f40

Browse files
authored
Rollup merge of #76798 - alistair23:alistair/rv32-linux, r=jyn514
Build fixes for RISC-V 32-bit Linux support This fixes build issues with the 32-bit RISC-V port.
2 parents 404cce0 + 3d1b6d6 commit b4c3f40

File tree

6 files changed

+11
-6
lines changed

6 files changed

+11
-6
lines changed

library/panic_unwind/src/gcc.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ const UNWIND_DATA_REG: (i32, i32) = (24, 25); // I0, I1
120120
#[cfg(target_arch = "hexagon")]
121121
const UNWIND_DATA_REG: (i32, i32) = (0, 1); // R0, R1
122122

123-
#[cfg(target_arch = "riscv64")]
123+
#[cfg(any(target_arch = "riscv64", target_arch = "riscv32"))]
124124
const UNWIND_DATA_REG: (i32, i32) = (10, 11); // x10, x11
125125

126126
// The following code is based on GCC's C and C++ personality routines. For reference, see:

library/std/src/os/linux/raw.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,8 @@ mod arch {
234234
target_arch = "mips64",
235235
target_arch = "s390x",
236236
target_arch = "sparc64",
237-
target_arch = "riscv64"
237+
target_arch = "riscv64",
238+
target_arch = "riscv32"
238239
))]
239240
mod arch {
240241
pub use libc::{blkcnt_t, blksize_t, ino_t, nlink_t, off_t, stat, time_t};

library/std/src/os/raw/mod.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ mod tests;
2222
target_arch = "powerpc",
2323
target_arch = "powerpc64",
2424
target_arch = "s390x",
25-
target_arch = "riscv64"
25+
target_arch = "riscv64",
26+
target_arch = "riscv32"
2627
)
2728
),
2829
all(target_os = "android", any(target_arch = "aarch64", target_arch = "arm")),
@@ -65,7 +66,8 @@ pub type c_char = u8;
6566
target_arch = "powerpc",
6667
target_arch = "powerpc64",
6768
target_arch = "s390x",
68-
target_arch = "riscv64"
69+
target_arch = "riscv64",
70+
target_arch = "riscv32"
6971
)
7072
),
7173
all(target_os = "android", any(target_arch = "aarch64", target_arch = "arm")),

library/std/src/sys_common/alloc.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ use crate::ptr;
1414
target_arch = "powerpc64",
1515
target_arch = "asmjs",
1616
target_arch = "wasm32",
17-
target_arch = "hexagon"
17+
target_arch = "hexagon",
18+
target_arch = "riscv32"
1819
)))]
1920
pub const MIN_ALIGN: usize = 8;
2021
#[cfg(all(any(

library/unwind/src/libunwind.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ pub const unwinder_private_data_size: usize = 2;
5454
#[cfg(target_arch = "sparc64")]
5555
pub const unwinder_private_data_size: usize = 2;
5656

57-
#[cfg(target_arch = "riscv64")]
57+
#[cfg(any(target_arch = "riscv64", target_arch = "riscv32"))]
5858
pub const unwinder_private_data_size: usize = 2;
5959

6060
#[cfg(target_os = "emscripten")]

src/tools/build-manifest/src/main.rs

+1
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ static TARGETS: &[&str] = &[
111111
"riscv32i-unknown-none-elf",
112112
"riscv32imc-unknown-none-elf",
113113
"riscv32imac-unknown-none-elf",
114+
"riscv32gc-unknown-linux-gnu",
114115
"riscv64imac-unknown-none-elf",
115116
"riscv64gc-unknown-none-elf",
116117
"riscv64gc-unknown-linux-gnu",

0 commit comments

Comments
 (0)