summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Bump copyright years to 2009Josh Stone2009-02-187-7/+7
|
* Enable dwarf expansion of @castsJosh Stone2009-02-184-35/+406
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This will iterate over the module and its CUs looking for the type definition, and then work with loc2c to dereference the pointer. * loc2c.c (c_translate_argument): Create a dummy location to start the address computation from a function parameter. * translate.cxx (base_query, dwarf_query): Move some members from base_query to dwarf_query, so the former can be more generic. Also add a constructor using a module string instead of probe parameters. (dwflpp::query_modules, dwflpp::iterate_over_modules): Use a generic base_query instead of a dwarf_query. (dwarf_cast_query): New query to scan the modules and CUs for a matching type definition, and then produce a code fragment to deref each component. (dwarf_cast_expanding_visitor): Tries to replace @casts with a function call to the result of a dwarf_cast_query. (dwflpp::declaration_resolve): Search by name instead of by die. (dwflpp::translate_components): Use the incoming vardie as the first type die, so we don't assume that attr_mem has a DW_AT_type already. (dwflpp::literal_stmt_for_pointer): Construct a C fragment that starts with a pointer argument (THIS->pointer) and dereferences each member component from there. (*_derived_probe::register_patterns): Take a session parameter instead of a match_node, so we can manipulate session-wide data. (dwarf_derived_probe::register_patterns): Add a session code filter to expand @casts with a dwarf_cast_expanding_visitor.
* Enable session-wide code filteringJosh Stone2009-02-183-0/+18
| | | | | | | | | | This will be used to hook to dwarf_builder to all functions and probes so it can attempt @cast expansion. * session.h (systemtap_session): Add a vector of update_visitors that will act as filters for all probes and functions. * elaborate.cxx (semantic_pass_symbols): Run probes and functions through each registered code filter.
* Provide dwarf module names as defaults in @cast()sJosh Stone2009-02-182-0/+18
| | | | | | * tapsets.cxx (dwarf_var_expanding_visitor::visit_cast_op): While expanding dwarf probes, provide the current module as a default to @casts without a module name.
* Add high-level support for @cast()ingJosh Stone2009-02-187-1/+182
| | | | | | | | | | | | | | | | | | This handles all of the parsing, traversal, and optimization. It doesn't actually resolve the cast yet though. * staptree.h (struct cast_op, visitor::visit_cast_op): New. * staptree.cxx (cast_op::print/visit, various visitor::visit_cast_op's): Incorporate cast_op into the basic tree operations. * parse.cxx (parser::parse_symbol): Parse @cast operator with an expression operand, type string, and optional module string. * translate.cxx (c_unparser::visit_cast_op): Error out if a @cast survives to translation. * elaborate.cxx (typeresolution_info::visit_cast_op): Error out if a @cast survives to type resolution. (symbol_fetcher::visit_cast_op): treat @casts as a symbol target (void_statement_reducer::visit_cast_op): unused @casts can be discarded, but the operand should still be evaluated.
* Use kernel stack backtrace support when availableTim Moore2009-02-116-2/+113
| | | | | Define new functions that use the kernel support to do a backtrace of other tasks than current.
* Server response is no longer signed. Passed as a zip archive instead.Dave Brolley2009-02-114-47/+56
|
* Fixed __stp_utrace_attach by always checking for mm.David Smith2009-02-112-5/+9
| | | | | | | 2009-02-11 David Smith <dsmith@redhat.com> * task_finder.c (__stp_utrace_attach): Still checks for mm after checking task's flags for PF_KTHREAD.
* Probe only calls and not inlines in functioncallcount.stpAnanth N Mavinakayanahalli2009-02-111-1/+1
|
* Merge branch 'update_visitor'Josh Stone2009-02-105-603/+595
|\ | | | | | | | | | | | | | | | | | | | | | | This brings a new update_visitor that makes it easier to traverse the parse tree and modify parts of it as necessary. I wrote this as part of my in-progress work to allow @cast() expansion, but I was able to apply it to the dwarf/etc. target variable expanders and to the optimization stages. I think the resulting code is more predictable and easier to follow... Conflicts: ChangeLog (bumped my commit dates to push dates...)
| * Simplify void_statement_reducerJosh Stone2009-02-102-94/+68
| | | | | | | | * elaborate.cxx (void_statement_reducer): Convert to an update_visitor.
| * Simplify dead_stmtexpr_removerJosh Stone2009-02-104-59/+45
| | | | | | | | | | | | * staptree.h (update_visitor::require): Add a clearok parameter for optimizing traversers to signal that they're ready for NULL back. * elaborate.cxx (dead_stmtexpr_remover): Convert to an update_visitor.
| * Simplify dead_assignment_removerJosh Stone2009-02-102-108/+21
| | | | | | | | | | | | | | | | By converting to an update_visitor, we now get full statement coverage in this optimizer for free. * elaborate.cxx (dead_assignment_remover): Convert into an update_visitor and remove its now-redundant traversal methods.
| * Expand probe variables without a deep copyJosh Stone2009-02-102-50/+53
| | | | | | | | | | | | | | * tapsets.cxx (var_expanding_copy_visitor): This struct becomes var_expanding_visitor and inherits from update_visitor instead of deep_copy_visitor. Each of the probe-type variants of this are also no longer copiers.
| * Create update_visitor for modifying treesJosh Stone2009-02-103-209/+367
| | | | | | | | | | | | | | | | | | | | | | | | | | * staptree.h (update_visitor): A new visitor to make it easier to rewrite parts of a probe or function without making a full copy. * staptree.cxx (update_visitor::*): Each child is recursed with a require() call, and then the parent returns itself with provide(). * staptree.h (deep_copy_visitor): Inherit from update_visitor to get the recursive descent while updating nodes. * staptree.cxx (deep_copy_visitor::*): Use the implicit copy constructors to copy all fields, then defer to update_visitor for the recursion. Referents are still cleared from the copies of symbols and function calls.
| * Simplify require() and provide()Josh Stone2009-02-104-186/+144
| | | | | | | | | | | | | | * staptree.h (require, provide): Simplify stack operations with less pointer magic, and move to be deep_copy_visitor members. * staptree.h (deep_copy_visitor::deep_copy): Templatize * staptree.cxx, tapsets.cxx: Refactor require/provide callers
* | added section on how to monitor polling (testsuite/profiling/timeout.stp)ddomingo2009-02-112-0/+138
| |
* | corrected author nameddomingo2009-02-111-0/+10
| |
* | corrected author nameddomingo2009-02-111-1/+1
| |
* | Remove profile.exp and profile.stp.William Cohen2009-02-103-50/+5
| |
* | Move crash.exp and crash.sh to systemtap.base directory.William Cohen2009-02-103-0/+5
| |
* | fix segv that sometimes occurs on buildok/nfs-all-probes.stp on 2.6.29ish ↵Frank Ch. Eigler2009-02-102-1/+6
| | | | | | | | kernels
* | Fixed typo in last change.David Smith2009-02-102-2/+5
| | | | | | | | | | | | | | 2009-02-10 David Smith <dsmith@redhat.com> * task_finder.c (stap_utrace_detach_ops): Fixed typo. (__stp_utrace_attach): Ditto.
* | Ignores kernel threads (by checking for PF_KTHREAD).David Smith2009-02-102-0/+31
| | | | | | | | | | | | | | | | | | 2009-02-10 David Smith <dsmith@redhat.com> * task_finder.c (stap_utrace_detach): Ignores kernel threads by checking task's flags for PF_KTHREAD. (stap_utrace_detach_ops): Ditto. (__stp_utrace_attach): Ditto.
* | BZ484506, added yum setup instructions for RHELddomingo2009-02-101-1/+15
| |
* | Merge branch 'master' of ssh://sources.redhat.com/git/systemtapddomingo2009-02-1012-45/+150
|\ \
| * | Move poll_map.exp and poll_map.stp to systemtap.base directory.William Cohen2009-02-093-0/+5
| | |
| * | process.create: fix the new_pid read orderJosh Stone2009-02-092-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * process.stp (process.create): Read the task pid *after* the task pointer is checked for errors. This is to fix a problem reported on the mailing list: http://sources.redhat.com/ml/systemtap/2009-q1/msg00403.html CC: Luis Fernando Muñoz Mejías <Luis.Fernando.Munoz.Mejias@cern.ch>
| * | Revised version of kmalloc-top in systemtap.examples.William Cohen2009-02-098-44/+139
| | |
* | | minor revisionsddomingo2009-02-091-6/+5
|/ /
* | Clean up the autoconf cachingJosh Stone2009-02-077-97/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes the stapconf caching process quite a bit more transparent. The options are now cached in a header file as #defines, and this header file is a normal build dependency instead of calling so many make $(shell ...) commands. * buildrun.cxx (compile_pass): Pull in autoconf options in a header of #defines rather than -DXXX, and make that header a build dependency. * buildrun.cxx (output_autoconf): New function to consolidate the computation of each autoconf test. * cache.cxx (add_to_cache, get_from_cache, clean_cache): Start treating the stapconf header as a first-class cached item. * cache.h: Move definitions of things only needed in cache.cxx * hash.cxx (find_stapconf_hash): Generate stapconf_name as a .h now. * main.cxx (main): Default the stapconf_name based on getpid().
* | Fold the systemtap.samples/iotask*.stp into systemtap.examples/io/iostats.stp.William Cohen2009-02-069-86/+110
| | | | | | | | Regenerate the catalog information.
* | Save kernel autoconf options in a cache fileJosh Stone2009-02-064-73/+143
| | | | | | | | | | | | | | | | | | | | We're getting enough autoconf tests now that it's a significant chunk of the build time. Adding this cache shaves several seconds off for me. * hash.cxx (find_hash): Compute a separate script-independent hash for caching autoconf values, saved in session.stapconf_path. * buildrun.cxx (compile_pass): Tweak the Makefile to read/save the autoconf values in the cache directory
* | Merge branch 'master' of ssh://sources.redhat.com/git/systemtapWilliam Cohen2009-02-065-2/+24
|\ \
| * | 2.6.29rc build fix: autoconf for proc_dir_entry->owner going awayFrank Ch. Eigler2009-02-065-2/+24
| | |
* | | Removed syscalls.stp, syscalls1.exp, and syscalls2.exp.William Cohen2009-02-064-36/+6
| | |
* | | Move symbols.exp and symbols.stp to systemtap.context directory.William Cohen2009-02-063-0/+5
|/ /
* | Make publicanize.sh executable.William Cohen2009-02-062-0/+4
| |
* | Tapset Ref Guide: corrected authorgroup cleanup perl script, added support ↵ddomingo2009-02-061-2/+8
| | | | | | | | for forced Synopsis
* | Tapset Ref Guide: formatted comments, added other values from man pageddomingo2009-02-061-131/+158
| |
* | Add contrib tag to quiet warnings.William Cohen2009-02-052-0/+5
| |
* | copyright year bumpFrank Ch. Eigler2009-02-051-2/+2
| |
* | Merge branch 'master' of ssh://sources.redhat.com/git/systemtapWilliam Cohen2009-02-056-0/+36
|\ \ | | | | | | | | | | | | Conflicts: ChangeLog
| * | PR9740/9816? - workaround for kernel valloc bugFrank Ch. Eigler2009-02-056-0/+36
| |/
* | Include PR9756 in change log.William Cohen2009-02-051-0/+1
| |
* | Correct footers for systemtap function and probe man pages.William Cohen2009-02-052-4/+8
|/
* Minor correction for signal.stp chapter.William Cohen2009-02-052-4/+7
|
* started fixing signal.stp comments for documentationddomingo2009-02-051-63/+89
|
* enter lines to wrap emddomingo2009-02-051-1/+13
|
* Merge branch 'master' of ssh://sources.redhat.com/git/systemtapddomingo2009-02-054-13/+73
|\