summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* PR10458. User actual breakpoint address for [ku]probe[ret].Mark Wielaard2009-07-313-2/+68
| | | | | | | | | | | | | | | | | | | | Setup the pt_regs REG_IP to the actual breakpoint address before entering a probe handler for [ku]probe[ret] (and restore it after returning). This helps getting symbol resolution and backtraces more correct and makes it more conform with other probe handlers like the iutrace and profile timers that also provide pt_regs (which untill now exhibited off-by-one errors while unwinding). * tapsets.cxx (dwarf_derived_probe_group::emit_module_decls): Setup REG_IP correctly before calling enter_kprobe_probe and enter_kretprobe_probe, and restore afterwards. (uprobe_derived_probe_group::emit_module_decls): Likewise for enter_uprobe_probe and enter_uretprobe_probe. (kprobe_derived_probe_group::emit_module_decls): Likewise for enter_kprobe2_probe and enter_kretprobe2_probe. * runtime/unwind/i386.h (arch_unw_init_frame_info): Initialize info->call_frame to zero. * runtime/unwind/x86_64.h (arch_unw_init_frame_info): Likewise.
* Relax the type-matching in the cmd_parse13 testJosh Stone2009-07-301-1/+1
| | | | | Dwarf probes are now printing their $target variables in -L, so we need to handle more than just stap types in the regular expression.
* dtrace.in: Don't interpret -h -o FILE, just use the filename as is.Stan Cox2009-07-301-8/+9
|
* PR10459. Disable all warning messages on -w.Mark Wielaard2009-07-304-27/+35
| | | | | | | | | | | | | * 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.
* Remove unused result_string from ustack.tcl.Mark Wielaard2009-07-301-9/+0
| | | | * testsuite/systemtap.exelib/ustack.tcl: Remove result_string.
* Enable variable listing (-L) for uprobesJosh Stone2009-07-291-0/+69
| | | | | | | | | 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
* Enable variable listing (-L) for dwarf probesJosh Stone2009-07-291-0/+69
| | | | | | | | | 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
* Use a real session flag for -LJosh Stone2009-07-292-10/+14
| | | | | | | | | 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
* Break up dwarf_var_expanding_visitor::visit_target_symbolJosh Stone2009-07-291-361/+379
| | | | | | | | | 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
* PR6978: support $$parms for process.syscallWenji Huang2009-07-283-41/+125
| | | | | | * 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.
* PR10453: Fix crash.exp not to refer removed fileMasami Hiramatsu2009-07-281-1/+1
| | | | | * systemtap.base/crash.exp: Use command-line script instead of removed script file.
* Improves functionality on rawhide (2.6.31-rcX) kernels.David Smith2009-07-281-65/+113
| | | | | | | | | | | | | | | * 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.
* Install yum-utils when yumdownloader is missing first in stapprep.sh.Mark Wielaard2009-07-281-0/+4
| | | | | * doc/SystemTap_Beginners_Guide/en-US/extras/stapprep.sh: Check whether yumdownloader is already available and install yum-utils if not.
* Support for presenting multiple graphsTim Moore2009-07-2816-839/+1337
| | | | | | | | | | | | | | | | | | | | * 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 fixupsTim Moore2009-07-281-1/+1
| | | | * grapher/grapher.cxx (main): Fix problems with call to execlp.
* Templatize GraphDataTim Moore2009-07-286-70/+146
| | | | | | | | | | | | | | | | * 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
* run stap from grapherTim Moore2009-07-281-2/+32
| | | | | * grapher/grapher.cxx (main): Start stap + script from program if supplied as an argument.
* Incorporate grapher widget in real applicationTim Moore2009-07-281-11/+78
| | | | | * grapher/grapher.cxx (GrapherWindow): New class. (main): Instantiate GrapherWindow.
* Add CSV syntax support to the grapherTim Moore2009-07-283-10/+78
| | | | | | * grapher/GraphData.hxx (CSVData): new class * grapher/GraphData.cxx (commaSplit): new function (ioCallback): handle CSV definition and data
* Refactor StapParser into its own filesTim Moore2009-07-285-90/+123
| | | | | | * grapher/StapParser.cxx: new file * grapher/StapParser.hxx: new file * grapher/grapher.cxx: Use external StapParser class.
* Tweaks to grapher axis drawingTim Moore2009-07-281-7/+15
| | | | | * grapher/GraphWidget.cxx (on_expose_event): Don't draw axis labels that would overlap others.
* restore newlines to grapher script headerTim Moore2009-07-281-4/+4
| | | | * testsuite/systemtap.examples/general/grapher.stp: Restore newlines.
* PR6905: tweak WILDCARD and RANGE line type for process.statementWenji Huang2009-07-274-4/+64
| | | | | | | | * 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.
* Mention where we looked and if we didn't find line info on statement probe.Mark Wielaard2009-07-271-0/+3
| | | | | * tapsets.cxx (query_cu): When statement check fails and no line info available, mention the CU had no line info.
* Explicitly link with nss3 nspr4 and plc4 when used.Mark Wielaard2009-07-253-423/+576
| | | | | | | | | | | | 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.
* PR6898: support $$vars and $$parms for markerWenji Huang2009-07-232-14/+81
| | | | | * tapset-mark.cxx (visit_target_symbol_context): Add $$vars/$$parms. * testsuite/systemtap.base/marker.exp : Test case.
* Workaround cfa_nops not being needed on earlier elfutils.Mark Wielaard2009-07-232-2/+2
| | | | | * dwflpp.cxx (get_cfa_ops): Only define cfa_nops if _ELFUTILS_PREREQ(0,142). * loc2c-test.c (main): Likewise.
* Adjust to new elfutils dwarf_frame_cfa interface.Mark Wielaard2009-07-232-4/+6
| | | | | * dwflpp.cxx (get_cfa_ops): Call dwarf_frame_cfa with cfa_nops size_t. * loc2c-test.c (main): Likewise.
* Make ring_buffer transport work on new kernels.David Smith2009-07-221-13/+44
| | | | | | | * 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.
* PR10427 Multiple tracepoints OK!Mark Wielaard2009-07-221-1/+3
| | | | | * testsuite/systemtap.base/tracepoints.stp: Only print once, when enough hits, or at the begin probe.
* Use the query paradigm for resolving sdt probesJosh Stone2009-07-212-377/+384
| | | | | | | | | | | | | | | | 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
* Remove unused 'sess' from dwarf_query ctorJosh Stone2009-07-211-6/+4
|
* PR10421: Update task.stp for 2.6.31Wenji Huang2009-07-211-3/+9
| | | | * tapset/task.stp (pid2task): Use find_get_pid for 2.6.31.
* PR10182 systemtap.spec should try to clean up old leftover uprobes module.Mark Wielaard2009-07-211-0/+2
| | | | systemtap.spec (post,preun): Call rmmod uprobes.
* Save module when dwflpp setup_user.Mark Wielaard2009-07-211-0/+1
| | | | * dwflpp.cxx (setup_user): Set module to mod.
* PR10424: Consider each tracepoint header separatelyJosh Stone2009-07-205-52/+83
| | | | | | | | | | | | | | | | 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.
* Make sure that non-existent files still affect hashingJosh Stone2009-07-201-6/+6
| | | | | | | 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
* Allow dwflpp to take a vector of module namesJosh Stone2009-07-202-21/+38
| | | | | | | | | 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.
* Return hash module values directly as stringsJosh Stone2009-07-204-20/+19
| | | | | | | | * 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
* Fixes for 2.6.31. There are some changes in sk_buff structure those causeDavid J. Wilder2009-07-202-10/+81
| | | | | failures of compiling ipmib.stp and tcpmib.stp, rtable and dst fields are deleted.
* Fixed PR 10386 by removing the need to convert a pid to a task.David Smith2009-07-204-18/+6
| | | | | | | | | * 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.
* * tapsets.cxx (dwarf_builder::probe_table::convert_probe):Stan Cox2009-07-202-59/+54
| | | | | | 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.
* Tweak kernel or module resident probeWenji Huang2009-07-193-132/+132
| | | | | | * tapset/nfs_proc.stp: Change '?' notation to "!". * tapset/nfsd.stp: Ditto. * tapset/scsi.stp: Ditto.
* minor typoDon Domingo2009-07-201-1/+1
|
* revising for brew buildDon Domingo2009-07-202-2/+32
|
* minor revisions to languageDon Domingo2009-07-201-9/+19
|
* PR6961: gcc warning tweakFrank Ch. Eigler2009-07-171-3/+4
| | | | * sym.c (_stp_usymbol_print): Ditto.
* regenerate example indexesFrank Ch. Eigler2009-07-174-1/+51
|
* PR6961: gcc warning tweakFrank Ch. Eigler2009-07-171-3/+4
| | | | * sym.c (_stp_symbol_print): (Redundantly) initialize locals.
* Update AUTHORS and .mailmapJosh Stone2009-07-172-0/+3
| | | | | * AUTHORS: Add David J. Wilder and Jeff Moyer. * .mailmap: Add a real name for <wjhuang@localhost.localdomain>