https://bugs.kde.org/show_bug.cgi?id=503253

Mark Wielaard <m...@klomp.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
             Status|REPORTED                    |CONFIRMED

--- Comment #1 from Mark Wielaard <m...@klomp.org> ---
The RISC-V Hardware Probing Interface is non-trivial
https://docs.kernel.org/arch/riscv/hwprobe.html

But at the moment we only have the basic RV64GC instruction set.
Which I believe is what glibc assumes if riscv_hwprobe isn't implemented.

So as a quick workaround we could just "implement" riscv_hwprobe as ENOSYS.

diff --git a/coregrind/m_syswrap/syswrap-riscv64-linux.c
b/coregrind/m_syswrap/syswrap-riscv64-linux.c
index e0146f2b0dad..ebf9c3105339 100644
--- a/coregrind/m_syswrap/syswrap-riscv64-linux.c
+++ b/coregrind/m_syswrap/syswrap-riscv64-linux.c
@@ -545,6 +545,7 @@ static SyscallTableEntry syscall_main_table[] = {
    LINXY(__NR_perf_event_open, sys_perf_event_open),               /* 241 */
    LINXY(__NR_accept4, sys_accept4),                               /* 242 */
    LINXY(__NR_recvmmsg, sys_recvmmsg),                             /* 243 */
+   GENX_(__NR_riscv_hwprobe, sys_ni_syscall),                      /* 258 */
    PLAX_(__NR_riscv_flush_icache, sys_riscv_flush_icache),         /* 259 */
    GENXY(__NR_wait4, sys_wait4),                                   /* 260 */
    LINXY(__NR_prlimit64, sys_prlimit64),                           /* 261 */
diff --git a/include/vki/vki-scnums-riscv64-linux.h
b/include/vki/vki-scnums-riscv64-linux.h
index e4cc04a608b4..17b6839f8a84 100644
--- a/include/vki/vki-scnums-riscv64-linux.h
+++ b/include/vki/vki-scnums-riscv64-linux.h
@@ -321,6 +321,7 @@
 #define __NR_mmap __NR3264_mmap
 #define __NR_fadvise64 __NR3264_fadvise64

+#define __NR_riscv_hwprobe (__NR_arch_specific_syscall + 14)
 #define __NR_riscv_flush_icache (__NR_arch_specific_syscall + 15)

 #endif /* __VKI_SCNUMS_RISCV64_LINUX_H */

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to