This is the mail archive of the
systemtap-cvs@sourceware.org
mailing list for the systemtap project.
[SCM] systemtap: system-wide probe/trace tool branch, master, updated. release-1.2-424-g97cd933
- From: mark at sourceware dot org
- To: systemtap-cvs at sourceware dot org
- Date: 7 Jul 2010 11:51:50 -0000
- Subject: [SCM] systemtap: system-wide probe/trace tool branch, master, updated. release-1.2-424-g97cd933
- Reply-to: systemtap at sourceware dot org
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "systemtap: system-wide probe/trace tool".
The branch, master has been updated
via 97cd9334da211ad573fa65d4fde61642f877af29 (commit)
from d46703098a8d64465c399fee375efa1fdfb20f04 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 97cd9334da211ad573fa65d4fde61642f877af29
Author: Mark Wielaard <mjw@redhat.com>
Date: Wed Jul 7 13:25:47 2010 +0200
Keep track of context pt_regs state to distinquish between user/kernel regs.
Although user_mode(regs) can give us a hint as to where the regs are
coming from, it is more reliably to let the probe handler keep track.
All utrace/uprobes based handlers now explicitly set CONTEXT->regflags
_STP_REGS_USER_FLAG. As do the timer probes (based on user_mode).
The perf based handlers don't yet try to determine the regs origin
(but might just use the timer based heuristic). Relevant symbol/unwind
tapset functions now take advantage of this new context flag. The register
tapsets might also benefit from the extra info, but have not been adjusted.
* translate.cxx (c_unparser::emit_common_header): Define _STP_REGS_USER_FLAG
and add regflags field to struct context.
* tapset-itrace.cxx (itrace_derived_probe_group::emit_module_decls):
Set _STP_REGS_USER_FLAG for regflags.
* tapset-perfmon.cxx (perf_derived_probe_group::emit_module_decls):
Add XXX note to investigate.
* tapset-timers.cxx (profile_derived_probe_group::emit_module_decls):
Set _STP_REGS_USER_FLAG for regflags based on user_mode.
* tapset-utrace.cxx (utrace_derived_probe_group::emit_module_decls):
Set _STP_REGS_USER_FLAG for regflags.
* tapsets.cxx (common_probe_entryfn_prologue): Initialize regflags to zero.
(uprobe_derived_probe_group::emit_module_decls):
Set _STP_REGS_USER_FLAG for regflags.
* tapset/context-symbols.stp (probefunc): Check CONTEXT->regflags and use
current task lookup if set.
(probemod): Check CONTEXT->regflags _STP_REGS_USER_FLAG isn't set.
* tapset/context-unwind.stp (print_backtrace): Likewise.
(sprint_backtrace): Likewise.
(backtrace): Likewise.
* tapset/context.stp (user_mode): Just check CONTEXT->regflags.
* tapset/ucontext-unwind.stp (print_ubacktrace): Check CONTEXT->regflags
_STP_REGS_USER_FLAG is set.
(sprint_ubacktrace): Likewise.
(print_ubacktrace_brief): Likewise.
(ubacktrace): Likewise.
* tapset/utrace.stp (_utrace_syscall_nr): Likewise.
(_utrace_syscall_arg): Likewise.
(_utrace_syscall_return): Likewise.
-----------------------------------------------------------------------
Summary of changes:
tapset-itrace.cxx | 1 +
tapset-perfmon.cxx | 2 ++
tapset-timers.cxx | 3 +++
tapset-utrace.cxx | 1 +
tapset/context-symbols.stp | 12 +++++++-----
tapset/context-unwind.stp | 6 +++---
tapset/context.stp | 8 ++------
tapset/ucontext-unwind.stp | 28 ++++++++++++++++++++++++----
tapset/utrace.stp | 6 +++---
tapsets.cxx | 3 +++
translate.cxx | 7 +++++++
11 files changed, 56 insertions(+), 21 deletions(-)
hooks/post-receive
--
systemtap: system-wide probe/trace tool