summaryrefslogtreecommitdiffstats
path: root/tapsets.cxx
Commit message (Collapse)AuthorAgeFilesLines
...
* | PR4225: use shared stap_uprobe[] pool in .bssFrank Ch. Eigler2008-08-021-32/+36
| |
* | PR4225: it's alive, alive!Frank Ch. Eigler2008-08-021-4/+4
| |
* | PR4225: signs of lifeFrank Ch. Eigler2008-08-021-75/+296
| |
* | Merge commit '552fdd9f5a7eb3394888356301929c078173a22b' into pr4225Frank Ch. Eigler2008-07-231-2/+2
|\| | | | | | | | | | | * 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.
| * fix semantic error: no entrypc found using probe .statement(*@file:line) ↵James Bottomley2008-07-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | PR4225: support intermingled process/kernel/module probes without screwing ↵Frank Ch. Eigler2008-07-231-185/+114
| | | | | | | | up module cache
* | PR4225: parse process("path").function/statement probe pointsFrank Ch. Eigler2008-07-221-98/+184
|/
* PR442528 (PR6028): register dummy kprobes on ia64 for fixing bsp offset.Masami Hiramatsu2008-07-181-0/+43
|
* PR442528Frank Ch. Eigler2008-07-181-0/+8
|
* Avoid statement wildcard lines without a unique address.Stan Cox2008-07-181-3/+6
|
* fix missing functions in cachesJames Bottomley2008-07-151-40/+44
| | | | | | | | | | | | | | | | | | | | 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>
* Changed method of getting the value of $syscall.David Smith2008-07-151-3/+23
| | | | | | | | | | | | | 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.
* PR6739: speed up decl-alias cache by avoiding its recomputation; move to ↵Frank Ch. Eigler2008-07-111-19/+26
| | | | per-module/cu
* PR6703: gcc4.1 build compatibilityFrank Ch. Eigler2008-07-101-2/+1
|
* Merge commit 'origin/master' into pr6429-comp-unwindsymsFrank Ch. Eigler2008-07-091-0/+93
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
| * Fix semantic error: empty structJames Bottomley2008-07-091-0/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge commit 'origin/master' into pr6429-comp-unwindsymsFrank Ch. Eigler2008-07-041-2/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
| * Add auto_free_ref to auto_free stuff; bug 6694Tim Moore2008-06-291-2/+2
| | | | | | | | Also add auto_free.h to EXTRA_DIST.
* | Merge commit 'origin/master' into pr6429-comp-unwindsymsFrank Ch. Eigler2008-06-271-91/+84
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
| * Fix bug in handling process(PID) probes.David Smith2008-06-271-1/+1
| | | | | | | | | | | | | | 2008-06-27 David Smith <dsmith@redhat.com> * tapsets.cxx (utrace_derived_probe_group::emit_module_decls): Fix bug in handling process(PID) probes.
| * Only probe lines once for the :* wildcard line pattern.Stan Cox2008-06-251-1/+4
| |
| * Cleanup in tapsets.cxxTim Moore2008-06-241-89/+79
| |
* | utrace process("PATH") also populate session unwindsym_modulesFrank Ch. Eigler2008-06-231-0/+5
| |
* | populate sess.unwindsym_modules set from dwarf probesFrank Ch. Eigler2008-06-231-1/+2
|/
* make module_cache a session field rather than plain staticFrank Ch. Eigler2008-06-231-21/+34
|
* Major update to memory map change notification code.David Smith2008-06-231-0/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Add kernel.statement("Func@File:*) and kernel.statement("Func@File:X-Y)Stan Cox2008-06-231-86/+108
|
* more warning/error consistency for alternatives listingFrank Ch. Eigler2008-06-161-7/+1
|
* Fix bug in dwfl_assert call.Tim Moore2008-06-111-1/+1
| | | | | The problem was caused by ptrdiff_t being a long on x86_64 and not matching any of the overloaded definitions of dwfl_assert.
* Fix some logic inversions with dwfl_assert.Tim Moore2008-06-111-3/+3
|
* PR 2608 plus some refactoring in tapsets.cxxTim Moore2008-06-111-95/+85
| | | | | New dwarf_wrappers.h, dwarf_wrappers.cxx for for idiomatic access to libdwarf and refactoring somethings out of the giant classes in tapsets.cxx.
* Very early beginnings of memory map notification support.David Smith2008-06-101-0/+1
| | | | | | | | | | | | | | | 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.
* Fixed utrace probe '$syscall' handling.David Smith2008-06-091-16/+3
| | | | | | | | | | | | | 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.
* Fix powerpc PR 6601.Jim Keniston2008-06-091-1/+57
|
* Made 2.6.25 kernel updates.David Smith2008-06-091-28/+18
| | | | | | | | | | | | | | 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.
* Add .statement("function@file.c+N")Stan Cox2008-06-061-3/+24
|
* Changed/renamed utrace probes.David Smith2008-06-061-111/+182
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Added string tokens for most probe types.David Smith2008-06-031-32/+52
| | | | | | | | 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.
* PR 6562, Modify SYSTEMTAP_DEBUGINFO_PATH behaviour.Srikar Dronamraju2008-05-301-1/+3
|
* Removed debug print.David Smith2008-05-281-1/+0
| | | | | | | 2008-05-28 David Smith <dsmith@redhat.com> * tapsets.cxx (utrace_derived_probe_group::emit_module_decls): Removed debug print.
* Handle bug #6500 fallout.David Smith2008-05-281-33/+51
| | | | | | | | | | | | | | | | | | | | | | | 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.`
* Minor improvement to multi-threaded support.David Smith2008-05-281-2/+5
| | | | | | | | | | | | | | | | | | | 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.
* Address powerpc dwarfless test failures.Jim Keniston2008-05-251-9/+50
|
* PR5643: fix .statement(NUM) regressionWenji Huang2008-05-221-0/+9
|
* Use tr1/unordered_map instead of the deprecated ext/hash_map.Tim Moore2008-05-201-0/+9
|
* make the mod_cu_function_cache a hash_map instead of map for more go-goFrank Ch. Eigler2008-05-171-3/+9
|
* PR5643: function caching for much faster syscall.* pass-2 processingFrank Ch. Eigler2008-05-161-38/+72
|
* Merge branch 'master' of ssh://sources.redhat.com/git/systemtapFrank Ch. Eigler2008-05-121-134/+782
|\ | | | | | | | | | | | | | | | | | | * '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 I and IIJim Keniston2008-05-121-2/+10
| |\
| * \ Merge commit 'origin/dwarfless'Jim Keniston2008-05-121-134/+782
| |\ \ | | | | | | | | | | | | PR 4311 - Function boundary tracing without debuginfo: Phases 1 and 2