summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorJason Wessel <jason.wessel@windriver.com>2009-04-27 13:20:21 -0500
committerJason Wessel <jason.wessel@windriver.com>2009-07-28 13:31:47 -0500
commitc0826b06792fa2156f52836823263b589dcbe67c (patch)
treed5c83f3236bcf15ee9de02e6b4300fb02a814f14 /kernel
parent22baca4e35e9f8abf2ee8a7c87064238c32bdf37 (diff)
kgdb: continue and warn on signal passing from gdb
On some architectures for the segv trap, gdb wants to pass the signal back on continue. For kgdb this is not the default behavior, because it can cause the kernel to crash if you arbitrarily pass back a exception outside of kgdb. Instead of causing instability, pass a message back to gdb about the supported kgdb signal passing and execute a standard kgdb continue operation. Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/kgdb.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/kgdb.c b/kernel/kgdb.c
index 414cb77580c2..119cf85c6190 100644
--- a/kernel/kgdb.c
+++ b/kernel/kgdb.c
@@ -1205,8 +1205,10 @@ static int gdb_cmd_exception_pass(struct kgdb_state *ks)
return 1;
} else {
- error_packet(remcom_out_buffer, -EINVAL);
- return 0;
+ kgdb_msg_write("KGDB only knows signal 9 (pass)"
+ " and 15 (pass and disconnect)\n"
+ "Executing a continue without signal passing\n", 0);
+ remcom_in_buffer[0] = 'c';
}
/* Indicate fall through */