]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Fix unhandled syscall: unix:410 (sigsuspend_nocancel) on OS X. bz#319274.
authorRhys Kidd <rhyskidd@gmail.com>
Sun, 17 May 2015 14:02:34 +0000 (14:02 +0000)
committerRhys Kidd <rhyskidd@gmail.com>
Sun, 17 May 2015 14:02:34 +0000 (14:02 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15249

NEWS
coregrind/m_syswrap/syswrap-darwin.c
memcheck/tests/darwin/scalar.c
memcheck/tests/darwin/scalar.stderr.exp
memcheck/tests/darwin/scalar_nocancel.c
memcheck/tests/darwin/scalar_nocancel.stderr.exp

diff --git a/NEWS b/NEWS
index 3c3fb2c2198ed28fd62de5a3df4ca54e61e7cca5..387cf2f8e1e761860a2e58664a275d840bb7231b 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -91,6 +91,7 @@ where XXXXXX is the bug number as listed below.
 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
index 1b1da573c0540e88e1c8d457a180ace236579894..b547774e8143860ccf118c8191d616e880f1f061 100644 (file)
@@ -9824,7 +9824,7 @@ const SyscallTableEntry ML_(syscall_table)[] = {
    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),
index 1304a7d2be24d567da9d5eb336aeb9b1b79819f2..5b8a3fb21a485b393997280b6c54d855c477de95 100644 (file)
@@ -222,7 +222,8 @@ int main(void)
 
    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");
 
index f8b547cca4784117c07e8ab921dc26d660ab6b8f..6278d25222dc7ddda314d0ae0cdb031521607a55 100644 (file)
@@ -338,6 +338,9 @@ Syscall param socketcall.setsockopt(optval) points to unaddressable byte(s)
 (110):           old sigsetmask
 -----------------------------------------------------
 -----------------------------------------------------
+x200006f(111):     __NR_sigsuspend ignore
+-----------------------------------------------------
+-----------------------------------------------------
 (112):           old sigstack
 -----------------------------------------------------
 -----------------------------------------------------
index 68da4ed5c31866c876e0c1879480625d04f1edb1..c73cd80483bc5f9e978eeb22ffa3b7d0cc3ebd7e 100644 (file)
@@ -37,6 +37,10 @@ int main(void)
    // __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
index aa10ce413cf1a4589a4b0b9956564ac068170d4f..c175288e5434370a9fa18e0daf058a1685efa2ee 100644 (file)
@@ -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)