summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Signal-based file switching support for relay/ring buffer.Masami Hiramatsu2009-09-163-22/+97
| | | | | | | | | | * runtime/staprun/relay.c (switch_outfile): New function for file switching. (reader_thread): Don't assign empty_handler to SIGUSR2, and switch output file when receiving signal(SIGUSR2) on ppoll. (switchfile_handler): Send SIGUSR2 signal to reader threads for file switching. (init_relayfs): Assign switchfile_handler to SIGUSR2. * staprun.1.in: Add FILE SWITCHING BY SIGNAL section.
* Initialize CairoWidget origin of graphTim Moore2009-09-163-4/+8
| | | | | | | * grapher/Graph.hxx (Graph constructor): add origin arguments * grapher/Graph.cxx: ditto * grapher/GraphWidget.cxx (on_expose_event): Use CairoWidget origin to position graphs.
* Fix graph attribute parsing bugletTim Moore2009-09-161-2/+2
| | | | | * grapher/StapParser.cxx (findTaggedValue): Extract value substring after tag.
* Draw graphs inside a scrolled windowTim Moore2009-09-161-2/+5
| | | | | * grapher/grapher.cxx (GrapherWindow, GrapherWindow constructor): Add ScrolledWindow object and display it. Make GraphWidget its child.
* Merge branch 'master' of ssh://sources.redhat.com/git/systemtapDave Brolley2009-09-16116-5396/+5045
|\
| * Make labels -l .label test independent of list output order.Mark Wielaard2009-09-161-2/+9
| | | | | | | | | | * testsuite/systemtap.base/labels.exp (-l .label): List all output lines individually in expect regex.
| * Clean up dwflpp::translate_location workaround for DW_AT_data_member_location.Mark Wielaard2009-09-163-53/+11
| | | | | | | | | | | | | | | | | | | | | | Do the same workaround as loc2c-test.c does. Just treat a constant member location offset as a DW_OP_plus_uconst and call c_translate_location for it. Also Remove c_translate_add_offset. * dwflpp.cxx (dwflpp::translate_location): Check elfutils version and only do workaround for elfutils < 0.142. * loc2c.h (c_translate_add_offset): Removed. * loc2c.c (c_translate_add_offset): Likewise.
| * Clean up loc2c-test workaround for constant DW_AT_data_member_location.Roland McGrath2009-09-161-27/+17
| | | | | | | | | | | | * loc2c-test.c (handle_variable): Skip the workaround for elfutils 0.142. When doing it, use a synthetic location expression. Never use c_translate_add_offset, which is broken.
| * Remove function comparison from label iterationJosh Stone2009-09-153-33/+37
| | | | | | | | | | | | | | | | | | | | | | We already have filtered functions and inlines, so just iterate in each of those to look for labels. * dwflpp.cxx (dwflpp::iterate_over_labels): Assume that the die we're looking at is already a matching function, and don't descend into inlined functions in this body. * tapsets.cxx (query_srcfile_label): Iterate through inlines too. (query_cu): Iterate over functions and inlines instead of the CU.
| * Merge branch 'master' of ssh://sources.redhat.com/git/systemtapFrank Ch. Eigler2009-09-1587-5025/+4420
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'master' of ssh://sources.redhat.com/git/systemtap: (34 commits) Update the langref copyright notice Fix some probe examples in the language reference Remove automatic authorization of servers started by root as trusted signers. docs: add abnormal termination section to PROCESSING Remove unneeded header file Get the module to sign from -p4's stdout Move --unprivileged support news to the top. Firther updates to NEWS regarding signing and unprivileged users. Authorize new certificates created for servers started by root as authorized signers. 2009-09-14 Dave Brolley <brolley@redhat.com> Allow remaining process.* probes for unprivileged users. Use the sched_switch tracepoint if available. PR10608: mark test cases untested once compilation failed Make check.exp not sleep so much in test_installcheck. Make tracepoints.exp test more efficient by running as one giant script. Only test highest optimization for exelib.exp test. Replace small exelib.exp testcases with one jumbo testcase. Remove duplicate uprobe_derived_probe code Add semaphores for use with the forthcoming sdt marker checks. Add actual pc address to semantic error about inaccessible variables. ... Conflicts: tapsets.cxx
| | * Update the langref copyright noticeJosh Stone2009-09-151-1/+1
| | |
| | * Fix some probe examples in the language referenceJosh Stone2009-09-151-7/+6
| | | | | | | | | | | | | | | | | | | | | * doc/langref.tex (section{Components of a SystemTap script}): Use .call/.return for the example of tracing function entry/exit. Also mention "-l" for listing probeable functions. (subsection{Embedded C functions}): Close the examples with '%}'.
| | * Remove automatic authorization of servers started by root as trusted signers.Dave Brolley2009-09-151-5/+0
| | |
| | * docs: add abnormal termination section to PROCESSINGFrank Ch. Eigler2009-09-151-2/+11
| | |
| | * Remove unneeded header fileWenji Huang2009-09-151-1/+0
| | | | | | | | | | | | * modsign.cxx: Remove including session.h.
| | * Get the module to sign from -p4's stdoutJosh Stone2009-09-141-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | The saved stdout should have the exact name of the generated module, which is better than using a recursive find to locate it. Tracepoints and @cast may generate additional .ko's which we don't want to confuse with the real deal. * stap-server (create_response): grep stdout for the module name.
| | * Move --unprivileged support news to the top.Dave Brolley2009-09-141-27/+27
| | |
| | * Merge branch 'master' of ssh://sources.redhat.com/git/systemtapDave Brolley2009-09-14100-693/+1363
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: aclocal.m4 configure doc/SystemTap_Tapset_Reference/Makefile.in testsuite/aclocal.m4 testsuite/configure
| | | * Merge branch 'master' of ssh://sources.redhat.com/git/systemtapDave Brolley2009-09-1486-4818/+3445
| | | |\
| | | | * Use the sched_switch tracepoint if available.William Cohen2009-09-141-3/+3
| | | | |
| | | | * PR10608: mark test cases untested once compilation failedWenji Huang2009-09-143-30/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * testsuite/systemtap.syscall/syscall.exp: Simplify logic things. * testsuite/systemtap.syscall/test.tcl: Check compilation result. * testsuite/systemtap.base/utrace_syscall_args.exp: Change fail to untested.
| | | | * Make check.exp not sleep so much in test_installcheck.Mark Wielaard2009-09-1348-48/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A lot of time during the installcheck was spend just sleeping. Reduce the sleep time by at least one fifth. * testsuite/systemtap.examples/*/*meta: Reduct -c "sleep" time.
| | | | * Make tracepoints.exp test more efficient by running as one giant script.Mark Wielaard2009-09-131-6/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When there are lots of tracepoints in the kernel running a script for each one individually can take several minutes. So run them all in one giant script at the same time. Also increase timeout for the stap -l collection step since with an empty cache that might take more than the default 10 seconds. * testsuite/systemtap.base/tracepoints.exp: Increase default timeout. Collect all script fragments and run them as one.
| | | | * Only test highest optimization for exelib.exp test.Mark Wielaard2009-09-131-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is not much to gain from testing low and high optimized programs. So only test highest optimization level. Half test time from 200 to 100 sec. * testsuite/systemtap.exelib/exelib.exp: Set opt to list containing just -O3.
| | | | * Replace small exelib.exp testcases with one jumbo testcase.Mark Wielaard2009-09-133-1/+181
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge lib, mark, uname and ustack stp and tcl scripts into one large libmarkunamestack stp and tcl script. But keep the individual tests in case the large test fails and one wants to debug the individual steps. Takes test time for exelib.exp down from 700 seconds to 200 seconds. * testsuite/systemtap.exelib/libmarkunamestack.stp: New large stp script. * testsuite/systemtap.exelib/libmarkunamestack.tcl: New large tcl script. * testsuite/systemtap.exelib/exelib.exp: Use libmarkunamestack.
| | | | * Remove duplicate uprobe_derived_probe codeJosh Stone2009-09-111-219/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Much of uprobe_derived_probe is a straight copy of dwarf_derived_probe, and some of the comments even acknowledge this. I'm instead making this an inheritance, so the duplication can be chopped away. * tapsets.cxx (struct dwarf_derived_probe): Reorganize for inheritance. (dwarf_derived_probe::dwarf_derived_probe): Adapt to handle process. (struct uprobe_derived_probe): Inherit from dwarf_derived_probe and remove duplicate members and methods. (uprobe_derived_probe::emit_module_decls): Member name changes.
| | | | * Add semaphores for use with the forthcoming sdt marker checks.Stan Cox2009-09-111-2/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dtrace.in (semaphore_def_append): New. (generate): Call it. (semaphore_def_write): New. (main): Call it.
| | | | * Add actual pc address to semantic error about inaccessible variables.Mark Wielaard2009-09-111-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | * dwflpp.cxx (translate_location): Add hex pc address to semantic error when dwarf_getlocation_addr() doesn't return expression.
| | | | * PR10618: update iostat-scsi.stp for 2.6.31Wenji Huang2009-09-112-3/+17
| | | | | | | | | | | | | | | | | | | | | | | | | * testsuite/systemtap.examples/io/iostat-scsi.stp: Add pure function. * testsuite/systemtap.examples/io/iostat-scsi.meta: Add -g option.
| | | | * Merge branch 'getscopes'Josh Stone2009-09-104-96/+279
| | | | |\
| | | | | * PR10594 cont'd: Use parent die cache for variable lookupJosh Stone2009-09-103-73/+158
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Variable lookup is usually done through the scopes from dwarf_getscopes at a particular pc. This requires an expensive traversal to find the inner-most die containing the pc. For cases where that containing die is known, e.g. at a particular function entry, we can do much better with our die_parent_cache. This may also help get more accurate variable scopes in cases where multiple dies contain a pc and the innermost isn't what we're trying to probe. For example, an inlined call chain of foo->bar->baz may all have the same entry pc, but if the probe was on function("bar"), we would want the variables in bar's scope, not baz's. * dwflpp.h (struct dwflpp): Remove pc_cached_scopes, num_cached_scopes, and cached_scopes, as they are now remembered by the caller. * dwflpp.cxx (dwflpp::getscopes): New - the DIE version uses the parent cache, and the pc version just defers to dwarf_getscopes. (dwflpp::print_locals, literal_stmt_for_local): Take a scopes vector. (dwflpp::find_variable_and_frame_base): Take a scopes vector from the caller instead of computing it every time. (dwflpp::dwarf_getscopes_cached): Removed. * tapsets.cxx (dwarf_var_expanding_visitor::getscopes): New cached lookup function which gets the scopes from the DIE if possible. (dwarf_var_expanding_visitor::visit_target_symbol): Call getscopes.
| | | | | * Simplify deleting all map valuesJosh Stone2009-09-103-21/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * util.h (delete_map): New templated map deleter. * dwflpp.cxx (dwflpp::~dwflpp): Use it. * tapsets.cxx (symbol_table::~symbol_table): Use it.
| | | | | * PR10594: Provide a cached dwarf_getscopes_dieJosh Stone2009-09-103-20/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This avoids repeated DIE traversal by caching all parents on the first call, so future calls are just a simple walk up parent links. * dwflpp.cxx (dwflpp::getscopes_die): New cached function that mimics libdw's dwarf_getscopes_die using cached parent links. (dwflpp::cache_die_parents): New function to build the parent cache. (dwflpp::~dwflpp): Clean up the parent caches. (dwflpp::iterate_over_labels): Use the cached getscopes_die. (dwflpp::find_variable_and_frame_base): Ditto. * tapsets.cxx (dwarf_derived_probe::saveargs): Ditto. (uprobe_derived_probe::saveargs): Ditto. (dwarf_var_expanding_visitor::visit_target_symbol_context): Ditto.
| | | | * | Run autoreconfEugeniy Meshcheryakov2009-09-1110-4327/+2575
| | | | | |
| | | | * | Remove generated files during cleanEugeniy Meshcheryakov2009-09-111-0/+4
| | | | | |
| | | | * | Added blurb about the ring_buffer transport.David Smith2009-09-101-0/+5
| | | | | |
| | | | * | Allow ring_buffer to be used if STP_USE_RING_BUFFER is defined.David Smith2009-09-101-2/+3
| | | | | |
| | | | * | Add generated files to .gitignoreRobb Romans2009-09-101-0/+2
| | | | | |
| | | | * | build: support x86-64 without CONFIG_IA32_EMULATIONFrank Ch. Eigler2009-09-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | * runtime/syscall.h (x86_64 MMAP2_SYSCALL_NO): Define.
| | | | * | PR10602: dummy commit for authorship tracking onlyJim Keniston2009-09-090-0/+0
| | | | |/
| | | | * Update marker probe information in Language Reference.Robb Romans2009-09-091-18/+38
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Robb Romans <robb@linux.vnet.ibm.com>
| | | | * Add pointer typecasting information to Language Reference.Robb Romans2009-09-091-1/+66
| | | | |
| | | | * Add error probe information.Robb Romans2009-09-091-8/+27
| | | | |
| | | * | Allow remaining process.* probes for unprivileged users.Dave Brolley2009-09-144-11/+34
| | | | |
| | * | | Firther updates to NEWS regarding signing and unprivileged users.Dave Brolley2009-09-141-12/+12
| | | | |
| | * | | Authorize new certificates created for servers started by root as authorized ↵Dave Brolley2009-09-142-6/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | signers. Update NEWS with the latest usage infor for --unprivileged.
| | * | | 2009-09-14 Dave Brolley <brolley@redhat.com>Dave Brolley2009-09-1416-4502/+3509
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * modsign.cxx (init_cert_db_path): Use 'system' call. (sign_module): Renamed to 'main'. This is now an independant program. Check for arguments. Return 1 on error. * buildrun.cxx (modsign.h): Don't #include it. (compile_pass): Don't sign the module. * main.cxx (main): Don't copy the module signature. * cache.cxx (add_to_cache): Don't cache the module signature. * Makefile.am (bin_PROGRAMS): Add stap-sign-module. (stap_SOURCES): Remove modsign.cxx and nsscommon.c. (stap_sign_module_SOURCES): New variable. (stap_sign_module_CPPFLAGS): New variable. (stap_sign_module_LDFLAGS): New variable. (stap_sign_module_LDADD): New variable. * stap-server (initialization): Initialize unprivileged. (parse_options): Handle --unprivileged. (create_response): Call stap-sign-module if --unprivileged was specified. * systemtap.spec: Add stap-sign-module to stap-server. * Makefile.in: Regenerated. * doc/Makefile.in: Regenerated. * doc/SystemTap_Tapset_Reference/Makefile.in: Regenerated. * grapher/Makefile.in: Regenerated. * testsuite/Makefile.in: Regenerated. * aclocal.m4: Likewise. * testsuite/aclocal.m4: Likewise. * configure: Likewise. * testsuite/configure: Likewise.
| * | | | PR10642: fix wildcard-driven quadratic explosion of .return $$parms probesFrank Ch. Eigler2009-09-151-44/+47
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For $variables listed in .return probes, a synthetic probe is being created, for saving the named variable values at function entry. However, the probe point for this synthetic probe was copied naively, so that several problems could occur: - if the original probe point contained wildcards, then each synthetic one also did, and was therefore multiply derived later - if the probe point referred to a multiply instantiated function, the synthetic one was not directly identified with it (at the dwarf_addr level) Now the synthetic probe is created more carefully, bypassing any further derivation/expansion processing steps. * tapsets.cxx (dwarf_var_expanding_visitor): Change add_probe to add_call_probe field. (visit_target_symbol_saved_return): Store only the body of the synthetic probe. (dwarf_derived_probe ctor): Create intimately related dwarf_derived_probe for synthetic probe. (uprobe_derived_probe ctor): Ditto.
| * | | PR10602 prime: runtime: shrink stack frame of _stp_do_relocation().Frank Ch. Eigler2009-09-091-1/+1
| | | | | | | | | | | | | | | | * transport/symbols.c (_stp_do_relocation): Make msg static.
| * | | examples: regenerate index filesFrank Ch. Eigler2009-09-094-1/+50
| | | |