aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux-x86/signal.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/linux-x86/signal.c')
-rw-r--r--sys/linux-x86/signal.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/sys/linux-x86/signal.c b/sys/linux-x86/signal.c
index 8fdf2d53..0adee008 100644
--- a/sys/linux-x86/signal.c
+++ b/sys/linux-x86/signal.c
@@ -32,6 +32,9 @@
#include "arch/stack-frame.h"
#include "vm/signal.h"
+#include "vm/trace.h"
+
+#include <string.h>
extern void signal_bh_trampoline(void *bh);
@@ -81,3 +84,11 @@ int install_signal_bh(void *ctx, signal_bh_fn bh)
return 0;
}
+
+void trace_signal(int sig, siginfo_t *si, void *ctx)
+{
+ ucontext_t *uc = ctx;
+
+ trace_printf("signal %2d: ip=0x%016x: %s\n", sig, (unsigned long) uc->uc_mcontext.gregs[REG_IP], strsignal(sig));
+ trace_flush();
+}