diff options
author | Wenji Huang <wenji.huang@oracle.com> | 2010-01-11 13:01:54 +0800 |
---|---|---|
committer | Wenji Huang <wenji.huang@oracle.com> | 2010-01-11 13:01:54 +0800 |
commit | fb16f8fece2a2d96cc66de5738bdf578a21fcaae (patch) | |
tree | 3c59c5fecb2bc9bb5ef49a0ebfdef81465d49595 | |
parent | c116c31bfdaec3c9d5adbe892d8a1d145b6fcfc2 (diff) | |
download | systemtap-steved-fb16f8fece2a2d96cc66de5738bdf578a21fcaae.tar.gz systemtap-steved-fb16f8fece2a2d96cc66de5738bdf578a21fcaae.tar.xz systemtap-steved-fb16f8fece2a2d96cc66de5738bdf578a21fcaae.zip |
Add stack walking function for 2.6.33
* runtime/stack.c (walk_context_stack): New function.
(print_stack_ops): Add function pointer.
-rw-r--r-- | runtime/stack.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/runtime/stack.c b/runtime/stack.c index 612fa010..7dfeb76a 100644 --- a/runtime/stack.c +++ b/runtime/stack.c @@ -94,11 +94,25 @@ static void print_stack_address(void *data, unsigned long addr, int reliable) _stp_func_print(addr, sdata->verbose, 0, NULL); } +#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,32) +static unsigned long +walk_context_stack(struct thread_info *tinfo, + unsigned long *stack, unsigned long bp, + const struct stacktrace_ops *ops, void *data, + unsigned long *end, int *graph) +{ + return 0 ; +} +#endif + static const struct stacktrace_ops print_stack_ops = { .warning = print_stack_warning, .warning_symbol = print_stack_warning_symbol, .stack = print_stack_stack, .address = print_stack_address, +#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,32) + .walk_stack = walk_context_stack, +#endif }; static void _stp_stack_print_fallback(unsigned long stack, int verbose, int levels) |