diff options
author | ddomingo <ddomingo@redhat.com> | 2008-09-11 12:07:38 +1000 |
---|---|---|
committer | ddomingo <ddomingo@redhat.com> | 2008-09-11 12:07:38 +1000 |
commit | 936eeb672167eaec2e5d8e9d7cf7fe9e962efe58 (patch) | |
tree | f340b3f78479294491e76e6533c28160b3cc2ee1 /runtime/stack-i386.c | |
parent | 6f57b072898d1858e0af448169c759dd44efddca (diff) | |
parent | 223f5b6b6e2c945c442a5dde7e63e637237f575b (diff) | |
download | systemtap-steved-936eeb672167eaec2e5d8e9d7cf7fe9e962efe58.tar.gz systemtap-steved-936eeb672167eaec2e5d8e9d7cf7fe9e962efe58.tar.xz systemtap-steved-936eeb672167eaec2e5d8e9d7cf7fe9e962efe58.zip |
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap
Diffstat (limited to 'runtime/stack-i386.c')
-rw-r--r-- | runtime/stack-i386.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/runtime/stack-i386.c b/runtime/stack-i386.c index ad101889..ed7e2ce1 100644 --- a/runtime/stack-i386.c +++ b/runtime/stack-i386.c @@ -54,9 +54,10 @@ static void __stp_stack_print (struct pt_regs *regs, int verbose, int levels) fp = next_fp; } #else +#ifdef STP_USE_DWARF_UNWINDER struct unwind_frame_info info; arch_unw_init_frame_info(&info, regs); - + while (levels && !arch_unw_user_mode(&info)) { int ret = unwind(&info); dbug_unwind(1, "ret=%d PC=%lx SP=%lx\n", ret, UNW_PC(&info), UNW_SP(&info)); @@ -71,5 +72,8 @@ static void __stp_stack_print (struct pt_regs *regs, int verbose, int levels) _stp_stack_print_fallback(context, UNW_SP(&info), verbose, levels); break; } +#else /* ! STP_USE_DWARF_UNWINDER */ + _stp_stack_print_fallback(context, (unsigned long)®_SP(regs), verbose, levels); #endif /* STP_USE_FRAME_POINTER */ +#endif } |