summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Create usymname and usymdata variant that trigger STP_NEED_VMA_TRACKER.Mark Wielaard2009-04-075-5/+72
| | | | | | | | | * tapset/context-symbols.stp (syname, symdata): Pass NULL for kernel address. * tapset/ucontext-symbols.stp: New file defining usymname and usymdata. * testsuite/systemtap.context/usymbols.exp: Use usymname, remove STP_NEED_VMA_TRACKER hack. * testsuite/buildok/usymdata.stp: New test. * testsuite/buildok/usymname.stp: Likewise.
* PR 9940. Rearchitected task_finder.c a bit.David Smith2009-04-073-309/+281
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2009-04-07 David Smith <dsmith@redhat.com> PR 9940. * tapsets.cxx (emit_vma_callback_probe_decl): Initialized new callbacks. (utrace_derived_probe_group::emit_probe_decl): Ditto. (uprobe_derived_probe_group::emit_module_decls): Uses new callback. Makes sure mapping is executable before trying to set a probe in it. (itrace_derived_probe_group::emit_module_init): Calls _stp_sym_init(). (utrace_derived_probe_group::emit_module_init): Ditto. (uprobe_derived_probe_group::emit_module_init): Ditto. * runtime/sym.c: Moved task_finder_vma.c inclusion here from task_finder.c. (_stp_sym_init): New function. (_stp_tf_mmap_cb): New function that replaces _stp_tf_vm_cb. (_stp_tf_munmap_cb): Ditto. * runtime/task_finder.c: Removed task_finder_vma.c inclusion. Split vm_callback into 3 callbacks: mmap_callback, munmap_callback, and mprotect_callback. (stap_register_task_finder_target): Initializes new events variables for the new callbacks. (__STP_TASK_VM_BASE_EVENTS): No longer specifies syscall entry events. (__stp_call_mmap_callbacks): New function. (__stp_call_mmap_callbacks_with_vma): Ditto. (__stp_call_munmap_callbacks): Ditto. (__stp_call_mprotect_callbacks): Ditto. (__stp_call_vm_callbacks): Removed. (__stp_utrace_task_finder_target_quiesce): Calls __stp_call_mmap_callbacks() instead of __stp_call_vm_callbacks(). (__stp_utrace_task_finder_target_syscall_entry): Removed function. (__stp_utrace_task_finder_target_syscall_exit): Reports raw mmap()/mprotect()/munmap() events.
* PR10026: Read marker/tracepoint args directlyJosh Stone2009-04-065-59/+43
| | | | | | | | | | We already stash the context variables for markers and tracepoints into the locals for the probe body, but then we were using separate functions to read those locals for each particular probe body. This patch instead teaches the unparser how to emit the local name directly for those context variables. The resulting code from the translator is much simpler now.
* PR10037: add target_symbol token to $context error messagesFrank Ch. Eigler2009-04-061-64/+81
| | | | | * tapsets.cxx (many foo-translate-bar): Add const target_symbol* parameter, for ->tok use when constructing semantic_errors.
* Run autoreconfEugeniy Meshcheryakov2009-04-061-3/+6
|
* Make install-scripts depend on install-binSCRIPTSEugeniy Meshcheryakov2009-04-061-1/+2
| | | | This is needed for running make with -j. Fixes Debian bug #522800.
* Amend process/errsnoop.stp shebangEugene Teo2009-04-051-1/+2
|
* Remove extra commas in SEE ALSO sectionsEugeniy Meshcheryakov2009-04-0411-11/+11
|
* Make examples executableEugeniy Meshcheryakov2009-04-042-0/+0
|
* PR5163: Assign need_uprobes during pass-2Josh Stone2009-04-031-2/+4
| | | | | | We were doing this in pass-3, which means it was never set for cached runs, and so staprun didn't get the -u flag. Now need_probes is set as soon as a uprobe_derived_probe is saved into the session in pass-2.
* PR10032: Trigger cleanup after relay thread errorsJosh Stone2009-04-032-10/+25
| | | | | | When the relay threads encounter an error, they now send SIGTERM to the rest of the process before the thread exit, so we get a clean shutdown. For EPIPE in particular, error messages are also suppressed.
* Correct column heading from uid to pid.William Cohen2009-04-031-1/+1
|
* Describe the ansi_colors.stp and ansi_colors2.stp. Label tables appropriately.William Cohen2009-04-038-7/+82
|
* new process/errsnoop.stp sample scriptEugene Teo2009-04-036-11/+105
|
* Make ansi_colors2.stp script executableEugene Teo2009-04-031-0/+0
|
* Update scripts to use the new ANSI tapsetEugene Teo2009-04-033-19/+28
| | | | | | This updates the example scripts to use the new ANSI escape sequences tapset. It also adds the copyright header that was missing in ansi_colors.stp for a long time.
* New ANSI escape sequences tapsetEugene Teo2009-04-032-0/+101
| | | | | | | This adds a new tapset for ANSI escape sequences. It is based on an existing tapset that was written by Masami Hiramatsu for the stapgames project. This also adds a version of ansi_color.stp script that displays other attributes other than the bold effect.
* make skip-badvars warning message sensitive to -w suppressionFrank Ch. Eigler2009-04-031-2/+3
|
* Improvements to errno tapsetEugene Teo2009-04-031-3/+11
| | | | | | This adds an errno_p() function that will return an absolute errno if it is valid, or zero if it is not. It also simplifies the if statement in the errno_str() function.
* Add a .gitignore for uprobesJosh Stone2009-04-021-0/+7
|
* Really fix run-stap this time, I promise!Josh Stone2009-04-025-55/+35
|
* Fix strftime format bugMasami Hiramatsu2009-04-021-3/+6
| | | | | This fixes bugs in strftime-subset function. This modifies %C, %l and %j to fit the output of date command.
* Fix a bug in file size limitation code.Masami Hiramatsu2009-04-022-3/+3
| | | | | | | | | This fixes a bug in stapio, which checks written data size and switches new file when it exceeds a limit. The problem is that written-data-size counter ignores the first written-data size when switching files. So, actual file size always exceeds the limit. This changes stapio to initialize written-data-size counter with the size of the data which will be written in new file.
* Reorder includes so regs.c and regs-ia64.c included before task_finder.c.William Cohen2009-04-022-2/+2
|
* Revert "runtime/syscall.h: Forward declare __ia64_fetch_register."William Cohen2009-04-021-3/+0
| | | | This reverts commit 49be62cc7130e60947bbae90b6bf177e173c8b29.
* runtime/syscall.h: Forward declare __ia64_fetch_register.Mark Wielaard2009-04-021-0/+3
|
* Disable ccache during kernel module buildsJosh Stone2009-04-021-0/+6
| | | | | | | | Our module builds always have a 0% ccache hit rate, because the compiler commands always include the randomized tmpdir. Thus, I'm setting CCACHE_DISABLE=1 so ccache never saves these one-use objects. (Besides, we already have our own caching in place for this stuff...)
* Rewrite stmt_rel.exp to only rely on -l output.Stan Cox2009-04-022-77/+38
| | | | * testsuite/systemtap.base/stmt_rel.exp: Rewrite.
* PR6580: Implement symname, symdata and modname context functions.Mark Wielaard2009-04-027-16/+98
| | | | | | | | | | | | | | | | | | This adds a couple of the suggested context/stack revamp functions from PR6580. In particular it replaces the symbolname() function that sneaked in with the pr6866 branch merge with the suggested symname(). * runtime/sym.c (_stp_mod_sec_lookup): Make section optional. (_stp_symbol_snprint): Provide a way to get optional module info. * tapset/context-symbols.stp: Replace symbolname() with symname(), add modname() and symdata(). (probemod): Implement pc based fallback. * tapset/context-unwind.stp (caller): Adjust for _stp_symbol_snprint change. * testsuite/systemtap.context/usymbols.exp: Use new symname. * testsuite/buildok/modname.stp: New test. * testsuite/buildok/symdata.stp: Likewise. * testsuite/buildok/symname.stp: Likewise.
* itrace.exp: s/utrace_support_found/utrace_p/Mark Wielaard2009-04-021-1/+1
|
* PR9995: Test for [installtest_p] && [utrace_p].Mark Wielaard2009-04-021-2/+2
|
* Check for utrace in usymbols.exp.Mark Wielaard2009-04-021-2/+3
|
* Make task_finder.c compiler if ! defined (CONFIG_UTRACE).Mark Wielaard2009-04-021-2/+28
| | | | | | | * runtime/task-finder.c: If ! defined (CONFIG_UTRACE) define dummy noop API for sym.c consisting of struct stap_task_finder_target, stap_add_vma_map_info, stap_remove_vma_map_info and stap_find_vma_map_info.
* PR10019: --skip-badvars to suppress run-time memory errors tooFrank Ch. Eigler2009-04-014-1/+15
| | | | | | | | * NEWS: Note this change. * hash.cxx (find_script_hash): Add s.skip_badvars into hash. * translate.cxx (translate_pass): Emit STP_SKIP_BADVARS. * runtime/loc2c-runtime.h (DEREF_FAULT, STORE_DEREF_FAULT): Provide dummy implementation if STP_SKIP_BADVARS.
* Fix the magic run-stap wrappers even moreJosh Stone2009-04-016-23/+19
|
* PR4105: removing redundant buildok/twentysix.stp testFrank Ch. Eigler2009-04-013-9/+0
|
* Merge branch 'master' of ssh://sources.redhat.com/git/systemtapRoland McGrath2009-04-0127-322/+526
|\
| * introduce [utrace_p] as dejagnu check for utrace presence in kernelFrank Ch. Eigler2009-04-0111-91/+48
| | | | | | | | | | | | * testsuite/lib/systemtap.exp: Define here. * testsuite/systemtap.*/*.exp: Use it here. Eliminate duplicated utrace_support_present logic.
| * Move testcase itrace3's warning into expectJosh Stone2009-04-011-1/+1
| | | | | | | | | | | | As it was, the ATTENTION was causing expect mismatches even when the test worked fine. The warning is served just as well from the expect script before starting the test.
| * Add insn.block testcase to itrace.exp in testsuiteMaynard Johnson2009-04-011-0/+31
| | | | | | | | | | | | | | | | | | | | Earlier today, I posted a runtime patch for the insn.block probe point. Once that patch is committed, the insn.block probe can be safely tested on any architecture. The attached patch adds such a testcase to the testsuite. Regards, -Maynard
| * Fix for insn probe: Call arch_has_*_step() prior to calling utrace_controlMaynard Johnson2009-04-011-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The attached patch is version 2 for the problem I reported earlier today. Frank, is this more what you had in mind? With this patch, there's no need for the user to look at the system log. Error messages are sent to stderr: ERROR: insn probe init: arch does not support block step mode ERROR: probe process("/test").function("doit1@/test.c:22").return registration error (rc -1) -Maynard
| * Revert "Fix runtime/itrace.c to call arch_has_*_step() prior to calling ↵Josh Stone2009-04-011-13/+0
| | | | | | | | | | | | utrace_control" This reverts commit 489afa702639fd10e9756795bd516d939766247d.
| * Fix runtime/itrace.c to call arch_has_*_step() prior to calling utrace_controlMaynard Johnson2009-04-011-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As Roland pointed out in his Mar 31 reply to a posting of mine (subject: Re: Testing insn.block probe point uncovers possible utrace bug), utrace_control() documents that the caller must ensure that arch_has_single_step and arch_has_block_step are defined before trying to use those step modes. The attached patch addresses that issue. I've tested this patch on x86_64 arch, and a block step test runs successfully, since block step is supported on that arch. Testing on ppc64 arch, the test fails as expected (since block step is not supported on ppc64 yet) with: "ERROR: callback for <pid> failed: 1" which is sent to stdderr and "usr_itrace_init: arch does not support block step mode" which is sent to the system log. This isn't the most user-friendly way of surfacing an error. Perhaps the stap runtime could have a set of defined return codes that would be mapped to strings so the user can get an idea of what the error is without looking in the system log. But that's a side issue, of course. Regards, -Maynard
| * PR10016: Purge stap of all pgrp and system() usageJosh Stone2009-04-014-81/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We hereby no longer try to manipulate process groups in any way. We don't set a private process group, and we never kill() our entire group either. Instead of using system(), we now have a stap_system() which saves the child PID, so when we get a terminating signal we can pass it along to the child. Signals sent through the TTY have always worked, since the TTY sends it to the entire pgrp. However, if we're running as part of a wrapper script or GUI, which may not have a separate process group for stap, we still would like to allow "kill -TERM $STAPPID" to terminate stap nicely. There's still a short window of failure in the time that staprun is active, because we can't kill a setuid process from a user process. Once staprun drops privileges and execs to stapio though, everything should work fine.
| * Merge branch 'master' of ssh://sources.redhat.com/git/systemtapMark Wielaard2009-04-011-1/+1
| |\
| | * PR10020 sys_sigaltstack param changeFrank Ch. Eigler2009-04-011-1/+1
| | | | | | | | | | | | | | | | | | The new code uses a %( kernel_v < "2.6.29" %) conditional to look at the passed pt_regs instead of named *bx parameters. A more general solution will be needed at some point.
| * | Move #endif for STP_NEED_VMA_TRACKER up to not cover other utrace callbacks.Mark Wielaard2009-04-011-1/+1
| | | | | | | | | | | | * tapsets.cxx (utrace_derived_probe_group::emit_module_init): Correct #endif.
| * | Merge branch 'master' into pr6866Mark Wielaard2009-04-0180-2845/+5042
| |\|
| * | Wrap vma callbacks in STP_NEED_VMA_TRACKER.Mark Wielaard2009-04-012-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | Will be defined by new ucontext symbol stapset. * tapset.cxx: Wrap all vma callbacks in STP_NEED_VMA_TRACKER. * testsuite/systemtap.context/usymbols.exp: Define STP_NEED_VMA_TRACKER explicitly for now.
| * | Merge branch 'master' into pr6866Mark Wielaard2009-03-2232-210/+893
| |\ \