summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove probe_point code duplicationJosh Stone2010-03-251-14/+1
| | | | * staptree.cxx (probe_point::str): Don't duplicate ::print -- reuse it.
* Print probepoint addresses in hexJosh Stone2010-03-253-30/+38
| | | | | | | | | | * staptree.h (literal_number): Add a bool "print_hex". * staptree.cxx (literal_number::print): Switch to hex if needed. * tapsets.cxx (dwarf_derived_probe::dwarf_derived_probe): Write the statement number component with a hex literal_number. (sdt_query::convert_location): Ditto (kprobe_derived_probe::kprobe_derived_probe): Ditto. (hwbkpt_derived_probe::hwbkpt_derived_probe): Ditto for data addr.
* Mention ** in NEWS and stapprobes.3stapJosh Stone2010-03-252-1/+10
|
* PR11399: Allow '**' to match tapsets across '.'Josh Stone2010-03-253-0/+83
| | | | | | | | | | | | | | Normally wildcards are constrained to matching a single probe point component between the '.' separator. This patch enables '**' to match across the separator. Probe point parameters are still absolute separators though, as there's not really a meaningful semantic we could use to cross them with '**'. * elaborate.cxx (isdoubleglob): Check for '**'. (match_node::find_and_build): Recurse '**' to cross separators. * testsuite/semok/doubleglob.stp: New test of broad wildcards. * testsuite/semko/doubleglob.stp: New negative test.
* PR11427: port sdt.h to sparcTom Callaway2010-03-241-1/+1
| | | | * includes/sys/sdt.h (STAP_NOP): Add __sparc__ to list of "nop" users.
* Small cleanup of context.exp.David Smith2010-03-241-15/+18
| | | | | * testsuite/systemtap.context/context.exp: Used "make -C $build_dir" to avoid using 'cd'. Added error handling.
* Improved atomic.exp testcase by removing the need for an external module.David Smith2010-03-244-118/+26
| | | | | | | | * testsuite/systemtap.base/atomic.exp: Removed the need for the external module by putting the atomic_long_t inside the stap module. * testsuite/systemtap.base/atomic_module.c: Removed. * testsuite/systemtap.base/atomic_module.makefile: Ditto. * testsuite/lib/stap_run_error.exp (stap_run_error): Better error handling.
* Fix pipe syscall name in return probe.Mark Wielaard2010-03-241-1/+5
| | | | | * tapset/syscalls2.stp (syscall.pipe.return): If @defined($flags) then use it to determine correct name.
* Removed unneeded convenience variables in syscall.pipe.return.David Smith2010-03-231-5/+1
| | | | | * tapset/syscalls2.stp: Removed unneeded 'flags' and 'flag_str' convenience variables in syscall.pipe.return probe.
* Fixed PR 11425 by fixing probefunc() when used with kprobe.function.David Smith2010-03-231-1/+1
| | | | | * tapset/context-symbols.stp: Fixed probefunc() by looking for '"' as the end of the function name along with '@'.
* Partial fix for pr 11414. Fixed several 32-bit probe points.David Smith2010-03-231-8/+13
| | | | | * tapset/nd_syscalls2.stp: Updated/fixed rt_sigaction32, compat_select, and sigaction32 probes.
* PR10913: Fix error messages when unable to close certain tokensCharley Wang2010-03-231-4/+3
|
* releng: bump to version 1.2Frank Ch. Eigler2010-03-226-24/+27
|
* Fixed nd_syscalls 'sys32_mmap2' problem on newer kernels.David Smith2010-03-221-2/+2
| | | | | * tapset/x86_64/nd_syscalls.stp: Made 'sys32_mmap2' probe point optional, since it doesn't exist on newer kernels.
* Fixed cut-and-paste error for sys_ia64_pipe.David Smith2010-03-221-1/+1
| | | | | * tapset/nd_syscalls2.stp: Removed '.call' from 'kprobe.function("sys_ia64_pipe")'.
* Ifdef out atomic_long_read() body on older kernels where the type doesn't exist.David Smith2010-03-221-0/+2
| | | | | * tapset/atomic.stp: If we don't have ATOMIC_LOGN_INIT(), ifdef out the function.
* Partial fix for pr 11388 by adding 'sys_mmap_pgoff' support.David Smith2010-03-222-4/+8
| | | | | | * tapset/i386/nd_syscalls.stp: Add support for 'sys_mmap_pgoff' (which is what the mmap syscall uses). * tapset/x86_64/nd_syscalls.stp: Ditto.
* Partial fix for pr 11388 by adding 'sys_mmap_pgoff' support.David Smith2010-03-222-6/+10
| | | | | | * tapset/i386/syscalls.stp: Add support for 'sys_mmap_pgoff' (which is what the mmap syscall uses). * tapset/x86_64/syscalls.stp: Ditto.
* Fix syscall tapset on older kernels (RHEL4).David Smith2010-03-221-0/+2
| | | | | * tapset/aux_syscalls.stp: On systems where inotify isn't supported, don't include inotify.h.
* Improve handling of O_NONBLOCK and O_CLOEXEC.David Smith2010-03-221-1/+7
| | | | | | * tapset/aux_syscalls.stp (_sys_pipe2_flag_str): Separate O_NONBLOCK and O_CLOEXEC support. (_sys_open_flag_str): Added O_CLOEXEC support.
* Support signalfd4 in syscalls2.stp tapset.Mark Wielaard2010-03-213-5/+75
| | | | | | | * tapset/aux_syscalls.stp (_signalfd4_flags_str): New utility function. * tapset/syscalls2.stp (syscall.signalfd[.return]): Handle signalfd4 variant when available. * testsuite/systemtap.syscall/signalfd.c: New test.
* Add inotify_init1() and inotify_add_watch() mask string support.Mark Wielaard2010-03-213-7/+85
| | | | | | | | * tapset/aux_syscalls.stp (_inotify_watch_mask_str): New helper function. (_inotify_init1_flag_str): Likewise. * tapset/syscalls.stp (inotify_add_watch): Stringify watch mask. (syscall.inotify_init[.return]): Add inotify_init1() support. * testsuite/systemtap.syscall/inotify.c: New test.
* Add support for eventfd2 to syscall.stp tapset.Mark Wielaard2010-03-213-6/+61
| | | | | | | * tapset/aux_syscalls.stp (_eventfd2_flag_str): New utility function. * tapset/syscalls.stp (syscall.eventfd[.return]): Add alternatives to handle eventfd2. * testsuite/systemtap.syscall/eventfd.c: New test.
* Explicitly test first kernel version in utimensat syscall test.Mark Wielaard2010-03-211-1/+2
| | | | | * testsuite/systemtap.syscall/futimes.c: utimensat was only available since 2.6.22, but libc headers might already define __NR_utimensat.
* Match syscall.pipe32 with regular syscall.pipe[2] output.Mark Wielaard2010-03-211-1/+34
| | | | | * tapset/x86_64/syscalls.stp (syscall.pipe32[.return]): Define same variables and match argstr with regular syscall.pipe.
* Add support for dup3 to syscall.stp tapset.Mark Wielaard2010-03-213-0/+96
| | | | | | * tapset/aux_syscalls.stp (_dup3_flag_str): New helper function. * tapset/syscalls.stp (syscall.dup2): Add alternatives to handle dup3 also. * testsuite/systemtap.syscall/dup.c: New testcase.
* Add F_DUPFD_CLOEXEC to _fcntl_cmd_str().Mark Wielaard2010-03-211-0/+1
|
* Add MSG_CMSG_CLOEXEC to _recvflags_str.Mark Wielaard2010-03-211-0/+1
|
* Support epoll_create1 syscall.Mark Wielaard2010-03-213-6/+33
| | | | | | * tapset/aux_syscalls.stp (_epoll_create1_flag_str): New helper function. * tapset/syscalls.stp (syscall.epoll_create[.return]): Match epoll_creat1 if available.
* robustness: add special_mapping_* to blacklist for 2.6.32ishFrank Ch. Eigler2010-03-201-0/+3
| | | | * dwflpp.cxx (build_blacklist): Add special_mapping_*
* PR11405: Warn and continue for parsing errors in tapsetsJosh Stone2010-03-205-1/+23
| | | | | | | | | | | | When we start seeing tapsets provided by third parties, any errors in their files should not be fatal to us. Since we don't really know which tapsets are our own, this leniency applies to all. * main.cxx (main): Warn on tapset errors, but continue unless -W. * testsuite/parseko/bad_tapset/foo.stp: New bogus tapset. * testsuite/parseko/bad_tapset.stp: Check that "-W -I bad_tapset" fails. * testsuite/parseok/bad_tapset.stp: Check that "-I bad_tapset" succeeds. * testsuite/parseok/all_tapsets.stp: Check -W with the default tapsets.
* Bump the sample indexesJosh Stone2010-03-194-10/+10
|
* Add ia64 pipe result support. Relax pipe syscall test a little.Mark Wielaard2010-03-192-4/+20
| | | | | | * tapset/syscalls2.stp (syscall.pipe.return): ia64 provides pipe0, pipe1 results through (user) registers. * testsuite/systemtap.syscall/pipe.c: Only expect zero as input fildes.
* Let try_block contain any statementJosh Stone2010-03-191-2/+2
| | | | | | | We still require the block for parsing, but the optimizer likes to fold singleton blocks away, so any statement is possible. PR11341 masks such issues at compile time, but I'm a little surprised that we've gotten away with this at runtime...
* PR909: add a baby test caseFrank Ch. Eigler2010-03-192-20/+15
| | | | | | * testsuite/systemtap.examples/profiling/thread-times.stp: Prefer perf.sw.cpu_clock to timer.profile. Prettify output by including comm string.
* tapset: port addr_to_node() to rhel4Frank Ch. Eigler2010-03-191-1/+5
|
* Add testcase for syscall.pipe.Mark Wielaard2010-03-191-0/+27
|
* Merge syscall.pipe and syscall.pipe2 to get around "nesting".Mark Wielaard2010-03-191-41/+24
| | | | | * tapset/syscalls2.stp (syscall.pipe[2][.return]): Merge into syscall.pipe and syscall.pipe.return. Set name according to flags.
* Reindent syscall2.stp pipe[2][.return] to follow unify formatting rules.Mark Wielaard2010-03-191-72/+54
| | | | See commit c0c1cc.
* PR11402 Support pipe2 syscall.Mark Wielaard2010-03-192-0/+59
| | | | | | | | | The pipe2() was added to Linux in version 2.6.27. It is a variant of the normal pipe syscall, but takes an extra flags argument which can be the ORed value of O_NONBLOCK and O_CLOEXEC. * tapset/aux_syscalls.stp (_sys_pipe2_flag_str:string): New helper function. * tapset/syscalls2.stp (syscall.pipe2, syscall.pipe2.return): New probes.
* Recognize O_CLOEXEC in _sys_open_flag_str.Mark Wielaard2010-03-191-0/+4
| | | | | * tapset/aux_syscalls.stp (_sys_open_flag_str): If O_CLOEXEC is defined recognize and return it.
* Make pipe file descriptors available in syscall.pipe[.return].Mark Wielaard2010-03-191-1/+34
| | | | | | | | | | | The actual value of the pipe file descriptors can be interesting, especially in the syscall.pipe.return probe. This can be done without any embedded C now using @cast. So don't use _fildes_u() anymore. _fildes_u in aux_syscall.stp is still retained because it is used in nd_syscalls2.stp for pipe. * tapset/syscalls2.stp (syscall.pipe, syscall.pipe.return): Add pipe1 pipe2 convenience variables. Don't use _fildes_u for argstr anymore.
* Use @defined() in syscall.pipe to select whether fildes_uaddr is available.Mark Wielaard2010-03-191-20/+10
| | | | | | * tapset/aux_syscalls.stp (syscall.pipe): Remove architecture dependent probe definitions. Newer gcc make $fildes available on more arches. Use @defined($fildes) to select on which ones.
* Sprinkle static to prevent unnecessary inclusionJosh Stone2010-03-182-3/+3
| | | | | | * runtime/stack.c (_stp_stack_print_tsk): Static. (_stp_stack_snprint_tsk): Static. * runtime/task_finder.c (__stp_utrace_task_finder_ops): Static.
* Simplify the perf entry handlersJosh Stone2010-03-181-9/+6
| | | | | | * tapset-perfmon.cxx (perf_derived_probe_group::emit_module_decls): Just pass an index from the individual entry handlers, and let handle_perf_probe figure out the pp and ph.
* Create one perf structure to rule them allJosh Stone2010-03-183-77/+38
| | | | | | | | | | * perf.h (stap_perf_probe): Define one structure for all our needs. * perf.c (_stp_perf_init): Use the new struct, return errors directly. (_stp_perf_exit): Use the new struct. * tapset-perfmon.cxx (perf_derived_probe_group::emit_module_decls): Use the stap_perf_probe definition from perf.h now. (perf_derived_probe_group::emit_module_init): Adapt. (perf_derived_probe_group::emit_module_exit): Adapt.
* PR11346: Move the skip-badvars logic into const-foldingJosh Stone2010-03-183-28/+42
| | | | | | | | | | | | | | | The const_folder is where we prune constant expressions, like conditionals based on a @defined($foo), so we want to give this a chance to work before skip-badvars comes in and throws a warning. As an added bonus, this makes skip-badvars more generic, so it will work even for non-dwarf $target variables. * elaborate.cxx (const_folder::visit_target_symbol): Enact skip-badvars. * tapsets.cxx (dwarf_var_expanding_visitor::visit_target_symbol): Don't worry about badvars here anymore. Save the error now, clean up later. * testsuite/semok/badvar_undefined.stp: Test that @defined with skip-badvars doesn't throw any warnings.
* tweak perf.* probe blurbage re. constrained hw pclFrank Ch. Eigler2010-03-181-2/+2
|
* PR909: add perf.hw_cache.* aliasesFrank Ch. Eigler2010-03-183-5/+79
| | | | | | * tapset/perf.stp: Add 'em. * man/tapset::perf.3stap: Document 'em a little. * stapprobes.3stap.in: Fix .sample (not .samples) probe point typo.
* Fixed BZ 568032 by adding support for sys_ia64_pipe.David Smith2010-03-181-2/+9
| | | | | * tapset/nd_syscalls2.stp: Added support for 'sys_ia64_pipe' so that the syscall.pipe probe works correctly under RHEL5.5.