summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* 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
|
* PR10602: improved fix for REG_IP lvalueFrank Ch. Eigler2009-09-092-48/+26
| | | | | | | | | * runtime/regs.h (SET_REG_IP): Define. (REG_IP_LVALUE): Undefine. * tapsets.cxx (*::emit_module_decls): Use SET_REG_IP() instead of old LVALUE? conditional. Written by jkenisto & jistone.
* Merge branch 'master' of ssh://sources.redhat.com/git/systemtapDavid Smith2009-09-091-2/+4
|\
| * Fix relay_old implementation of fsize_max and fnum_max.Masami Hiramatsu2009-09-091-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | With old relayfs, out_fd is used only when non-bulk mode. However, open_oldoutfile and open_relayfs_files open files with fopen and set only percpu_tmpfile. This will cause a problem with -S option, that out_fd will be closed when the file size reaches fsize_max and new fd will be opened only on percpu_tmpfile. So, out_fd should be synchronized with percpu_tmpfile. * runtime/staprun/relay_old.c (open_oldoutfile): Set fd of output file to out_fd[cpu]. (open_relayfs_files): Ditto.
* | Removed unneeded casts.David Smith2009-09-091-5/+5
|/ | | | | | | * runtime/transport/ring_buffer.c (_stp_event_to_user): Removed unneeded cast. (_stp_data_write_reserve): Ditto. (_stp_data_write_commit): Ditto.
* PR10524: brag in NEWSFrank Ch. Eigler2009-09-091-0/+3
|
* PR10604: check availability for example test casesWenji Huang2009-09-089-10/+38
| | | | | | | | | | | | * testsuite/systemtap.examples/check.exp: Handle with test_support. * testsuite/systemtap.examples/io/iostat-scsi.meta: Add meta-tag test_support. * testsuite/systemtap.examples/memory/mmanonpage.meta: Ditto. * testsuite/systemtap.examples/memory/mmfilepage.meta: Ditto. * testsuite/systemtap.examples/memory/mmreclaim.meta: Ditto. * testsuite/systemtap.examples/memory/mmwriteback.meta: Ditto. * testsuite/systemtap.examples/network/autofs4.meta: Ditto. * testsuite/systemtap.examples/network/dropwatch.meta: Ditto. * testsuite/systemtap.examples/process/schedtimes.meta: Ditto.
* PR10617: make "make uninstall" workFrank Ch. Eigler2009-09-082-5/+3
| | | | | * Makefile.am (uninstall-local): Don't rm libexecdir but remove doc/exmaples. * Makefile.in: Regenerated.
* PR10524: reduce massive-uprobe script modules' .data consumptionFrank Ch. Eigler2009-09-085-127/+264
| | | | | | | | | | | | | | | | | | | | | | | | | | | The general approach is to rip out task_finder_tgt's from all over the place (including the unwindsym vmcbs, and the stap_uprobe_specs), and instead have a small handful of them: one for all unwindsyms, and one per abstract probed process (PID or NAME). These are in turn shared by all new stap_unwind_specs by index. Before: probe process("./stap").function("*") -rw-r--r--. 1 fche users 11775283 2009-09-08 20:26 /var/tmp/fche/systemtap/cache/96/stap_96c0479d674db55ec98d8a8750a790e7_7989596.ko text data bss dec hex filename 445158 8351944 4306472 13103574 c7f1d6 /var/tmp/fche/systemtap/cache/96/stap_96c0479d674db55ec98d8a8750a790e7_7989596.ko After: (Note how data shrank, though text gained a bit in const-init-data.) -rw-r--r--. 1 fche users 4021569 2009-09-08 20:27 /var/tmp/fche/systemtap/cache/e4/stap_e46e88634efd850b1586e81c231c239a_8058419.ko text data bss dec hex filename 1896511 2192 4324808 6223511 5ef697 /var/tmp/fche/systemtap/cache/e4/stap_e46e88634efd850b1586e81c231c239a_8058419.ko * tapsets.cxx (uprobe_derived_probe_group): Rewrite emit_module_decls, and adjust emit_module_init. * runtime/sym.c (_stp_sym_init): Initialize unwindsyms-shared vmcb. * runtime/sym.h (_stp_module): Remove *vmcb field. * translate.cxx (emit_module_init, dump_unwindsyms): Adapt. * translate.h (assert_0_indent): Flush output before possibly assert-failing.
* fix typo: KERN_ERROR -> KERN_ERR from last commitFrank Ch. Eigler2009-09-081-1/+1
|
* PR10575: emit KERN_ERRORs on transport control message failuresFrank Ch. Eigler2009-09-081-0/+3
| | | | | | | | Suspecting that some kernel->user control messages may be getting lost, let's more robustly log these occurrences. * runtime/transport/control.c (_stp_ctl_send): printk(KERN_ERROR) instead of ignoring errors.
* task_finder diagnostics: standardize on STP_DEBUG_PRINTKFrank Ch. Eigler2009-09-081-8/+0
| | | | * io.c (DEBUG_TASK_FINDER_PRINTK): Remove conditional.
* task_finder diagnostics: emit start_task_finder dbug message at end of fn.Frank Ch. Eigler2009-09-081-2/+1
| | | | | | * task_finder.c (stap_start_task_finder): Emit _stp_dbug message at end rather at beginning, so printed utrace-engine attach counts reflect status at end of initialization rather than at beginning.
* runtime diagnostics: remove ANSI goo, add -DSTAP_DEBUG_PRINTK option.Frank Ch. Eigler2009-09-081-1/+8
| | | | | | * runtime/io.c (_stp_vlog): Don't put ansi highlighting into debugging messages. #if STAP_DEBUG_PRINTK, direct all diagnostics to appropriate printk channel instead of runtime trace buffer.
* Test user markers set in a shared object.Stan Cox2009-09-081-3/+55
| | | | * sdt_misc: Add -shared section.
* documentation: tweak package description strings for -client / -server pkgsFrank Ch. Eigler2009-09-081-6/+7
|
* Merge branch 'master' of git://sources.redhat.com/git/systemtapDave Brolley2009-09-082-8/+16
|\
| * Clean up iostat-scsi.stp and add to the regular testing.William Cohen2009-09-082-8/+16
| |
* | Warn if the pid specified by -x does not belong to an unprivileged user.Dave Brolley2009-09-081-1/+1
|/
* testsuite: reduce verbosity of (deprecated?) nodwf07.stp testFrank Ch. Eigler2009-09-081-1/+1
| | | | | * testsuite/semko/nodwf07.stp: Add >/dev/null at end, since stap -p2 for this script generates turbomucho text.
* HACKING: add brief git usage blurbFrank Ch. Eigler2009-09-081-0/+12
|
* testsuite: fix buildok test permissionsFrank Ch. Eigler2009-09-083-0/+0
|
* packaging: make -client and -system prereq zip & unzipFrank Ch. Eigler2009-09-081-0/+2
|
* PR4186 cont'd: Squash both EM_PPC and EM_PPC64 to powerpc.Mark Wielaard2009-09-081-4/+1
| | | | | * tapsets.cxx (validate_module_elf): Set expect_machine = "powerpc" for both EM_PPC and EM_PPC64 to match session architecture set in main.
* packaging: make -testsuite prereq /usr/bin/whichFrank Ch. Eigler2009-09-071-1/+1
|
* bz10475.exp: Use filp_open which has a constant const char argument for test.Mark Wielaard2009-09-071-4/+3
| | | | | | | | | For some reason the do_filp_open const char *pathname argument has changed its name between different kernel versions. Luckily filp_open has a cont char *filename argument that is constant between versions (the test needs a const char* argument to do an array operation on). * testsuite/semok/bz10475.stp: Use filp_open instead of do_filp_open.
* PR10613 sys32_ustat is renamed compat_sys_ustat in 2.6.30 kernel.Mark Wielaard2009-09-072-2/+25
| | | | | | | | | | Note that the new compat_sys_ustat is asmlinkage and has a differently named argument for the user struct. * tapset/syscalls2.stp (syscall.ustat32): Add compat_sys_ustat variant. (syscall.ustat.return): Likewise. * tapset/nd_syscalls2.stp (nd_syscall.ustat32): Likewise. (nd_syscall.ustat.return): Likewise.
* Fix build-id check for relocatable kernelEugeniy Meshcheryakov2009-09-072-3/+5
| | | | | | Save offset of build id relative to _stext instead of absolute address for kernel and apply relocations at run-time. This fixes Debian bug #545277 (http://bugs.debian.org/545277).
* Merge branch 'master' of ssh://sources.redhat.com/git/systemtapDave Brolley2009-09-041-0/+1
|\
| * Get tcpdumplike.stp tested on "make check"William Cohen2009-09-041-0/+1
| |
* | rc = 0 should be return 0 for database not ownder by root.Dave Brolley2009-09-041-1/+1
| |
* | Check for bad address range or size in lookup_bad_addr.Dave Brolley2009-09-041-0/+4
|/
* Merge branch 'master' of ssh://sources.redhat.com/git/systemtapDave Brolley2009-09-0317-185/+271
|\
| * Add --unprivileged to the module hashJosh Stone2009-09-031-0/+1
| | | | | | | | * hash.cxx (find_script_hash): Add s.unprivileged.
| * Merge branch 'master' of sourceware.org:/git/systemtapJosh Stone2009-09-039-57/+97
| |\