summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* save_stack_trace autoconf: fix typo to activate code in runtime/stack.cFrank Ch. Eigler2009-07-171-1/+1
|
* Merge branch 'master' of ssh://sources.redhat.com/git/systemtapFrank Ch. Eigler2009-07-178-1/+186
|\ | | | | | | | | | | * 'master' of ssh://sources.redhat.com/git/systemtap: Add chng_cpu.stp and migrate.stp examples. Add network/tcpipstat.stp descriptions.
| * Add chng_cpu.stp and migrate.stp examples.William Cohen2009-07-178-0/+144
| |
| * Add network/tcpipstat.stp descriptions.William Cohen2009-07-174-1/+42
| |
* | PR10410: dentry tapset, autofs4 sampleJeff Moyer2009-07-174-1/+227
|/ | | | | | | * tapset/dentry.stp: New d_path, d_name, reverse_path_walk. * .../examples/.../autofs4.*: New autofs demo. Signed-off-by: Frank Ch. Eigler <fche@elastic.org>
* PR3498 cont'd: better tolerate missing modulesFrank Ch. Eigler2009-07-171-4/+4
| | | | | * tapsets.cxx (get_{user,kern}_dw): Skip partially allocated (0-initialized) FOO_dw[] slots that may result from dwflpp::ctor exceptions.
* This SNMP group of tapsets provides probes used to count SNMP managementDavid J. Wilder2009-07-1611-1/+1805
| | | | | | | | | | | | | | | | | | | events. The probes mirror many of the SNMP statistics defined in /usr/include/linux/snmp.h. Each probe represents a single SNMP statistic or MIB. Each of the probe's handler is called when system performs an operation that would alter the associated statistic. Along with each probe is defined an indexed set of counters used to record probe hits. The probe handlers call a user supplied callback functions to determine which counter to alter. The user's callback should returns a key value that will be used to index the counter. For example a callback could return a unique value for each socket. This would results in a separate counter being used for each socket. tcpipstat.stp shows how snmp tapsets could be used. Tcpipstat collects and displays network statistics related to individual TCP sockets or groups of sockets. The statistics that are collected are simmer to that of the command netstat -s, only sorted and grouped by individual sockets. Signed-off-by: David Wilder <dwilder@us.ibm.com>
* PR10398 DW_OP_call_frame CFA support doesn't work for prelink shared libs.Mark Wielaard2009-07-161-3/+40
| | | | | | | * dwflpp.cxx (translate_location): Call get_cfa_ops with relative pc plus module bias. (literal_addr_to_sym_addr): Add verbose logging. (get_cfa_ops): Adjust pc for returned bias. Add verbose logging.
* Include elfutils/version.h in loc2c-test.Mark Wielaard2009-07-161-0/+3
| | | | * loc2c-test.c: Include elfutils/version.h when available.
* BUG! "yes" breaks ustack PR10323 was fixed a while ago, remove comment.Mark Wielaard2009-07-161-1/+1
|
* PR5930: Address-op for $target and @cast membersJosh Stone2009-07-1515-2/+100
| | | | | | | | | | | | | | | | This allows the '&' operator to get the address of @cast and $target variable expressions. * staptree.h (target_symbol): add addressof field * staptree.cxx (target_symbol::print): print '&' for addressof (cast_op::print): ditto * parse.cxx (parser::parse_value): allow '&' prefix on $target/@cast * dwflpp.cxx (dwflpp::translate_final_fetch_or_store): allow taking the computed address without actually doing a final fetch. * tapset* (*::visit_target_symbol): throw errors for $vars w/o addresses * testsuite/systemtap.base/cast.stp: add &@cast test * testsuite/semok/target_addr.stp: test '&' on different member types * testsuite/semko/target_addr?.stp: test failure on bitfields/registers
* Update for RHEL 5.4William Cohen2009-07-151-1/+1
|
* Merge branch 'master' of ssh://sources.redhat.com/git/systemtapWilliam Cohen2009-07-154-23/+112
|\
| * utrace_syscall_args.stp makes sure open syscall is from target pid.David Smith2009-07-151-1/+1
| | | | | | | | | | * testsuite/systemtap.base/utrace_syscall_args.stp: Makes sure the open syscall is from the target pid.
| * Implemented ring_buffer iterators.David Smith2009-07-152-21/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * runtime/transport/ring_buffer.c (_stp_ring_buffer_empty_cpu): New function. (_stp_ring_buffer_empty): Ditto. (_stp_ring_buffer_iterator_increment): Ditto. (_stp_tracing_wait_pipe): Calls _stp_ring_buffer_empty() instead of ring_buffer_empty(). (_stp_peek_next_event): Looks at iterators first. (_stp_find_next_event): Calls _stp_ring_buffer_empty_cpu() and increments iterator. (_stp_data_read_trace): Opens and closes ring_buffer iterators. (_stp_data_poll_trace): Calls _stp_ring_buffer_empty(). (__stp_relay_wakeup_timer): Ditto. * runtime/transport/control.c (_stp_ctl_write_cmd): Increased level required to get a debug print.
| * testsuite rpm package should depend on systemtap-sdt-develMark Wielaard2009-07-151-1/+1
| | | | | | | | * systemtap.spec (testsuite): Require systemtap-sdt-devel.
* | Add desciption of tracepoint event.William Cohen2009-07-151-0/+26
| |
* | Add description of dropwatch to the examples.William Cohen2009-07-152-0/+115
|/
* PR10399 dtrace should obey prefix install pathMark Wielaard2009-07-153-1/+6
| | | | | | | * dtrace: Renamed to... * dtrace.in: Add -I@prefix/include to gcc invocation. * configure.ac (AC_CONFIG_FILES): List dtrace. * configure: Regenerated.
* PR10388 Support DW_OP_call_frame_cfa.Mark Wielaard2009-07-155-16/+115
| | | | | | | | | | | | | | | | | | Depends on elfutils 0.142 cfi support. * loc2c.h (c_translate_location): Take (optional) Dwarf_Op *cfa_ops. * loc2c.c (translate): Recognize DW_OP_call_frame_cfa. (location_from_address): Take cfa_ops, examine fb_ops, if it is DW_OP_call_frame_cfa, pass cfa_ops to translate instead. (location_relative): Take cfa_ops, pass to location_from_address. (c_translate_location): Take cfa_ops, pass to location_from_address. * loc2c-test.c (handle_variable): Take cfa_ops, pass to c_translate_location when needed. (main): Fetch cfa_ops, pass to handle_variable. * dwflpp.h (struct dwflpp): Add new method get_cfa_ops. * dwflpp.cxx: Include elfutils/version.h. (translate_location): Fetch cfa_ops when necessary. (get_cfa_ops): New method.
* PR4166: Allow array-like indexing on pointersJosh Stone2009-07-144-7/+39
| | | | | | | * dwflpp.cxx (dwflpp::translate_components): let pointers get treated the same as arrays, and add a final DIE dereference for array access. * loc2c.c (c_translate_array): tolerate pointer types * testsuite/systemtap.base/pointer_array.*: new test
* tapsets.cxx doesn't need loc2c.h. All done through dwflpp.cxx now.Mark Wielaard2009-07-141-1/+0
| | | | * tapsets.cxx: Remove loc2c.h include.
* Remove -O[0123s] gcc optimization flags for gcc pass 4 speedups again.Mark Wielaard2009-07-146-57/+7
| | | | | | | | | | | | | We cannot guarantee that (un)optimized code compiles and/or generates fully functional code, so don't tempt the user to try it out. * session.h (struct systemtap_session): Remove gcc_flags string field. * hash.cxx (find_script_hash): Don't add gcc_flags. * main.cxx (usage): Remove -O[0123s] documentation. (main): Don't use gcc_flags. * buildrun.cxx (compile_pass): Don't add gcc_flags to EXTRA_CFLAGS. * stap1.in: Remove -O[0123s] documentation. * testsuite/systemtap.base/cache.exp: Remove tests for -O[0123s].
* Make kernel opt-level the default again.Mark Wielaard2009-07-144-5/+13
| | | | | | | * main.cxx (main): Default gcc_flags to kernel opt-level (empty). * buildrun.cxx (compile_pass): Add -freorder-blocks back, document choices. * stap.1.in: Document new default opt-level. * testsuite/systemtap.base/cache.exp: Adjust for new caching results.
* PR10075: emit address in probe registration logicwenji2009-07-121-2/+2
| | | | | * tapsets.cxx(dwarf_derived_probe_group::emit_module_init, kprobe_derived_probe_group::emit_module_init): print address.
* Add -O[0123s] gcc optimization flags for gcc pass 4 speedup.Mark Wielaard2009-07-116-2/+53
| | | | | | | | | | * session.h (struct systemtap_session): Add gcc_flags string field. * main.cxx (usage): Document -O[0123s]. (main): Default gcc_flags to -O0. Add O:: to getopt_long. Handle case 'O' to set gcc_flags. * buildrun.cxx (compile_pass): Add gcc_flags to EXTRA_CFLAGS. * stap1.in: Add -O[0123s] documentation. * testsuite/systemtap.base/cache.exp: Add tests for -O[0123s].
* PR3523 was fixed, enable -t cache test case.Mark Wielaard2009-07-111-3/+2
| | | | * testsuite/systemtap.base/cache.exp: Enable -t tests.
* Don't accidentially use user space ntohs function.Mark Wielaard2009-07-111-2/+5
| | | | | | | | | The definition of ntohs comes from user space include headers netinet/in.h which could define it as function instead of macro. So use builtin kernel be16_to_cpu instead. * tapset/aux_syscalls.stp (_struct_sockaddr_u): Define and use _stp_ntohs as be16_to_cpu.
* Fix source_loc ostream operator << representation.Mark Wielaard2009-07-101-1/+1
| | | | * parse.cxx (operator << (ostream&,const source_loc&)): Add loc.file->name.