[PATCH 2/3] use usual call trace format on x86-64

From: Akinobu Mita
Date: Mon Jan 16 2006 - 07:16:33 EST


Use print_symbol() to dump call trace.

Signed-off-by: Akinobu Mita <mita@xxxxxxxxxxxxxxxx>
----
traps.c | 29 +++++++----------------------
1 files changed, 7 insertions(+), 22 deletions(-)

--- 2.6-mm/arch/x86_64/kernel/traps.c.orig 2006-01-08 00:49:46.000000000 +0900
+++ 2.6-mm/arch/x86_64/kernel/traps.c 2006-01-08 00:54:07.000000000 +0900
@@ -30,6 +30,7 @@
#include <linux/moduleparam.h>
#include <linux/nmi.h>
#include <linux/kprobes.h>
+#include <linux/kallsyms.h>

#include <asm/system.h>
#include <asm/uaccess.h>
@@ -93,30 +94,14 @@ static inline void conditional_sti(struc

static int kstack_depth_to_print = 10;

-#ifdef CONFIG_KALLSYMS
-#include <linux/kallsyms.h>
-int printk_address(unsigned long address)
-{
- unsigned long offset = 0, symsize;
- const char *symname;
- char *modname;
- char *delim = ":";
- char namebuf[128];
-
- symname = kallsyms_lookup(address, &symsize, &offset, &modname, namebuf);
- if (!symname)
- return printk("[<%016lx>]", address);
- if (!modname)
- modname = delim = "";
- return printk("<%016lx>{%s%s%s%s%+ld}",
- address,delim,modname,delim,symname,offset);
-}
-#else
int printk_address(unsigned long address)
{
- return printk("[<%016lx>]", address);
-}
-#endif
+ int len;
+
+ len = printk("[<%016lx>]", address);
+ len += print_symbol(" %s", address);
+ return len;
+}

static unsigned long *in_exception_stack(unsigned cpu, unsigned long stack,
unsigned *usedp, const char **idp)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/