diff options
author | 2008-02-19 18:58:59 +0000 | |
---|---|---|
committer | 2008-02-19 15:51:36 -0800 | |
commit | aa409e028c41137a659c02d0081ba57b701e7446 (patch) | |
tree | efb9f213a00fa9e523cfe5c6456fec3a0d65231a /arch/mn10300/kernel | |
parent | MN10300: Introduce barriers to replace removed volatiles in gdbstub (diff) | |
download | linux-aa409e028c41137a659c02d0081ba57b701e7446.tar.gz linux-aa409e028c41137a659c02d0081ba57b701e7446.tar.bz2 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.c | 2 |
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 } } |