[PATCH 0/3] Add support for RISC-V 32-bit
Alistair Francis
alistair.francis at wdc.com
Fri Feb 14 19:40:25 UTC 2020
This adds initial support for 32-bit RISC-V. RV32 is a 32-bit architecture
with a 64-bit time_t. It requires the kernel 5.4+ and the glibc support
is currently being upstreamed.
This is the result from make check on RV32, so there are some errors that
need to be fixed:
FAIL: clock.gen
FAIL: ioctl_v4l2.gen
FAIL: ipc_msg.gen
FAIL: ipc_msg-Xabbrev.gen
FAIL: ipc_msg-Xraw.gen
FAIL: ipc_msg-Xverbose.gen
FAIL: ipc_sem.gen
FAIL: ipc_sem-Xabbrev.gen
FAIL: ipc_sem-Xraw.gen
FAIL: ipc_sem-Xverbose.gen
FAIL: ksysent.gen
FAIL: mmap-Xabbrev.gen
FAIL: mmap-Xraw.gen
FAIL: mmap-Xverbose.gen
FAIL: mmap64.gen
FAIL: mmap64-Xabbrev.gen
FAIL: mmap64-Xraw.gen
FAIL: mmap64-Xverbose.gen
FAIL: printpath-umovestr.gen
FAIL: regex.gen
FAIL: sched.gen
FAIL: semop.gen
FAIL: semtimedop.gen
FAIL: sockopt-timestamp.gen
FAIL: trace_creds.gen
FAIL: trace_fstat.gen
FAIL: trace_fstatfs.gen
FAIL: trace_lstat.gen
FAIL: trace_personality_32.gen
FAIL: trace_personality_regex_32.gen
FAIL: trace_question.gen
FAIL: trace_stat.gen
FAIL: trace_stat_like.gen
FAIL: trace_statfs.gen
FAIL: trace_statfs_like.gen
FAIL: wait4.gen
FAIL: wait4-v.gen
FAIL: xetitimer.gen
FAIL: mmap
FAIL: delay
FAIL: filtering_syscall-syntax
FAIL: qual_fault-syscall
FAIL: qual_fault
FAIL: strace-k
FAIL: strace-k-p
# TOTAL: 732
# PASS: 471
# SKIP: 216
# XFAIL: 0
# FAIL: 45
# XPASS: 0
# ERROR: 0
Alistair Francis (3):
linux/32: Split 32-bit time_t syscalls into a seperate header
tests/clock_nanosleep: Skip test if __NR_clock_nanosleep isn't defined
riscv: Add support for 32-bit RISC-V
Makefile.am | 20 +++++++-------
configure.ac | 6 ++++-
dist/INSTALL | 2 +-
linux/32/syscallent.h | 26 +++---------------
linux/riscv/arch_defs_.h | 16 +++++++++++
linux/{riscv64 => riscv}/arch_regs.c | 0
linux/riscv/asm_stat.h | 26 ++++++++++++++++++
linux/{riscv64 => riscv}/get_error.c | 0
linux/{riscv64 => riscv}/get_scno.c | 0
linux/{riscv64 => riscv}/get_syscall_args.c | 0
linux/{riscv64 => riscv}/ioctls_arch0.h | 0
linux/riscv/ioctls_inc0.h | 7 +++++
linux/{riscv64 => riscv}/raw_syscall.h | 0
linux/{riscv64 => riscv}/set_error.c | 0
linux/{riscv64 => riscv}/set_scno.c | 0
linux/{riscv64 => riscv}/syscallent.h | 8 +++++-
linux/riscv64/ioctls_inc0.h | 1 -
linux/syscallent-common-time32.h | 30 +++++++++++++++++++++
riscv.c | 4 +--
tests/clock_nanosleep.c | 9 +++++++
20 files changed, 116 insertions(+), 39 deletions(-)
create mode 100644 linux/riscv/arch_defs_.h
rename linux/{riscv64 => riscv}/arch_regs.c (100%)
create mode 100644 linux/riscv/asm_stat.h
rename linux/{riscv64 => riscv}/get_error.c (100%)
rename linux/{riscv64 => riscv}/get_scno.c (100%)
rename linux/{riscv64 => riscv}/get_syscall_args.c (100%)
rename linux/{riscv64 => riscv}/ioctls_arch0.h (100%)
create mode 100644 linux/riscv/ioctls_inc0.h
rename linux/{riscv64 => riscv}/raw_syscall.h (100%)
rename linux/{riscv64 => riscv}/set_error.c (100%)
rename linux/{riscv64 => riscv}/set_scno.c (100%)
rename linux/{riscv64 => riscv}/syscallent.h (64%)
delete mode 100644 linux/riscv64/ioctls_inc0.h
create mode 100644 linux/syscallent-common-time32.h
--
2.25.0
More information about the Strace-devel
mailing list