summaryrefslogtreecommitdiffstats
path: root/arch/mn10300/kernel
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2008-02-19 19:58:59 +0100
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2008-02-20 00:51:36 +0100
commitaa409e028c41137a659c02d0081ba57b701e7446 (patch)
treeefb9f213a00fa9e523cfe5c6456fec3a0d65231a /arch/mn10300/kernel
parentMN10300: Introduce barriers to replace removed volatiles in gdbstub (diff)
downloadlinux-aa409e028c41137a659c02d0081ba57b701e7446.tar.xz
linux-aa409e028c41137a659c02d0081ba57b701e7446.zip
MN10300: Make the kernel jump into gdbstub on a BUG
Make the kernel jump into gdbstub (if configured) on a BUG with the register set from the BUG rather than interpolating another illegal instruction and leaving gdbstub's idea of the process counter in unsupported_syscall() where the original BUG was detected. With this patch, gdbstub reports a SIGABRT to the compiler and reports the program counter at the original BUG, allowing the execution state at the time of the BUG to be examined with GDB. Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/mn10300/kernel')
-rw-r--r--arch/mn10300/kernel/traps.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/mn10300/kernel/traps.c b/arch/mn10300/kernel/traps.c
index 8b9dc6d9dcc6..fcb9a03d46a8 100644
--- a/arch/mn10300/kernel/traps.c
+++ b/arch/mn10300/kernel/traps.c
@@ -391,7 +391,7 @@ static asmlinkage void unsupported_syscall(struct pt_regs *regs,
if (code == EXCEP_SYSCALL15 && !user_mode(regs)) {
if (report_bug(regs->pc, regs) == BUG_TRAP_TYPE_BUG) {
#ifdef CONFIG_GDBSTUB
- __gdbstub_bug_trap();
+ gdbstub_intercept(regs, code);
#endif
}
}