| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Dwarf probes are now printing their $target variables in -L, so we need
to handle more than just stap types in the regular expression.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* stap.1.in: Document that -w disables all warning messages.
* dwflpp.cxx (get_module_dwarf): Only output warning when session
suppress_warnings is not set.
* translate.cxx (dump_unwindsyms): Likewise.
(emit_symbol_data_done): Likewise.
* tapsets.cxx (query_module_symtab): Likewise.
(read_from_elf_file): Take systemtap_session, check suppress_warnings
before emitting warning.
(read_from_text_file): Likewise.
(get_symtab): Call read_from_elf_file and read_from_text_file with session.
|
|
|
|
| |
* testsuite/systemtap.exelib/ustack.tcl: Remove result_string.
|
|
|
|
|
|
|
|
|
| |
All $target variables and their C-types are now printed in -L mode.
* tapsets.cxx (uprobe_derived_probe::uprobe_derived_probe): Save the local
arguments while we still have the dwflpp open.
(uprobe_derived_probe::saveargs): New
(uprobe_derived_probe::printargs): New
|
|
|
|
|
|
|
|
|
| |
All $target variables and their C-types are now printed in -L mode.
* tapsets.cxx (dwarf_derived_probe::dwarf_derived_probe): Save the local
arguments while we still have the dwflpp open.
(dwarf_derived_probe::saveargs): New
(dwarf_derived_probe::printargs): New
|
|
|
|
|
|
|
|
|
| |
Rather than relying on 'unoptimized' to tell us that the listing mode
should print the variables too, this adds an explicit listing_mode_vars.
* session.h (systemtap_session): Add listing_mode_vars
* main.cxx (main): Set s.listing_mode_vars appropriately.
(printscript): Use the new flag for deciding whether to print locals
|
|
|
|
|
|
|
|
|
| |
This just refactors large chunks of visit_target_symbol into a couple of
smaller functions.
* tapsets.cxx (dwarf_var_expanding_visitor::visit_target_symbol_context): New
(dwarf_var_expanding_visitor::visit_target_symbol_saved_return): New
(dwarf_var_expanding_visitor::visit_target_symbol): Call the new ones
|
|
|
|
|
|
| |
* tapset-utrace.cxx (visit_target_symbol_arg): Handle $$parms.
* testsuite/systemtap.base/utrace_p4.exp: Add test case.
* testsuite/systemtap.base/utrace_p5.exp: Ditto.
|
|
|
|
|
| |
* systemtap.base/crash.exp: Use command-line script instead of removed
script file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* runtime/transport/ring_buffer.c (struct _stp_iterator): Renamed from
_stp_ring_buffer_data.
(_stp_data_open_trace): Uses _stp_iterator.
(_stp_data_release_trace): Ditto.
(_stp_ring_buffer_empty_cpu): Ditto.
(_stp_ring_buffer_empty): Ditto.
(_stp_ring_buffer_consume): Ditto.
(_stp_tracing_wait_pipe): Ditto.
(_stp_peek_next_event): Ditto.
(_stp_find_next_event): Ditto.
(_stp_data_read_trace): Ditto.
(_stp_data_write_reserve): Ditto.
|
|
|
|
|
| |
* doc/SystemTap_Beginners_Guide/en-US/extras/stapprep.sh: Check whether
yumdownloader is already available and install yum-utils if not.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* grapher/Graph.hxx: New file; class for single graph display.
* grapher/Graph.cxx: New file.
* grapher/GraphData.hxx: Associate title and axis labels with graph
data and not a graph display.
* grapher/GraphWidget.hxx: Move graph-related members to Graph class.
* grapher/GraphWidget.cxx (getExtents, setExtents): Move to Graph
class
(on_expose_event): Move graph rendering to Graph.
(on_button_press_event): Delegate to Graph.
(on_motion_notify_event, on_scroll_event): Modify "active" graph.
* grapher/StapParser.cxx (findTaggedValue): New parsing helper
function.
(io_callback): Support new syntax where properties are attached to
graph data and not the entire graph.
* grapher/grapher.cxx (GrapherWindow): Don't set graph values.
* grapher/Makefile.am: Add Graph.cxx.
* testsuite/systemtap.examples/general/grapher.stp: New property syntax.
|
|
|
|
| |
* grapher/grapher.cxx (main): Fix problems with call to execlp.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* grapher/GraphData.hxx (GraphDataBase): new superclass for
GraphData. Split time data out as a separate vector.
(GraphData): Rewrite as template.
* grapher/GraphWidget.cxx (on_expose_event): Reflect GraphData
templatization. Handle events with string values.
* grapher/GraphWidget.hxx (GraphWidget): Keep pointers to
GraphDataBase objects instead of GraphData.
* grapher/StapParser.cxx (parseData): new member function
(ioCallback): Handle new discreet event
* grapher/StapParser.hxx (StapParser): keep pointers to GraphDataBase
objects instead of GraphData
* testsuite/systemtap.examples/general/grapher.stp: Display actual key
pressed for keyboard event
|
|
|
|
|
| |
* grapher/grapher.cxx (main): Start stap + script from program if supplied
as an argument.
|
|
|
|
|
| |
* grapher/grapher.cxx (GrapherWindow): New class.
(main): Instantiate GrapherWindow.
|
|
|
|
|
|
| |
* grapher/GraphData.hxx (CSVData): new class
* grapher/GraphData.cxx (commaSplit): new function
(ioCallback): handle CSV definition and data
|
|
|
|
|
|
| |
* grapher/StapParser.cxx: new file
* grapher/StapParser.hxx: new file
* grapher/grapher.cxx: Use external StapParser class.
|
|
|
|
|
| |
* grapher/GraphWidget.cxx (on_expose_event): Don't draw axis labels
that would overlap others.
|
|
|
|
| |
* testsuite/systemtap.examples/general/grapher.stp: Restore newlines.
|
|
|
|
|
|
|
|
| |
* dwflpp.cxx (iterate_over_srcfile_lines): Check the line range
and tolerate invalid line number for WILDCARD line type.
* testsuite/systemtap.base/bz6905.c: Test case.
* testsuite/systemtap.base/bz6905.exp: Ditto.
* testsuite/systemtap.base/bz6905.stp: Ditto.
|
|
|
|
|
| |
* tapsets.cxx (query_cu): When statement check fails and no line info
available, mention the CU had no line info.
|
|
|
|
|
|
|
|
|
|
|
|
| |
GNU gold depends on all libraries providing symbols being explicitly
linked in (PR 10238). And it is pedantically more correct indeed.
* Makefile.am (stap_LD_ADD): Add -lnspr4 when HAVE_NSS.
(staprun_LDADD): Likewise.
(stap_client_connect_LDADD): Add -lnss3 -lnspr4 -lplc4 when BUILD_SERVER.
(stap_server_connect_LDADD): Likewise.
* Makefile.in: Regenerated.
* aclocal.m4: Likewise.
|
|
|
|
|
| |
* tapset-mark.cxx (visit_target_symbol_context): Add $$vars/$$parms.
* testsuite/systemtap.base/marker.exp : Test case.
|
|
|
|
|
| |
* dwflpp.cxx (get_cfa_ops): Only define cfa_nops if _ELFUTILS_PREREQ(0,142).
* loc2c-test.c (main): Likewise.
|
|
|
|
|
| |
* dwflpp.cxx (get_cfa_ops): Call dwarf_frame_cfa with cfa_nops size_t.
* loc2c-test.c (main): Likewise.
|
|
|
|
|
|
|
| |
* runtime/transport/ring_buffer.c (_stp_event_to_user): Added debug prints.
(_stp_ring_buffer_consume): New function.
(_stp_find_next_event): Avoid incrementing the buffer iterator here.
(_stp_data_write_commit): Added debug prints.
|
|
|
|
|
| |
* testsuite/systemtap.base/tracepoints.stp: Only print once, when enough hits,
or at the begin probe.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There was a bad assumption in the probe_table initialization that the
dwflpp->module would be immediately valid. We should not assume that
dwflpp only has one module, or that any module is necessarily in focus.
Instead, I've created an sdt_query class which will call an
iterate_over_modules like the other dwarf probe types. For now this
means just a single module, but it will also open the door to iterating
over all linked libraries too, for example.
* dwflpp.cxx (dwflpp::setup_user): don't "save mod!" anymore
* tapsets.cxx (probe_table -> sdt_query): convert to a query-style
class, and also take over the task of iterating over the probes.
(dwarf_builder::build): leave the iteration to sdt_query
|
| |
|
|
|
|
| |
* tapset/task.stp (pid2task): Use find_get_pid for 2.6.31.
|
|
|
|
| |
systemtap.spec (post,preun): Call rmmod uprobes.
|
|
|
|
| |
* dwflpp.cxx (setup_user): Set module to mod.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With the current monolithic tracepoint query module, a failure in any of
the discovered tracepoint headers means that you can't use any of the
others either. This patch creates a separate query module for each
header so they can pass or fail independently.
* buildrun.cxx (make_tracequery): take a single header name instead of
globbing for everything we can find.
* hash.cxx (find_tracequery_hash): name the header file we're hashing.
* tapsets.cxx (tracepoint_query::handle_query_func): make sure we don't
duplicate tracepoints found through different headers.
(tracepoint_builder::get_tracequery_module): get a header's module
(tracepoint_builder::init_dw): glob for all tracepoint headers, and
feed all their modules into dwflpp.
|
|
|
|
|
|
|
| |
The fact that a file _doesn't_ exist is significant, so adding such a
file to a computed hash should still influence the output.
* hash.cxx (hash::add_file): add bogus stat info for non-existent files
|
|
|
|
|
|
|
|
|
| |
This will be used to load tracepoint modules as a bunch of little query
modules into a single dwflpp.
* dwflpp.cxx (setup_user): take a vector instead of a single module
(dwflpp::dwflpp): form a vector in the singular case, and add a
variant that takes and passes through a vector of modules.
|
|
|
|
|
|
|
|
| |
* session.h (systemtap_session): remove tracequery_path
* hash.cxx (find_tracequery_hash, find_typequery_hash): return strings
* tapsets.cxx (dwarf_cast_expanding_visitor::filter_special_modules):
get the hashed path from the return value instead of a parameter
(tracepoint_builder::init_dw): ditto, and don't stuff it in session
|
|
|
|
|
| |
failures of compiling ipmib.stp and tcpmib.stp, rtable and dst fields are
deleted.
|
|
|
|
|
|
|
|
|
| |
* runtime/itrace.c (usr_itrace_init): Changed prototype to take a
task_struct instead of a pid.
* tapset-itrace.cxx (emit_module_decls): Updated usr_itrace_init() call.
* runtime/autoconf-find-task-pid.c: Removed, since only user_itrace_init()
was using it.
* buildrun.cxx (compile_pass): Removed autoconf-find-task-pid.c test.
|
|
|
|
|
|
| |
First check kprobe and utrace (did we arrive via stap?) then check
if probe arg matches mark("NAME")
* sdt.h (STAP_PROBE?_): Use STAP_GUARD for stap check, not gettid.
|
|
|
|
|
|
| |
* tapset/nfs_proc.stp: Change '?' notation to "!".
* tapset/nfsd.stp: Ditto.
* tapset/scsi.stp: Ditto.
|
| |
|
| |
|
| |
|
|
|
|
| |
* sym.c (_stp_usymbol_print): Ditto.
|
| |
|
|
|
|
| |
* sym.c (_stp_symbol_print): (Redundantly) initialize locals.
|
|
|
|
|
| |
* AUTHORS: Add David J. Wilder and Jeff Moyer.
* .mailmap: Add a real name for <wjhuang@localhost.localdomain>
|
| |
|