This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tapsets/6580] New: revamp backtrace-related tapset functions


print_stack, backtrace, probefunc, print_backtrace, caller* are
IMO a mess.  Let's rationalize them by deprecating these and
adding some new functions:

stack:long (n:long)        - return PC at stack unwind level N
ustack:long (n:long)       - return PC at user-space stack unwind level N; 
                             useful if kernel-side probe is active
callers:string (n:long)    - return stack(0) stack(1) ... stack(n) as a string
ucallers:string (n:long)   - return ustack(0) ustack (1) ... ustack(n)
symname:string (addr:long) - return the kernel- or user-space symbol name
                             for the given address
symdata:string (addr:long) - likewise, adding [module] +offset/size 
psyms (callers:string)     - print symdata() for all addresses in callers

Backward compatibility:
  function backtrace() { return callers (-1) }
  function print_stack(s) { psyms (s) }
  function print_backtrace() { psyms (callers (-1)) }
  function caller_addr() { return stack (1) }
  function caller() { return symname (caller_addr()) }
  function probefunc() { return symname (stack (0)) }
  function probemod() { return substr(symdata (stack (0)), ....) }

-- 
           Summary: revamp backtrace-related tapset functions
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: tapsets
        AssignedTo: systemtap at sources dot redhat dot com
        ReportedBy: fche at redhat dot com


http://sourceware.org/bugzilla/show_bug.cgi?id=6580

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]