https://sourceware.org/cgit/valgrind/commit/?id=f4ba277d6edb28ff4ae447b50975799b4a862545
commit f4ba277d6edb28ff4ae447b50975799b4a862545
Author: Maxim Zhukov <mus...@gm...>
Date: Mon May 23 17:30:22 2022 +0300
syswrap, i386-linux: add missing ipc syscalls
Kernel 5.1 introduced separate IPC syscalls:
* semget
* semctl
* shmget
* shmctl
* shmat
* shmdt
* msgget
* msgsnd
* msgrcv
* msgctl
instead of ipc()
Note the new shm wrappers were already added as
afea9317a1c9 ("Bug 501846 - Add x86 Linux shm wrappers")
Signed-off-by: Maxim Zhukov <mus...@gm...>
https://bugs.kde.org/show_bug.cgi?id=454276
Diff:
---
NEWS | 1 +
coregrind/m_syswrap/syswrap-x86-linux.c | 8 ++++++++
2 files changed, 9 insertions(+)
diff --git a/NEWS b/NEWS
index e531218131..6b8f755dd8 100644
--- a/NEWS
+++ b/NEWS
@@ -93,6 +93,7 @@ are not entered into bugzilla tend to get forgotten about or ignored.
369030 Wrap linux syscall: 171 (setdomainname)
388526 Inconsistent severity in message text: "WARNING: Serious error"
418756 MAP_FIXED_NOREPLACE mmap flag unsupported
+454276 Some IPC syscalls is missing for x86 linux
476465 AArch64 ARMv8.3 LDAPR/LDAPRH/LDAPRB instructions not supported
493430 Review all syscalls that use or return (new) file descriptors
493434 Add --track-fds=bad mode (no "leak" tracking)
diff --git a/coregrind/m_syswrap/syswrap-x86-linux.c b/coregrind/m_syswrap/syswrap-x86-linux.c
index 22f5a1a07c..df9b33634b 100644
--- a/coregrind/m_syswrap/syswrap-x86-linux.c
+++ b/coregrind/m_syswrap/syswrap-x86-linux.c
@@ -1624,11 +1624,19 @@ static SyscallTableEntry syscall_table[] = {
LINX_(__NR_io_pgetevents, sys_io_pgetevents), // 385
GENX_(__NR_rseq, sys_ni_syscall), // 386
+ LINX_(__NR_semget, sys_semget), // 393
+ LINXY(__NR_semctl, sys_semctl), // 394
+
LINX_(__NR_shmget, sys_shmget), // 395
LINX_(__NR_shmctl, sys_shmctl), // 396
LINX_(__NR_shmat, sys_shmat), // 397
LINX_(__NR_shmdt, sys_shmdt), // 398
+ LINX_(__NR_msgget, sys_msgget), // 399
+ LINX_(__NR_msgsnd, sys_msgsnd), // 400
+ LINXY(__NR_msgrcv, sys_msgrcv), // 401
+ LINXY(__NR_msgctl, sys_msgctl), // 402
+
LINXY(__NR_clock_gettime64, sys_clock_gettime64), // 403
LINX_(__NR_clock_settime64, sys_clock_settime64), // 404
|