diff --git a/libc-test/build.rs b/libc-test/build.rs index 7d3dfb88e1221..904da8a36b2c2 100644 --- a/libc-test/build.rs +++ b/libc-test/build.rs @@ -3407,7 +3407,7 @@ fn test_linux(target: &str) { // Include linux headers at the end: headers! { cfg: - [loongarch64]: "asm/hwcap.h", + [loongarch64 || riscv64]: "asm/hwcap.h", "asm/mman.h", [gnu]: "linux/aio_abi.h", "linux/can.h", diff --git a/libc-test/semver/linux-riscv64gc.txt b/libc-test/semver/linux-riscv64gc.txt index b4d07fcbab7fd..2691801511782 100644 --- a/libc-test/semver/linux-riscv64gc.txt +++ b/libc-test/semver/linux-riscv64gc.txt @@ -71,3 +71,10 @@ TIOCSRS485 flock64 fsblkcnt64_t fsfilcnt64_t +COMPAT_HWCAP_ISA_I +COMPAT_HWCAP_ISA_M +COMPAT_HWCAP_ISA_A +COMPAT_HWCAP_ISA_F +COMPAT_HWCAP_ISA_D +COMPAT_HWCAP_ISA_C +COMPAT_HWCAP_ISA_V diff --git a/src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs b/src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs index e7f22dd7f2698..750ee8f8436e8 100644 --- a/src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs +++ b/src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs @@ -540,6 +540,14 @@ pub const REG_A0: usize = 10; pub const REG_S2: usize = 18; pub const REG_NARGS: usize = 8; +pub const COMPAT_HWCAP_ISA_I: ::c_ulong = 1 << (b'I' - b'A'); +pub const COMPAT_HWCAP_ISA_M: ::c_ulong = 1 << (b'M' - b'A'); +pub const COMPAT_HWCAP_ISA_A: ::c_ulong = 1 << (b'A' - b'A'); +pub const COMPAT_HWCAP_ISA_F: ::c_ulong = 1 << (b'F' - b'A'); +pub const COMPAT_HWCAP_ISA_D: ::c_ulong = 1 << (b'D' - b'A'); +pub const COMPAT_HWCAP_ISA_C: ::c_ulong = 1 << (b'C' - b'A'); +pub const COMPAT_HWCAP_ISA_V: ::c_ulong = 1 << (b'V' - b'A'); + pub const SYS_read: ::c_long = 63; pub const SYS_write: ::c_long = 64; pub const SYS_close: ::c_long = 57;