diff options
Diffstat (limited to 'tapset')
-rw-r--r-- | tapset/ChangeLog | 5 | ||||
-rw-r--r-- | tapset/context-unwind.stp | 17 |
2 files changed, 13 insertions, 9 deletions
diff --git a/tapset/ChangeLog b/tapset/ChangeLog index e372a7fa..626ad67b 100644 --- a/tapset/ChangeLog +++ b/tapset/ChangeLog @@ -1,3 +1,8 @@ +2008-12-09 Frank Ch. Eigler <fche@elastic.org> + + PR 6961. + * context-unwind.stp (print_backtrace, backtrace): WARN_ON !regs. + 2008-11-28 Frank Ch. Eigler <fche@elastic.org> PR 6965. diff --git a/tapset/context-unwind.stp b/tapset/context-unwind.stp index a0836ed6..4c5ed34b 100644 --- a/tapset/context-unwind.stp +++ b/tapset/context-unwind.stp @@ -23,11 +23,10 @@ * except that deeper stack nesting may be supported. Return nothing. */ function print_backtrace () %{ - if (CONTEXT->regs) { - _stp_stack_print(CONTEXT->regs, 1, CONTEXT->pi, MAXTRACE); - } else { - _stp_printf("Systemtap probe: %s\n", CONTEXT->probe_point); - } + if (! CONTEXT->regs) + WARN_ON (! CONTEXT->regs); + else + _stp_stack_print(CONTEXT->regs, 1, CONTEXT->pi, MAXTRACE); %} /** @@ -37,10 +36,10 @@ function print_backtrace () %{ * stack. It may be truncated due to maximum string length. */ function backtrace:string () %{ /* pure */ - if (CONTEXT->regs) - _stp_stack_snprint (THIS->__retvalue, MAXSTRINGLEN, CONTEXT->regs, 0, CONTEXT->pi, MAXTRACE); - else - strlcpy (THIS->__retvalue, "", MAXSTRINGLEN); + if (! CONTEXT->regs) + WARN_ON (! CONTEXT->regs); + else + _stp_stack_snprint (THIS->__retvalue, MAXSTRINGLEN, CONTEXT->regs, 0, CONTEXT->pi, MAXTRACE); %} /** |