Author: rhyskidd
Date: Sun May 17 15:02:34 2015
New Revision: 15249
Log:
Fix unhandled syscall: unix:410 (sigsuspend_nocancel) on OS X. bz#319274.
Modified:
trunk/NEWS
trunk/coregrind/m_syswrap/syswrap-darwin.c
trunk/memcheck/tests/darwin/scalar.c
trunk/memcheck/tests/darwin/scalar.stderr.exp
trunk/memcheck/tests/darwin/scalar_nocancel.c
trunk/memcheck/tests/darwin/scalar_nocancel.stderr.exp
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Sun May 17 15:02:34 2015
@@ -91,6 +91,7 @@
254164 OS X task_info: UNKNOWN task message [id 3405, to mach_task_self(),
reply 0x........]
269360 s390x: Fix addressing mode selection for compare-and-swap
+319274 Fix unhandled syscall: unix:410 (sigsuspend_nocancel) on OS X
333051 mmap of huge pages fails due to incorrect alignment
== 339163
334802 valgrind does not always explain why a given option is bad
Modified: trunk/coregrind/m_syswrap/syswrap-darwin.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-darwin.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-darwin.c Sun May 17 15:02:34 2015
@@ -9824,7 +9824,7 @@
GENX_(__NR_select_nocancel, sys_select),
GENX_(__NR_fsync_nocancel, sys_fsync),
MACX_(__NR_connect_nocancel, connect),
-// _____(__NR_sigsuspend_nocancel),
+ MACX_(__NR_sigsuspend_nocancel, sigsuspend),
GENXY(__NR_readv_nocancel, sys_readv),
GENX_(__NR_writev_nocancel, sys_writev),
MACX_(__NR_sendto_nocancel, sendto),
Modified: trunk/memcheck/tests/darwin/scalar.c
==============================================================================
--- trunk/memcheck/tests/darwin/scalar.c (original)
+++ trunk/memcheck/tests/darwin/scalar.c Sun May 17 15:02:34 2015
@@ -222,7 +222,8 @@
GO_UNIMP(110, "old sigsetmask");
- // __NR_sigsuspend 111
+ GO(__NR_sigsuspend, 111, "ignore");
+ // (I don't know how to test this...)
GO_UNIMP(112, "old sigstack");
Modified: trunk/memcheck/tests/darwin/scalar.stderr.exp
==============================================================================
--- trunk/memcheck/tests/darwin/scalar.stderr.exp (original)
+++ trunk/memcheck/tests/darwin/scalar.stderr.exp Sun May 17 15:02:34 2015
@@ -338,6 +338,9 @@
(110): old sigsetmask
-----------------------------------------------------
-----------------------------------------------------
+x200006f(111): __NR_sigsuspend ignore
+-----------------------------------------------------
+-----------------------------------------------------
(112): old sigstack
-----------------------------------------------------
-----------------------------------------------------
Modified: trunk/memcheck/tests/darwin/scalar_nocancel.c
==============================================================================
--- trunk/memcheck/tests/darwin/scalar_nocancel.c (original)
+++ trunk/memcheck/tests/darwin/scalar_nocancel.c Sun May 17 15:02:34 2015
@@ -37,6 +37,10 @@
// __NR_fsync_nocancel 408
// __NR_connect_nocancel 409
// __NR_sigsuspend_nocancel 410
+
+ GO(__NR_sigsuspend_nocancel, 410, "ignore");
+ // (I don't know how to test this...)
+
// __NR_readv_nocancel 411
// __NR_writev_nocancel 412
// __NR_sendto_nocancel 413
Modified: trunk/memcheck/tests/darwin/scalar_nocancel.stderr.exp
==============================================================================
--- trunk/memcheck/tests/darwin/scalar_nocancel.stderr.exp (original)
+++ trunk/memcheck/tests/darwin/scalar_nocancel.stderr.exp Sun May 17 15:02:34 2015
@@ -1,4 +1,7 @@
-----------------------------------------------------
+x200019a(410):__NR_sigsuspend_nocancel ignore
+-----------------------------------------------------
+-----------------------------------------------------
x20001a4(420):__NR_sem_wait_nocancel 1s 0m
-----------------------------------------------------
Syscall param sem_wait(sem) contains uninitialised byte(s)
|