]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/x86/oprofile/backtrace.c
Merge git://git.infradead.org/mtd-2.6
[linux-2.6-omap-h63xx.git] / arch / x86 / oprofile / backtrace.c
index cc353a0b183e297d2fd241d145869ee94c542612..04df67f8a7ba8f2f8c397832eec1b6fb0180ef8d 100644 (file)
@@ -32,7 +32,7 @@ static int backtrace_stack(void *data, char *name)
        return 0;
 }
 
-static void backtrace_address(void *data, unsigned long addr)
+static void backtrace_address(void *data, unsigned long addr, int reliable)
 {
        unsigned int *depth = data;
 
@@ -52,8 +52,7 @@ struct frame_head {
        unsigned long ret;
 } __attribute__((packed));
 
-static struct frame_head *
-dump_user_backtrace(struct frame_head * head)
+static struct frame_head *dump_user_backtrace(struct frame_head *head)
 {
        struct frame_head bufhead[2];
 
@@ -77,11 +76,11 @@ void
 x86_backtrace(struct pt_regs * const regs, unsigned int depth)
 {
        struct frame_head *head = (struct frame_head *)frame_pointer(regs);
-       unsigned long stack = stack_pointer(regs);
+       unsigned long stack = kernel_trap_sp(regs);
 
        if (!user_mode_vm(regs)) {
                if (depth)
-                       dump_trace(NULL, regs, (unsigned long *)stack,
+                       dump_trace(NULL, regs, (unsigned long *)stack, 0,
                                   &backtrace_ops, &depth);
                return;
        }