summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2006-07-29 21:42:52 +0200
committerLinus Torvalds <torvalds@g5.osdl.org>2006-07-29 20:59:55 -0700
commit70583161e878c8e9baaace71ba000b46c86b89cc (patch)
tree98defd3281ad00537b75e0b86d56c908a129464e
parent65f87d8a8a6e1b560c61951d0a68ed80f7c8ff19 (diff)
downloadkernel-70583161e878c8e9baaace71ba000b46c86b89cc.tar.gz
[PATCH] i386: Fix up backtrace fallback patch
I didn't test all compilation combinations. Shame on me. And fix a missing option in the boot option following x86-64 (Jan Beulich) Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--arch/i386/kernel/traps.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/i386/kernel/traps.c b/arch/i386/kernel/traps.c
index 3facc8fcb91e..021f8fdc7512 100644
--- a/arch/i386/kernel/traps.c
+++ b/arch/i386/kernel/traps.c
@@ -190,11 +190,11 @@ static void show_trace_log_lvl(struct task_struct *task, struct pt_regs *regs,
if (unw_ret > 0 && !arch_unw_user_mode(&info)) {
#ifdef CONFIG_STACK_UNWIND
print_symbol("DWARF2 unwinder stuck at %s\n",
- UNW_PC(info.regs));
+ UNW_PC(&info));
if (call_trace == 1) {
printk("Leftover inexact backtrace:\n");
- if (UNW_SP(info.regs))
- stack = (void *)UNW_SP(info.regs);
+ if (UNW_SP(&info))
+ stack = (void *)UNW_SP(&info);
} else if (call_trace > 1)
return;
else
@@ -1249,8 +1249,10 @@ static int __init call_trace_setup(char *s)
call_trace = -1;
else if (strcmp(s, "both") == 0)
call_trace = 0;
- else if (strcmp(s, "new") == 0)
+ else if (strcmp(s, "newfallback") == 0)
call_trace = 1;
+ else if (strcmp(s, "new") == 2)
+ call_trace = 2;
return 1;
}
__setup("call_trace=", call_trace_setup);