X-Git-Url: http://ftp.safe.ca/?a=blobdiff_plain;f=kernel%2Fstacktrace.c;h=eb212f8f8bc801dab1ee7622936ba8caaec4369f;hb=aa9c67f53d1969cf1db4c9c2db3a78c4ceb96469;hp=0914d0cbc83c9f48496b927602d87e6293d4530a;hpb=bfeeeeb991cf75081e6c2f74d44ae5da05b50a94;p=safe%2Fjmp%2Flinux-2.6 diff --git a/kernel/stacktrace.c b/kernel/stacktrace.c index 0914d0c..eb212f8 100644 --- a/kernel/stacktrace.c +++ b/kernel/stacktrace.c @@ -6,22 +6,32 @@ * Copyright (C) 2006 Red Hat, Inc., Ingo Molnar */ #include +#include +#include #include #include void print_stack_trace(struct stack_trace *trace, int spaces) { - int i, j; + int i; if (WARN_ON(!trace->entries)) return; for (i = 0; i < trace->nr_entries; i++) { - unsigned long ip = trace->entries[i]; - - for (j = 0; j < spaces + 1; j++) - printk(" "); - print_ip_sym(ip); + printk("%*c", 1 + spaces, ' '); + print_ip_sym(trace->entries[i]); } } +EXPORT_SYMBOL_GPL(print_stack_trace); +/* + * Architectures that do not implement save_stack_trace_tsk get this + * weak alias and a once-per-bootup warning (whenever this facility + * is utilized - for example by procfs): + */ +__weak void +save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace) +{ + WARN_ONCE(1, KERN_INFO "save_stack_trace_tsk() not implemented yet.\n"); +}