diff options
Diffstat (limited to 'debian/patches/random-fixes0004-i386-trace-syscalls-of-a-single-task.patch')
-rw-r--r-- | debian/patches/random-fixes0004-i386-trace-syscalls-of-a-single-task.patch | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/debian/patches/random-fixes0004-i386-trace-syscalls-of-a-single-task.patch b/debian/patches/random-fixes0004-i386-trace-syscalls-of-a-single-task.patch new file mode 100644 index 0000000..123d76f --- /dev/null +++ b/debian/patches/random-fixes0004-i386-trace-syscalls-of-a-single-task.patch @@ -0,0 +1,44 @@ +From 5e8955c2ad4b51acc96fdb671c4fef924dbc7f82 Mon Sep 17 00:00:00 2001 +From: Justus Winter <4winter@informatik.uni-hamburg.de> +Date: Sun, 27 Sep 2015 15:38:46 +0200 +Subject: [PATCH gnumach 4/4] i386: trace syscalls of a single task + +* i386/i386/debug_i386.c (syscall_trace_task): New variable. +(syscall_trace_print): If set, trace only syscalls from this task. +--- + i386/i386/debug_i386.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/i386/i386/debug_i386.c b/i386/i386/debug_i386.c +index 7a33350..233caa7 100644 +--- a/i386/i386/debug_i386.c ++++ b/i386/i386/debug_i386.c +@@ -131,6 +131,7 @@ debug_trace_dump(void) + #include <kern/syscall_sw.h> + + int syscall_trace = 0; ++task_t syscall_trace_task; + + int + syscall_trace_print(int syscallvec, ...) +@@ -139,6 +140,9 @@ syscall_trace_print(int syscallvec, ...) + int i; + const mach_trap_t *trap = &mach_trap_table[syscallnum]; + ++ if (syscall_trace_task && syscall_trace_task != current_task()) ++ goto out; ++ + printf("0x%08x:0x%08x:%s(", + current_task(), current_thread(), trap->mach_trap_name); + for (i = 0; i < trap->mach_trap_arg_count; i++) { +@@ -154,6 +158,7 @@ syscall_trace_print(int syscallvec, ...) + } + printf(")\n"); + ++ out: + return syscallvec; + } + +-- +2.1.4 + |