]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
macos: Fix unhandled syscall: mach:70 (host_create_mach_voucher_trap). bz#379390
authorRhys Kidd <rhyskidd@gmail.com>
Sun, 30 Apr 2017 21:52:33 +0000 (21:52 +0000)
committerRhys Kidd <rhyskidd@gmail.com>
Sun, 30 Apr 2017 21:52:33 +0000 (21:52 +0000)
Based upon a patch from Louis Brunner.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@16326

NEWS
coregrind/m_syswrap/priv_syswrap-darwin.h
coregrind/m_syswrap/syswrap-darwin.c
include/vki/vki-scnums-darwin.h

diff --git a/NEWS b/NEWS
index 09e638591b70a423f38e4dcdbad397a112314b78..cdd31798ff956bf82b5b9df628730e9468d94668 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -158,6 +158,7 @@ where XXXXXX is the bug number as listed below.
 378673  Update libiberty demangler
 379039  syscall wrapper for prctl(PR_SET_NAME) must not check more than 16 bytes
 379094  Valgrind reports INTERNAL ERROR in rt_sigsuspend syscall wrapper
+379390  unhandled syscall: mach:70 (host_create_mach_voucher_trap)
 
 Release 3.12.0 (20 October 2016)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
index 3aa6b98212aa1b3754b6906c8d5488fd2f5fcf2a..e5cd024e92e73bd2a0f5a18a632d1822e9bedb63 100644 (file)
@@ -745,6 +745,11 @@ DECL_TEMPLATE(darwin, semaphore_timedwait);
 DECL_TEMPLATE(darwin, semaphore_timedwait_signal);
 DECL_TEMPLATE(darwin, task_for_pid);
 DECL_TEMPLATE(darwin, pid_for_task);
+
+#if DARWIN_VERS >= DARWIN_10_12
+DECL_TEMPLATE(darwin, host_create_mach_voucher_trap);
+#endif /* DARWIN_VERS >= DARWIN_10_12 */
+
 DECL_TEMPLATE(darwin, mach_timebase_info);
 DECL_TEMPLATE(darwin, mach_wait_until);
 DECL_TEMPLATE(darwin, mk_timer_create);
index 4b403bb78acf2524e00d44d65f5c7219c1653734..eae022402e1f28439a091433315d068a04de14fa 100644 (file)
@@ -9804,6 +9804,14 @@ PRE(ulock_wake)
                   uint32_t, operation, void*, addr, uint64_t, wake_value);
 }
 
+PRE(host_create_mach_voucher_trap)
+{
+    // munge_wwww -- no need to call helper
+    PRINT("host_create_mach_voucher_trap"
+        "(host:%#lx, recipes:%#lx, recipes_size:%ld, voucher:%#lx) FIXME",
+        ARG1, ARG2, ARG3, ARG4);
+}
+
 #endif /* DARWIN_VERS >= DARWIN_10_12 */
 
 
@@ -10549,8 +10557,12 @@ const SyscallTableEntry ML_(mach_trap_table)[] = {
    _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(66)), 
    _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(67)), 
    _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(68)), 
-   _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(69)), 
+   _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(69)),
+#if DARWIN_VERS >= DARWIN_10_12
+   MACX_(__NR_host_create_mach_voucher_trap, host_create_mach_voucher_trap),
+#else 
    _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(70)), 
+#endif
    _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(71)), 
    _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(72)), 
    _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(73)), 
index 70d875a1bd197cecec0b0dfba384a3dac3d33ab3..fee23bdb32cf7fed66699707230db7e26c65633e 100644 (file)
 #define __NR_syscall_thread_switch            VG_DARWIN_SYSCALL_CONSTRUCT_MACH(61)
 #define __NR_clock_sleep_trap                 VG_DARWIN_SYSCALL_CONSTRUCT_MACH(62)
 
+#if DARWIN_VERS >= DARWIN_10_12
+#define __NR_host_create_mach_voucher_trap    VG_DARWIN_SYSCALL_CONSTRUCT_MACH(70)
+#endif
+
 #define __NR_mach_timebase_info               VG_DARWIN_SYSCALL_CONSTRUCT_MACH(89)
 #define __NR_mach_wait_until                  VG_DARWIN_SYSCALL_CONSTRUCT_MACH(90)
 #define __NR_mk_timer_create                  VG_DARWIN_SYSCALL_CONSTRUCT_MACH(91)