summaryrefslogtreecommitdiff
path: root/debian/patches/random-fixes0004-i386-trace-syscalls-of-a-single-task.patch
diff options
context:
space:
mode:
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.patch44
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
+