diff options
Diffstat (limited to 'tapset')
-rw-r--r-- | tapset/ChangeLog | 5 | ||||
-rw-r--r-- | tapset/context.stp | 8 |
2 files changed, 10 insertions, 3 deletions
diff --git a/tapset/ChangeLog b/tapset/ChangeLog index 851d059e..3f723916 100644 --- a/tapset/ChangeLog +++ b/tapset/ChangeLog @@ -1,3 +1,8 @@ +2006-10-04 Frank Ch. Eigler <fche@elastic.org> + + * context.stp (probefunc): Return empty string for + userspace (< PAGE_OFFSET) pointers. + 2006-09-26 David Smith <dsmith@redhat.com> * test/run.sh: Changed 'stpd' references to 'staprun'. diff --git a/tapset/context.stp b/tapset/context.stp index 7c59b0d6..ab71193a 100644 --- a/tapset/context.stp +++ b/tapset/context.stp @@ -106,11 +106,12 @@ function probefunc:string () %{ /* pure */ *dst++ = *ptr++; *dst = 0; - } else if (CONTEXT->regs) { + } else if (CONTEXT->regs && + (REG_IP(CONTEXT->regs) >= PAGE_OFFSET)) { _stp_symbol_sprint_basic(THIS->__retvalue, MAXSTRINGLEN, REG_IP(CONTEXT->regs)); - if (THIS->__retvalue[0] == '.') /* powerpc symbol has a dot*/ - strlcpy(THIS->__retvalue,THIS->__retvalue + 1,MAXSTRINGLEN); + if (THIS->__retvalue[0] == '.') /* powerpc symbol has a dot*/ + strlcpy(THIS->__retvalue,THIS->__retvalue + 1,MAXSTRINGLEN); } else { THIS->__retvalue[0] = '\0'; } @@ -129,6 +130,7 @@ function probemod:string () %{ /* pure */ *dst++ = *ptr++; *dst = 0; } else { + /* XXX: need a PC- and symbol-table-based fallback. */ THIS->__retvalue[0] = '\0'; } %} |