|
From: Mark W. <ma...@so...> - 2025-09-19 15:20:11
|
https://sourceware.org/cgit/valgrind/commit/?id=53c66de8857300172c62827a4fc06e28685892a0 commit 53c66de8857300172c62827a4fc06e28685892a0 Author: Martin Cermak <mc...@re...> Date: Fri Sep 19 11:47:14 2025 +0200 Add missing ppc64-linux and s390x-linux syswraps existing on other arches This update adds following ppc64le and s390x syswraps: - sys_msgctl - sys_semctl - sys_semtimedop - sys_sethostname - sys_shmctl - sys_sigpending - sys_stime This update adds following ppc64le syswraps: - sys_setns This update adds following s390x syswraps: - sys_bpf Blacklist the shmctl05, as it is a long running one. It does pass on all architectures afaics, but needs a relatively high LTP_TIMEOUT_MUL setting. So, let's skip that one. https://bugs.kde.org/show_bug.cgi?id=509642 https://bugs.kde.org/show_bug.cgi?id=509643 Diff: --- NEWS | 2 ++ auxprogs/ltp-excludes.txt | 4 ++++ coregrind/m_syswrap/syswrap-ppc64-linux.c | 14 +++++++++----- coregrind/m_syswrap/syswrap-s390x-linux.c | 9 +++++++-- include/vki/vki-scnums-ppc64-linux.h | 4 ++++ include/vki/vki-scnums-s390x-linux.h | 5 +++++ 6 files changed, 31 insertions(+), 7 deletions(-) diff --git a/NEWS b/NEWS index 3114eb4fe1..f768e5ca5b 100644 --- a/NEWS +++ b/NEWS @@ -139,6 +139,8 @@ are not entered into bugzilla tend to get forgotten about or ignored. 509517 s390x: Even/odd lane confusion in various vector insns 509590 Run the LTP tests with LTP_QUIET 509567 unhandled amd64-linux syscall: 443 (quotactl_fd) +509642 Add missing ppc64-linux syswraps +509643 Add missing s390x-linux syswraps To see details of a given bug, visit https://bugs.kde.org/show_bug.cgi?id=XXXXXX diff --git a/auxprogs/ltp-excludes.txt b/auxprogs/ltp-excludes.txt index 0d00bab8a6..3a3d7e44d8 100644 --- a/auxprogs/ltp-excludes.txt +++ b/auxprogs/ltp-excludes.txt @@ -34,3 +34,7 @@ kcmp03 # don't have a separate mmap allocator so set hblks & hblkhd to 0. mallinfo02 mallinfo2_01 +# The shmctl05 testcase is a long running one. It does pass with +# LTP_TIMEOUT_MUL set to some relatively high value. Let's just +# skip it here. +shmctl05 diff --git a/coregrind/m_syswrap/syswrap-ppc64-linux.c b/coregrind/m_syswrap/syswrap-ppc64-linux.c index d5e2f523c4..974a4995fd 100644 --- a/coregrind/m_syswrap/syswrap-ppc64-linux.c +++ b/coregrind/m_syswrap/syswrap-ppc64-linux.c @@ -630,7 +630,7 @@ static SyscallTableEntry syscall_table[] = { GENX_(__NR_setuid, sys_setuid), // 23 GENX_(__NR_getuid, sys_getuid), // 24 -// _____(__NR_stime, sys_stime), // 25 + LINX_(__NR_stime, sys_stime), // 25 PLAXY(__NR_ptrace, sys_ptrace), // 26 GENX_(__NR_alarm, sys_alarm), // 27 // _____(__NR_oldfstat, sys_oldfstat), // 28 @@ -687,14 +687,14 @@ static SyscallTableEntry syscall_table[] = { GENX_(__NR_setreuid, sys_setreuid), // 70 GENX_(__NR_setregid, sys_setregid), // 71 // _____(__NR_sigsuspend, sys_sigsuspend), // 72 -// _____(__NR_sigpending, sys_sigpending), // 73 -// _____(__NR_sethostname, sys_sethostname), // 74 + LINXY(__NR_sigpending, sys_sigpending), // 73 + GENX_(__NR_sethostname, sys_sethostname), // 74 GENX_(__NR_setrlimit, sys_setrlimit), // 75 GENXY(__NR_getrlimit, sys_getrlimit), // 76 GENXY(__NR_getrusage, sys_getrusage), // 77 GENXY(__NR_gettimeofday, sys_gettimeofday), // 78 -// _____(__NR_settimeofday, sys_settimeofday), // 79 + GENX_(__NR_settimeofday, sys_settimeofday), // 79 GENXY(__NR_getgroups, sys_getgroups), // 80 GENX_(__NR_setgroups, sys_setgroups), // 81 @@ -1005,6 +1005,7 @@ static SyscallTableEntry syscall_table[] = { LINX_(__NR_syncfs, sys_syncfs), // 348 LINXY(__NR_sendmmsg, sys_sendmmsg), // 349 + LINX_(__NR_setns, sys_setns), // 350 LINXY(__NR_process_vm_readv, sys_process_vm_readv), // 351 LINX_(__NR_process_vm_writev, sys_process_vm_writev),// 352 LINX_(__NR_kcmp, sys_kcmp), // 354 @@ -1031,7 +1032,10 @@ static SyscallTableEntry syscall_table[] = { GENX_(__NR_rseq, sys_ni_syscall), // 387 LINX_(__NR_io_pgetevents, sys_io_pgetevents), // 388 - + LINX_(__NR_semtimedop, sys_semtimedop), // 392 + LINXY(__NR_semctl, sys_semctl), // 394 + LINXY(__NR_shmctl, sys_shmctl), // 396 + LINXY(__NR_msgctl, sys_msgctl), // 402 LINXY(__NR_io_uring_setup, sys_io_uring_setup), // 425 LINXY(__NR_io_uring_enter, sys_io_uring_enter), // 426 LINXY(__NR_io_uring_register, sys_io_uring_register), // 427 diff --git a/coregrind/m_syswrap/syswrap-s390x-linux.c b/coregrind/m_syswrap/syswrap-s390x-linux.c index 4d794ce81c..8f7159751a 100644 --- a/coregrind/m_syswrap/syswrap-s390x-linux.c +++ b/coregrind/m_syswrap/syswrap-s390x-linux.c @@ -498,8 +498,8 @@ static SyscallTableEntry syscall_table[] = { GENX_(70, sys_ni_syscall), /* unimplemented (by the kernel) */ // 70 GENX_(71, sys_ni_syscall), /* unimplemented (by the kernel) */ // 71 // ?????(__NR_sigsuspend, ), // 72 -// ?????(__NR_sigpending, ), // 73 -// ?????(__NR_sethostname, ), // 74 + LINXY(__NR_sigpending, sys_sigpending), // 73 + GENX_(__NR_sethostname, sys_sethostname), // 74 GENX_(__NR_setrlimit, sys_setrlimit), // 75 GENXY(76, sys_getrlimit), /* see also 191 */ // 76 @@ -832,6 +832,7 @@ static SyscallTableEntry syscall_table[] = { LINXY(__NR_getrandom, sys_getrandom), // 349 LINXY(__NR_memfd_create, sys_memfd_create), // 350 + LINXY(__NR_bpf, sys_bpf), // 351 LINX_(__NR_execveat, sys_execveat), // 354 @@ -864,6 +865,10 @@ static SyscallTableEntry syscall_table[] = { GENX_(__NR_rseq, sys_ni_syscall), // 381 LINX_(__NR_io_pgetevents, sys_io_pgetevents), // 382 + LINX_(__NR_semtimedop, sys_semtimedop), // 392 + LINXY(__NR_semctl, sys_semctl), // 394 + LINXY(__NR_shmctl, sys_shmctl), // 396 + LINXY(__NR_msgctl, sys_msgctl), // 402 LINXY(__NR_io_uring_setup, sys_io_uring_setup), // 425 LINXY(__NR_io_uring_enter, sys_io_uring_enter), // 426 LINXY(__NR_io_uring_register, sys_io_uring_register), // 427 diff --git a/include/vki/vki-scnums-ppc64-linux.h b/include/vki/vki-scnums-ppc64-linux.h index 4b42c60b59..85e2d7a70f 100644 --- a/include/vki/vki-scnums-ppc64-linux.h +++ b/include/vki/vki-scnums-ppc64-linux.h @@ -409,6 +409,10 @@ #define __NR_pkey_mprotect 386 #define __NR_rseq 387 #define __NR_io_pgetevents 388 +#define __NR_semtimedop 392 +#define __NR_semctl 394 +#define __NR_shmctl 396 +#define __NR_msgctl 402 #define __NR_futex_waitv 449 #endif /* __VKI_SCNUMS_PPC64_LINUX_H */ diff --git a/include/vki/vki-scnums-s390x-linux.h b/include/vki/vki-scnums-s390x-linux.h index ad3647d23d..22d94ee4d0 100644 --- a/include/vki/vki-scnums-s390x-linux.h +++ b/include/vki/vki-scnums-s390x-linux.h @@ -314,6 +314,7 @@ #define __NR_seccomp 348 #define __NR_getrandom 349 #define __NR_memfd_create 350 +#define __NR_bpf 351 #define __NR_execveat 354 @@ -346,6 +347,10 @@ #define __NR_kexec_file_load 381 #define __NR_io_pgetevents 382 #define __NR_rseq 383 +#define __NR_semtimedop 392 +#define __NR_semctl 394 +#define __NR_shmctl 396 +#define __NR_msgctl 402 #define __NR_futex_waitv 449 #define NR_syscalls 384 |