| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
|
| | |
|
| | |
|
|\|
| |
| |
| |
| |
| | |
* commit '552fdd9f5a7eb3394888356301929c078173a22b':
fix semantic error: no entrypc found using probe .statement(*@file:line) constructs
Fix sw 6752. Alter condtional to check for >= 2.6.26. This accounts and fixes false positives in kernel_v strings that return xx.xx.xx.xx over xx.xx.xx.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
constructs
At the moment, you can't specify
probe module("scsi_mod").statement(*@drivers/scsi/scsi_lib.c:1443)
because the compiler will fail with the above semantic error on the
function scsi_end_bidi_request. It seems looking through the dwarf that
this function is fully inlined and thus has no entrypc to catalogue.
The solution therefore seems to simply return DWARF_CB_OK when we find
such functions and continue cataloguing all the ones that do actually
have non-inline versions.
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
|
| |
| |
| |
| | |
up module cache
|
|/ |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Both the inline and non inline filtered function caches can lose
functions. This happens because both of these caches are indexed by the
entrypc. However, the vagaries of optimisation can actually cause us to
end up with two functions with apparently the same entrypc (mainly
because for inline functions, the entrypc has to be deduced from the
range of addresses, which is nastily heuristic).
A nice example of this is bsg_io_schedule. In my build of 2.6.26 it's a
static function transformed to an inline by the compiler. The range
deduction of its entrypc ends up being identical to that of bsg_release,
so when I try to place a probe inside it, none of the function
references actually refers to it.
Since nothing ever actually makes use of this index, the fix is simple:
don't use a map indexed on the entrypc, use a simple vector.
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-07-14 David Smith <dsmith@redhat.com>
* tapsets.cxx
(utrace_var_expanding_copy_visitor::visit_target_symbol):
Synthesize a function to get the value of $syscall.
2008-07-14 David Smith <dsmith@redhat.com>
* i686/registers.stp: Removed syscall_nr function.
* x86_64/registers.stp: Ditto.
|
|
|
|
| |
per-module/cu
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit 'origin/master':
fix shutdown race condition for scripts that might exit during begin probes
Fix PR 6732: Add runtime/autoconf-real-parent.c check for task_struct field.
clarify dejagnu test case name for empty-struct changes
add changelog entries for last two changes
Add test suite for declaration resolution
Fix semantic error: empty struct
Add hack to support git 1.6 in git_version.sh
Sync latest fix for git_version.sh from RadeonHD's tree
Slightly cleanup code of translate.cxx
PR2111: add general blurbage to stapprobes.5 on syscalls tapset
Use `uname -rvm` for checking system compatibility. Generate
Add section to stapex manual page on how installed examples are documented.
Install examples, demos and samples.
Install tutorial and langref manuals.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
On Tue, 2008-07-08 at 14:57 -0400, Frank Ch. Eigler wrote:
> Hi -
>
> > you need a global cache for resolution ... it's not tied to any local
> > class instance. For class dwflpp it probably doesn't matter, since that
> > class is effectively static (by its survival for a session) but
> > logically because the DW_AT_declaration resolution is global, so should
> > the cache that does it.
>
> .. except it's not actually global, in that the kernel is not the only
> code that will go through the dwarf family of probe processors -
> user-space dwarf files are coming its way soon. Plus, if in the
> future the systemtap frontend attempts distributed probing of multiple
> target systems concurrently, "global" will be even more local.
In that context its as global as a lot of the other static data in that
structure (like this_session) which would also have to be fixed to do a
multiple target system.
Regardless, it can become per instance: it will only screw up if dwflpp
moves to being short lived.
James
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit 'origin/master':
ubuntu (2.6.24-16-server) kernel compatibility fix
client/server take 2. See bz6565.
Add functioncallcount.meta and functioncallcount.stp.
Add para-callgraph.stp and para-callgraph.meta.
Fixed __stp_get_mm_path() error return code.
diagnostics improvement: print arch/mach at top if -vv
Make _vfs.generic_commit_write only for kernel<=2.6.25
Handles "mortally wounded" threads correctly when detaching.
further clarify that elfutils need not be absolutely freshest, nor rebuilt every time
point out releases/ directory; clarify optionality of elfutils bundling
Add auto_free_ref to auto_free stuff; bug 6694
|
| |
| |
| |
| | |
Also add auto_free.h to EXTRA_DIST.
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit 'origin/master':
Always include libdw using link groups.
Fix bug in handling process(PID) probes.
Added tests for 'process(PID)' variants.
This commit makes changes to the VFS tapset. The changes include deprecation of
syscalls2.stp: Add sys_renameat.
Only probe lines once for the :* wildcard line pattern.
Revert checking address in runtime
bz451707: fix conversions.exp test $name
Cleanup in tapsets.cxx
Added powerpc support to runtime/syscall.h.
Remove validating _stext due to many aliased symbols
PR6646: Add checking address in runtime
Fixed offset argument to vm_callback.
|
| |
| |
| |
| |
| |
| |
| | |
2008-06-27 David Smith <dsmith@redhat.com>
* tapsets.cxx (utrace_derived_probe_group::emit_module_decls): Fix
bug in handling process(PID) probes.
|
| | |
|
| | |
|
| | |
|
|/ |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-06-23 David Smith <dsmith@redhat.com>
* tapsets.cxx (utrace_derived_probe_group::emit_probe_decl):
Handles UDPF_NONE value.
(utrace_derived_probe_group::emit_vm_callback_probe_decl): New
function.
(utrace_derived_probe_group::emit_module_decls): Calls
emit_vm_callback_probe_decl() to set up vm_callbacks.
2008-06-23 David Smith <dsmith@redhat.com>
* task_finder.c (__stp_tf_vm_cb): New function.
(stap_register_task_finder_target): Sets up syscall entry and
syscall exit handlers.
(__stp_find_file_based_vma): New function.
(__stp_utrace_task_finder_target_syscall_entry): New function.
Saves vma information off at syscall entry.
(__stp_target_call_vm_callback): New function.
(__stp_utrace_task_finder_target_syscall_exit): New function.
Handles changes to memory maps based on information saved at
syscall entry.
* syscall.h: New file containing syscall function.
* task_finder_vma.c: New file containing saved vma information
handling functions.
|
| |
|
| |
|
|
|
|
|
| |
The problem was caused by ptrdiff_t being a long on x86_64 and not
matching any of the overloaded definitions of dwfl_assert.
|
| |
|
|
|
|
|
| |
New dwarf_wrappers.h, dwarf_wrappers.cxx for for idiomatic access to
libdwarf and refactoring somethings out of the giant classes in tapsets.cxx.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-06-10 David Smith <dsmith@redhat.com>
* tapsets.cxx (utrace_derived_probe_group::emit_probe_decl):
Initializes .vm_callback.
2008-06-10 David Smith <dsmith@redhat.com>
* task_finder.c (struct stap_task_finder_target): Added
vm_callback public field.
(stap_register_task_finder_target): Sets up .report_quiesce
handler.
(__stp_utrace_task_finder_target_quiesce): New function.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-06-09 David Smith <dsmith@redhat.com>
* tapsets.cxx
(utrace_var_expanding_copy_visitor::visit_target_symbol): Calls
'syscall_nr' to get the value of '$syscall'.
2008-06-09 David Smith <dsmith@redhat.com>
* x86_64/registers.stp (syscall_nr): Added syscall_nr function.
* i686/registers.stp (syscall_nr): Ditto.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-06-09 David Smith <dsmith@redhat.com>
* tapsets.cxx (utrace_derived_probe::join_group): Removed
generated inclusion of tracehook.h.
(utrace_var_expanding_copy_visitor::visit_target_symbol): Uses
'_stp_arg(0)' to get value of '$syscall'.
2008-06-09 David Smith <dsmith@redhat.com>
* task_finder.c (__stp_utrace_task_finder_report_exec): Handles
2.6.25 kernels.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-06-06 David Smith <dsmith@redhat.com>
* tapsets.cxx (enum utrace_derived_probe_flags): Redefined in
terms of probe types instead of utrace events.
(utrace_var_expanding_copy_visitor::visit_target_symbol): Uses new
utrace_derived_probes_flags values.
(utrace_builder::build): Handles new probe types and new
utrace_derived_probes_flags values.
(utrace_derived_probe_group::emit_probe_decl): Updated to handle
new utrace_derived_probe_flags values.
(utrace_derived_probe_group::emit_module_decls): Ditto. Also
correctly handles 'begin' events correctly by installing a quiesce
handler (instead of running the probe directly).
(register_standard_tapsets): Registers updated utrace probe
types.
2008-06-06 David Smith <dsmith@redhat.com>
* task_finder.c: Added some debug logic. Use
'-DDEBUG_TASK_FINDER' to enable.
(stap_utrace_attach): Renamed from '__stp_utrace_attach'.
(__stp_utrace_attach_match_filename): Calls callback with
notification that this is a process or thread event.
(__stp_utrace_attach_match_tsk): Ditto.
(__stp_utrace_task_finder_report_clone): Ditto.
(__stp_utrace_task_finder_report_exec): Ditto.
(stap_utrace_task_finder_report_death): Ditto.
(stap_start_task_finder): Ditto.
(stap_stop_task_finder): Added debug logic.
2008-06-06 David Smith <dsmith@redhat.com>
* systemtap.base/utrace_p4.exp: Updated for utrace probe changes.
* systemtap.base/utrace_p5.exp: Ditto.
|
|
|
|
|
|
|
|
| |
2008-06-03 David Smith <dsmith@redhat.com>
* tapsets.cxx: Added several string tokens that are used instead
of hard-coded strings.
(register_standard_tapsets): Uses new string tokens.
|
| |
|
|
|
|
|
|
|
| |
2008-05-28 David Smith <dsmith@redhat.com>
* tapsets.cxx (utrace_derived_probe_group::emit_module_decls):
Removed debug print.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-05-28 David Smith <dsmith@redhat.com>
* tapsets.cxx (utrace_derived_probe_group::emit_probe_decl):
Instead of adding clone handlers, just call the probes directly.
(utrace_derived_probe_group::emit_module_decls): For syscall
probes, on exec detach the parent's utrace engine from the child.
2008-05-28 David Smith <dsmith@redhat.com>
* task_finder.c (__stp_utrace_attach_match_filename): Added
register_p parameter, which is passed on to the callback. Only
adds death notification if register_p is 1. If register_p is 0,
removes death notification.
(__stp_utrace_attach_match_tsk): Moved code from
__stp_utrace_task_finder_report_clone that handles the details of
grabbing a task's path.
(__stp_utrace_task_finder_report_clone): Calls new
__stp_utrace_attach_match_tsk().
(__stp_utrace_task_finder_report_exec): Notifies upper layer that
it might need to detach from newly exec'ed process.`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-05-21 David Smith <dsmith@redhat.com>
* tapsets.cxx (utrace_derived_probe_group::emit_module_decls):
Added new 'event_flag' parameter to task_finder callback. Only
calls probe handlers if we received the correct event.
2008-05-21 David Smith <dsmith@redhat.com>
* task_finder.c (__stp_utrace_attach_match_filename): Added
event_flag parameter of event to pass to callback.
(__stp_utrace_task_finder_target_death): Ditto.
(__stp_utrace_task_finder_report_clone): Calls
__stp_utrace_attach_match_filename() with new argument.
(__stp_utrace_task_finder_report_exec): Ditto.
(stap_start_task_finder): Calls callback with an invalid
event_flag since this callback call isn't related to an event.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 'master' of ssh://sources.redhat.com/git/systemtap:
The beginnings of a no-dwarf version of syscalls.stp. Selected
Added CPU REGISTERS and NUMBERED FUNCTION ARGUMENTS sections to
Replaced [u_]arg() with [u]int_arg(), [u]long_arg(), {s|u}32_arg(),
Added support for register(), u_register(), arg(), and u_arg() functions.
* testsuite/{semok,semko}/nodwf*.stp
PR 4311 - Function boundary tracing without debuginfo: Phase I
|
| |\ |
|
| |\ \
| | | |
| | | |
| | | | |
PR 4311 - Function boundary tracing without debuginfo: Phases 1 and 2
|