summaryrefslogtreecommitdiffstats
path: root/tapsets.cxx
Commit message (Collapse)AuthorAgeFilesLines
...
* | 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
| | * | Replaced [u_]arg() with [u]int_arg(), [u]long_arg(), {s|u}32_arg(),Jim Keniston2008-05-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | {s|u}64_arg(), etc. Added asmlinkage(), fastcall(), regparm(). Dealt with some surprises -- e.g., rax is ZERO-extended eax. Seems to work well with -m32 and -m64 user apps, and with a (small) dwarfless subset of syscall.stp.
| | * | PR 4311 - Function boundary tracing without debuginfo: Phase IJim Keniston2008-04-181-134/+781
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tapsets.cxx: Major rework of dwflpp, dwarf_query, and related code to make do with elf info if dwarf info is absent, or (in the case of vmlinux) make do with a System.map-style symbol table if even the elf file is absent. * main.cxx: Use getopt_long instead of getopt. Added --kelf, --kmap, --ignore-vmlinux, and --ignore-dwarf. * hash.cxx, session.h, stap.1.in: Added --kelf, --kmap, --ignore-vmlinux, and --ignore-dwarf.
* | | | Revert "PR6487: extend blacklist with relay/timer subsystem"Frank Ch. Eigler2008-05-121-10/+2
| |_|/ |/| | | | | | | | | | | | | | This reverts commit e0d0dcf974e2d0898a7f5a05a2a3fdc93ba51fea. It seems that blacklisting kernel/timer.c is overbroad.
* | | PR6487: extend blacklist with relay/timer subsystemFrank Ch. Eigler2008-05-091-2/+10
|/ /
* | PR444886: add .../build/... to default debuginfo search pathFrank Ch. Eigler2008-05-051-1/+1
| |
* | PR6466: broad side-effect free statement elisionFrank Ch. Eigler2008-04-291-8/+8
| |
* | Made utrace probes more robust.David Smith2008-04-291-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-04-29 David Smith <dsmith@redhat.com> * tapsets.cxx (utrace_derived_probe_group::emit_probe_decl): Added death event handlers to ensure that for every utrace_attach there is a corresponding utrace_detach. (utrace_derived_probe_group::emit_module_decls): Ditto. 2008-04-29 David Smith <dsmith@redhat.com> * task_finder.c: Made more robust by ensuring that all utrace attaches have a corresponding utrace detach.
* | revert commit f0e6dc6304; overload detection logic was fine alreadyFrank Ch. Eigler2008-04-261-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | btw, here's a test script to monitor the persistent context values: function cycles(which:long) %{ THIS->__retvalue = (THIS->which == 0) ? CONTEXT->cycles_base : CONTEXT->cycles_sum; %} probe timer.profile { /* just for */ backtrace() /* load generation */ printf("%d %d\n", cycles(0), cycles(1)) } probe timer.s(1) { exit() }
* | Handles markers with no format string.David Smith2008-04-251-0/+5
| | | | | | | | | | | | | | | | 2008-04-25 David Smith <dsmith@redhat.com> PR 6455. * tapsets.cxx (mark_builder::build): Handles markers with no format string.
* | PR6416: extend probing blacklist with more init/exit sectionsSrinivasa DS2008-04-231-1/+7
| |
* | fix overload-detection uninitialized variable bugFrank Ch. Eigler2008-04-231-0/+4
| | | | | | | | Reported-By: Peter Teoh <htmldeveloper@gmail.com>
* | Removed debug statements.David Smith2008-04-221-3/+0
| | | | | | | | | | | | | | 2008-04-22 David Smith <dsmith@redhat.com> * tapsets.cxx (utrace_derived_probe_group::emit_module_decls): Removed debug statements.
* | Added utrace exec probes.David Smith2008-04-181-16/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-04-18 David Smith <dsmith@redhat.com> * tapsets.cxx (struct utrace_builder): Added exec probes. (utrace_derived_probe_group::emit_probe_decl): Ditto. (utrace_derived_probe_group::emit_module_decls): Ditto. (register_standard_tapsets): Ditto. * stapprobes.5.in: Added information about exec probes. * NEWS: Added information about utrace probes. 2008-04-18 David Smith <dsmith@redhat.com> * systemtap.base/utrace_p4.exp: Added exec probe test.
* | Fix the blacklist regexps for atomic functionsJosh Stone2008-04-171-8/+2
| |
* | Added process PATH checking and conditional utrace handler function calls.David Smith2008-04-171-43/+97
| | | | | | | | | | | | | | | | | | | | 2008-04-17 David Smith <dsmith@redhat.com> * tapsets.cxx (utrace_builder::build): Make sure that the PATH of 'process("PATH")' probes is an absolute path. (utrace_derived_probe_group::emit_module_decls): Made calls to utrace probe handler functions conditional on which types of utrace probes are going to be output.
* | RHEL4 gcc compatibility: dummy ctor in unused task_finder_derived_probeFrank Ch. Eigler2008-04-161-0/+2
| |
* | PR6417: extend kprobe blacklist some moreSrinivasa DS2008-04-161-0/+14
| |
* | 2008-04-15 David Smith <dsmith@redhat.com>David Smith2008-04-161-0/+582
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * session.h (struct systemtap_session): Added utrace_derived_probe group and task_finder_derived_probe_group members. * elaborate.cxx (systemtap_session::systemtap_session): Added initialization of utrace_derived_probes and task_finder_derived_probes. * tapsets.cxx (struct task_finder_derived_probe_group): New derived_probe_group to handle task_finder framework. (struct utrace_derived_probe_group): New derived_probe_group to handle utrace probes. 2008-04-15 David Smith <dsmith@redhat.com> PR 5961 (partial) * task_finder.c (stap_start_task_finder): When an interesting thread is found that is already running, make sure to set up thread death notification.
* | 2008-04-14 David Smith <dsmith@redhat.com>David Smith2008-04-141-43/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * elaborate.h (struct derived_probe_group): Removed emit_module_header virtual function. * translate.cxx (c_unparser::emit_common_header): Removed calls to emit_module_header function. * tapsets.cxx (be_derived_probe>): Removed emit_module_header function. (struct timer_derived_probe_group): Ditto. (struct profile_derived_probe_group): Ditto. (struct procfs_derived_probe_group): Ditto. (struct hrtimer_derived_probe_group): Ditto. (struct perfmon_derived_probe_group): Ditto. (dwarf_derived_probe_group::emit_module_decls): Moved kernel check back from deleted emit_module_header function. (uprobe_derived_probe_group::emit_module_decls): Ditto. (mark_derived_probe_group::join_group): Moved marker kernel check (to a new embedded code section) from deleted emit_module_header function.
* | 2008-04-11 David Smith <dsmith@redhat.com>David Smith2008-04-111-10/+43
|/ | | | | | | | | | | | | | | | | | | | | | | | | | * elaborate.h (struct derived_probe_group): Added emit_module_header virtual function. * translate.cxx (c_unparser::emit_common_header): Calls each probe group's emit_module_header function. (translate_pass): Moved inclusion of linux/marker.h to mark_derived_probe_group::emit_module_header(). * tapsets.cxx (struct be_derived_probe_group): Added empty emit_module_header function. (struct timer_derived_probe_group): Ditto. (struct profile_derived_probe_group): Ditto. (struct procfs_derived_probe_group): Ditto. (struct hrtimer_derived_probe_group): Ditto. (struct perfmon_derived_probe_group): Ditto. (dwarf_derived_probe_group::emit_module_header): Moved kprobes kernel check from emit_module_decls() to here. (uprobe_derived_probe_group::emit_module_header): Moved uprobe kernel check from emit_module_decls() to here. (uprobe_derived_probe_group::emit_module_decls): Moved uprobe kernel check to emit_module_header(). (mark_derived_probe_group::emit_module_header): Moved marker kernel check from emit_module_decls and translate_pass() to here. (uprobe_derived_probe_group::emit_module_decls): Moved marker kernel check to emit_module_header().
* 2008-04-04 Masami Hiramatsu <mhiramat@redhat.com>Masami Hiramatsu2008-04-041-0/+2
| | | | | | | | | | | PR 6028 * translate.cxx (c_unparser::emit_common_header): Add unwaddr for caching unwound address. * tapsets.cxx (common_probe_entryfn_prologue): Clear unwaddr. * loc2c-runtime.h (fetch_register): Call ia64_fetch_register with the address of c->unwaddr. * regs-ia64.c (ia64_fetch_register): Don't unwind stack if it has already unwound stack in same probe.
* 2008-03-27 Frank Ch. Eigler <fche@elastic.org>fche2008-03-271-0/+1
| | | | * tapsets.cxx (common_probe_entryfn_prologue): Clear last_stmt.