summaryrefslogtreecommitdiffstats
path: root/tapsets.cxx
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* 2008-03-26 Frank Ch. Eigler <fche@elastic.org>fche2008-03-261-0/+9
| | | | | * translate.cxx (emit_function): Set context last_stmt, in case an error occurs during the function.
* 2008-03-20 Frank Ch. Eigler <fche@elastic.org>fche2008-03-201-0/+4
| | | | | | PR 5975. * tapsets.cxx (*): Added a few (void) expressions for asserts that may be compiled out.
* 2008-03-14 Masami Hiramatsu <mhiramat@redhat.com>hiramatu2008-03-151-0/+31
| | | | | | | | | | | PR 3542 * buildrun.cxx (compile_pass): Add an autoconf to check the kernel supports batch unregistration. * tapsets.cxx (dwarf_derived_probe_group::emit_module_decls): Add an array of probe pointers for batch unregistration. * tapsets.cxx (dwarf_derived_probe_group::emit_module_exit): Use unregister_k(ret)probes if it is supported. * runtime/autoconf-unregister-kprobes.c : New file.
* PR5516: assignment to $pointersfche2008-03-031-20/+29
| | | | | | | | | | | | | | | | | | | | | 2008-03-03 Frank Ch. Eigler <fche@elastic.org> PR5516 * elaborate.cxx (symbol_fetcher, dead_assignment_remover): Support unresolved $target lvalues. Propagate pretty error messages. * staptree.cxx (varuse_collecting_visitor target_symbol): Ditto. * staptree.h: Corresponding decl. * loc2c.c: c_translate_pointer_store: New function. * loc2c.h: Corresponding decl. * tapsets.cxx (dwflpp::translate_final_fetch_or_store): Call it for $target pointer assignments. 2008-03-03 Frank Ch. Eigler <fche@elastic.org> PR5516 * buildok/twentynine.stp: New test.
* PR5045: clean up after interruptsfche2008-02-281-0/+6
| | | | | | | | | | | 2008-02-28 Frank Ch. Eigler <fche@elastic.org> PR5045 * session.h (pending_interrupts): New global. * main.cxx (handle_interrupts): New fn to handle SIGINT* etc. * elaborate.cxx, translate.cxx, tapsets.cxx, main.cxx (*): Insert pending_interrupts escape hatches inside potentially timetaking loops. * buildrun.cxx: Don't deal with signals.
* PR5787, PR2608: .statement(NUM) probing fixesfche2008-02-231-46/+65
| | | | | | | | | | | | | | | | | | | 2008-02-22 Frank Ch. Eigler <fche@elastic.org> PR5787, PR2608, .statement() * tapsets.cxx (query_dwarf_func): Process .statement(NUM) probes too. (query_cu): Ditto. (query_func_info): Bypass prologue searching for .statement() probes. (query_cu): Ditto. (build_blacklist): Remove unsightly empty first alternative in "^(|foo)$" regexps. Show them for -vvv. * buildrun.cxx (compile_pass): Don't turn on "gcc -Q" on until -vvvv. 2008-02-22 Frank Ch. Eigler <fche@elastic.org> * systemtap.base/stmtvars.exp: New test for PR 5787.
* 2008-02-20 David Smith <dsmith@redhat.com>dsmith2008-02-201-19/+63
| | | | | | | | | | | | | | | | | * tapsets.cxx (struct mark_derived_probe): Renamed 'probe_sig' to 'probe_format'. (mark_derived_probe::mark_derived_probe): Added new "format" probe point component. (mark_derived_probe::parse_probe_format): Renamed from 'mark_derived_probe::parse_probe_sig'. (struct mark_builder): Added typedefs. Converted mark_cache from a map to a multimap to handle markers with the same name but different formats. (mark_builder::build): Added new 'format' probe parameter. (register_standard_tapsets): Added new 'format' marker probe optional parameter. * stapprobes.5.in (parts): Documented new "format" probe component.
* 2008-02-19 Roland McGrath <roland@redhat.com>roland2008-02-201-3/+11
| | | | | | | * tapsets.cxx (query_module): Use dwfl_module_getdwarf rather than dwfl_module_getelf for e_machine check. (dwarf_query::get_blacklist_section): Likewise for section search. Ignore non-SHF_ALLOC sections.
* 2008-02-19 Roland McGrath <roland@redhat.com>roland2008-02-201-60/+65
| | | | | * tapsets.cxx (query_module): Use dwfl_module_getdwarf rather tha dwfl_module_getelf for e_machine check.
* 2008-02-19 Frank Ch. Eigler <fche@elastic.org>fche2008-02-191-2/+4
| | | | | * tapsets.cxx (query_module): Tweak elf-machine checking to better represent elfutils idioms.
* PR5766: back to regexp-based blacklistingfche2008-02-191-66/+103
| | | | | | | | | | | | | | 2008-02-19 Frank Ch. Eigler <fche@elastic.org> PR 5766. * tapsets.cxx (build_blacklist): Switch (back) to regexp-based blacklist construction ... (blacklist_p): ... and querying. 2008-02-19 Frank Ch. Eigler <fche@elastic.org> PR5766. * semko/fortyfive.stp: New test.
* 2008-02-19 David Smith <dsmith@redhat.com>dsmith2008-02-191-1/+2
| | | | | | | PR 5672. * tapsets.cxx (mark_derived_probe): Call probe_point copy ctor to shallow-copy incoming base probe location before recomputing/overwriting it.
* dwarf speedupfche2008-02-151-0/+10
| | | | | * tapsets.cxx (function_name_last_match): New function. (query_dwarf_func): Call it to stop unnecessary further iteration.
* 2008-02-13 Frank Ch. Eigler <fche@elastic.org>fche2008-02-131-0/+5
| | | | | | PR 5759 * tapsets.cxx (build_blacklist): Add some CONFIG_PREEMPT-related functions.
* PR4393: fix relocatable-kernel global $variable accessfche2008-02-121-0/+16
| | | | | | | | | | | | | 2008-02-12 Frank Ch. Eigler <fche@elastic.org> PR 4393 * tapsets.cxx (emit_address): Support relocatable kernels. (dwarf_derived_probe ctor): Hack around for missing USHRT_MAX. * elaborate.cxx (semantic_pass): Increment rc if exception caught. 2008-02-12 Frank Ch. Eigler <fche@elastic.org> * systemtap.pass1-4/buildok.exp: No longer kfail buildok/seventeen.
* 2008-02-12 Martin Hunt <hunt@redhat.com>hunt2008-02-121-3/+3
| | | | | PR 5757 * tapsets.cxx, translate.cxx: Cleanup findentation a bit.
* 2008-02-04 David Smith <dsmith@redhat.com>dsmith2008-02-041-11/+78
| | | | | | | | | | | | | PR 4446 (partial) * tapsets.cxx (mark_var_expanding_copy_visitor::visit_target_symbol_arg): New function. (mark_var_expanding_copy_visitor::visit_target_symbol_format): New function. (mark_var_expanding_copy_visitor::visit_target_symbol): Handles "$arg" or "$format". (mark_derived_probe_group::emit_module_decls): Sets up "$format" data.
* update copyright years for recent checkinsfche2008-01-281-1/+1
|
* 2008-01-28 David Smith <dsmith@redhat.com>dsmith2008-01-281-6/+6
| | | | | * tapsets.cxx (dwarf_derived_probe_group::emit_module_decls): Added 'const' to several members of stap_dwarf_probes.
* PR5673: reduce total size of generated .ko's from wildly wildcarded scriptsfche2008-01-261-26/+98
| | | | | | | | | | | | | | | 2008-01-26 Frank Ch. Eigler <fche@elastic.org> PR 5673. * tapsets.cxx (dwarf_derived_probe_group): Split stap_dwarf_probes[] into bss-carried kprobes structs. Tune embedded strings for minimizing relocation-vs-fixed-buffer wastage. * tapsets.cxx (dwarf_derived_probe): Impose .maxactive() limits. 2008-01-26 Frank Ch. Eigler <fche@elastic.org> PR 5673. * testsuite/parseko/maxactive{04,05}.stp: New tests.