summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* 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.
* Fixed BZ 568032 by adding support for sys_ia64_pipe.David Smith2010-03-181-2/+9
| | | | | * tapset/syscalls2.stp: Added support for 'sys_ia64_pipe' so that the syscall.pipe probe works correctly under RHEL5.5.
* PR909: baby documentation for perf.* probesFrank Ch. Eigler2010-03-184-1/+91
|
* optimizer diagnostics: identify taken branch of optimizationsFrank Ch. Eigler2010-03-181-3/+3
| | | | | * elaborate.cxx (const_folder::visit_if_statement, visit_binary_expression, visit_ternary_expression): Print constant value in -vvv diagnostics.
* Remove <asm/segment.h> inclusion to fix ppc build.David Smith2010-03-181-1/+0
| | | | | * runtime/sym.c: Removed <asm/segment.h> include. That file doesn't exist on ppc, and it appears to be empty everywhere else.
* autoconf: standardize CPU_KHZ based on session kernel_exportsFrank Ch. Eigler2010-03-181-35/+11
| | | | | * buildrun.cxx (output_cpu_khz): Replace with generalized output_exportconf().
* testuite: modargs.exp shouldn't execute things without installcheckFrank Ch. Eigler2010-03-181-2/+5
|
* PR909: store kernel exported symbols in session objectFrank Ch. Eigler2010-03-183-4/+40
| | | | | | | * session.h (kernel_exports): New field. * main.cxx (parse_kernel_exports): Fill it. * tapset-perfmon.cxx (perf_builder::build): Check it for our pal perf_event_create_kernel_counter.
* PR909: reject perf.* probes laterFrank Ch. Eigler2010-03-181-6/+5
| | | | | * tapset-perfmon.cxx (perf_builder::build): Check for CONFIG_PERF_EVENTS here. (register_tapset_perf): ... instead of here.
* PR909: switch to tapset-based attr/type resolutionFrank Ch. Eigler2010-03-182-76/+54
| | | | | | * tapset/perf.stp: New file. * tapset-perfmon.cxx (perf_derived_probe): Drop event_name field throughout. Listen to type(N).config(M) instead.