summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix for bug 10866 (exit with rc != 0 on script ERRORs).Breno Leitao2009-11-032-11/+15
| | | | | | This patch just make the RC=1 when any output line starts with ERROR:. Also some minors error that was returning 0 instead of 1 were fixed.
* PR 6691 fixed by adding support for sys_accept4.David Smith2009-11-023-16/+88
| | | | | | | | | | * tapset/aux_syscalls.stp(_sock_type_str): Rewrote in embedded-C and added socket flags support. (_sock_flags_str): New function. * tapset/syscalls.stp: syscall.accept prefers to use sys_accept4 when it exists. Added support for sys_accept4's 'flag' parameter. * testsuite/systemtap.syscall/net1.c (main): Updated regular expression to handle the new 'flags' argument.
* PR10849: make MAXSKIPPED overflow trigger an error messageCharley Wang2009-11-021-4/+4
|
* reorganize app tests; rewrite tcl as sample of improvementsFrank Ch. Eigler2009-10-3113-170/+161
| | | | | | | | | | | | | | | * testsuite/configure.ac (--enable-testapps): New option. * testsuite/Makefile.am (TESTAPPS): Pass to dejagnu. * testsuite/systemtap.base/{xulrunner,tcl,mysql,postgres}: Moved under new systemtap.apps/ subdirectory. * testsuite/systemtap.apps/stap-tcl.sh: New file to build tcl. * testsuite/systemtap.apps/stap-tcl.stp: New file to test tcl. * testsuite/systemtap.apps/tcl.exp: New simplified test driver. * dtrace.in: Disable STAP_HAS_SEMAPHORES as they don't work on shlibs yet. * includes/sys/sdt.h (STAP_SEMAPHORE): Include __builtin_expect for unlikely.
* regen sample indexes with plimit.stpFrank Ch. Eigler2009-10-304-0/+20
|
* plimit: Add plimit.stp sample scriptEugene Teo2009-10-302-0/+85
|
* Use /dev/urandom (non-blocking) instead of /dev/random.Dave Brolley2009-10-301-1/+1
|
* Never ask the user for a password in stap-gen-cert. Read from /dev/random asDave Brolley2009-10-301-25/+1
| | | | a last resort. Cert db passwords will be going away soon(tm).
* context.exp test improvements.David Smith2009-10-304-4/+6
| | | | | | | | * testsuite/systemtap.context/args.tcl: Increased timeout. If tests do timeout, fail (instead of silently failing). * testsuite/systemtap.context/num_args.tcl: Ditto. * testsuite/systemtap.context/backtrace.tcl: Increase timeout. * testsuite/systemtap.context/pid.tcl: Ditto.
* PR10839: compute default KRETACTIVE from num_possible_cpus() instead of NR_CPUSFrank Ch. Eigler2009-10-301-2/+2
| | | | * tapsets.cxx (dwarf_ and kprobe_derived_probe_group): Redefine KRETACTIVE.
* Fix syscall testsuite bugs.David Smith2009-10-299-17/+37
| | | | | | | | | | | | | | | * testsuite/systemtap.syscall/test.tcl: Substitute '[[[[' and ']]]]' for '(' and ')'. This allows us to get unquoted parens. * testsuite/systemtap.syscall/test-debug.tcl: Matches substitute logic of test.tcl. * testsuite/systemtap.syscall/README: Document '[[[[' and ']]]]'. * testsuite/systemtap.syscall/chmod.c: Handle optional O_LARGEFILE flag in open calls. * testsuite/systemtap.syscall/dir.c: Ditto. * testsuite/systemtap.syscall/mmap.c: Ditto. * testsuite/systemtap.syscall/openclose.c: Ditto. * testsuite/systemtap.syscall/readwrite.c: Ditto. * testsuite/systemtap.syscall/stat.c: Ditto.
* Removed extra declarations.David Smith2009-10-291-3/+0
| | | | | * runtime/transport/transport.h: Removed extra declarations of _stp_transport_init() and _stp_transport_close().
* Normalize Breno Leitao's name without an accentJosh Stone2009-10-291-0/+1
| | | | | | | | Per Breno's guidance, I'm removing the accent from the 'a' in Leitao. We can normalize it either way -- I just want it to be consistent. This only has an effect on git shortlog and git blame, but we do use shortlog in our AUTHORS queries.
* tty: Adding tty.stp to the documentationBreno Leitão2009-10-291-0/+9
| | | | Adding the TTY tapset to the .tmpl Reference documentation
* A new testcase for tty tapsetBreno Leitão2009-10-291-0/+51
| | | | | This is a basic test to assure that the tty tapset is working compiling and working properly
* A new tapset that adds support for tty and serial devicesBreno Leitão2009-10-291-0/+189
| | | | | | A new tapset that supports tty devices and consequently serial devices. It is just a basic implementation that can be extended as demands appears
* Merge branch 'master' of ssh://sourceware.org/git/systemtapTim Moore2009-10-294-21/+94
|\
| * PR10820: stap -L ignores any variable that isn't accessibleWenji Huang2009-10-291-6/+19
| | | | | | | | * tapsets.cxx (saveargs): check the accessibility.
| * Properly close the spawn of the pr10854 testcaseJosh Stone2009-10-271-0/+1
| |
| * PR10854 cont'd: Add a testcase for the reproducerJosh Stone2009-10-272-0/+51
| |
| * PR10854: Use a mutex around transport startup/shutdownJosh Stone2009-10-271-15/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We had a race where the probe setup could be called during/after the probe shutdown in abnormal circumstances, which leads to kernel callbacks still registered after module unload. (BOOM) Now the setup/shutdown activities and related flags are guarded by a mutex, so we should have strict ordering. * runtime/transport/transport.c (_stp_transport_mutex): New. (_stp_handle_start): Grab the mutex, and make sure we're not exiting. (_stp_cleanup_and_exit): Grab the mutex. (_stp_lock_inode, _stp_unlock_inode): Use kernel version for checking inode locking type.
* | * grapher/GraphData.hxx (GraphDataBase, GraphData): UseTim Moore2009-10-281-3/+10
| | | | | | | | boost::circular_buffer for time and data storage.
* | Fix regression of parsing grapher optionsTim Moore2009-10-281-28/+28
|/ | | | | * grapher/StapParser.hxx (ioCallback): Test return value from findTaggedValue properly.
* Merge branch 'master' of ssh://sourceware.org/git/systemtapTim Moore2009-10-2715-316/+608
|\
| * Enable Kbuild-like quiet buildsJosh Stone2009-10-227-225/+438
| | | | | | | | | | | | | | | | This enables much cleaner build output from automake. To re-enable the verbose commands, pass --disable-silent-rules to configure, or use V=1 at make time. * configure.ac: Enable AM_SILENT_RULES by default.
| * PR 10822 fixed by waiting for the procfs file.David Smith2009-10-221-1/+19
| | | | | | | | | | * testsuite/systemtap.base/onoffprobe.exp: Wait for up to 10 seconds for the procfs file to be created.
| * Correct the safety-net escape WRT lockingJosh Stone2009-10-211-1/+3
| | | | | | | | | | | | | | | | | | | | Within a probe body, the "out" label starts the normal exit path, including unlocking whatever globals are used in that probe. Since the unprivileged safety-net checks are before the locks are ever grabbed, we should bypass the unlock on the way out. * elaborate.cxx (derived_probe::emit_process_owner_assertion): Use "return" instead of "goto out".
| * Refactor probe locking into shared functionsJosh Stone2009-10-212-89/+112
| | | | | | | | | | | | | | | | | | | | | | | | For scripts with thousands of probes, we save a fair amount of code-gen time in pass-4 by having the common locking code extracted into shared functions. * runtime/probe_lock.h (stp_lock_probe, stp_unlock_probe): New. * translate.cxx (c_unparser::emit_lock_decls): New, emits a static const array of locks needed for each probe. (c_unparser::emit_locks): Just call stp_lock_probe. (c_unparser::emit_unlocks): Just call stp_unlock_probe.
| * Relax the -Wframe-larger-than checkJosh Stone2009-10-211-1/+3
| | | | | | | | | | This is just a workaround for PR10821, and should be reverted when that bug is fixed.
| * Ensure that DWARF keeps loc2c to a reasonable stack depthJosh Stone2009-10-211-0/+7
| | | | | | | | * dwflpp.cxx (dwflpp::express_as_string): Limit stack depth to 32.
| * PR10750 cont'd: Build with -Wframe-larger-than=512Josh Stone2009-10-211-0/+3
| | | | | | | | | | * buildrun.cxx (compile_pass): Add the warning to limit the frame size even lower than the Kbuild default (only works for gcc 4.4+).
| * PR10750: Enforce a reasonable limit on # of varargsJosh Stone2009-10-213-0/+24
| | | | | | | | | | | | | | | | | | | | If we leave the number of args unbounded, then an excessively-sized printf could cause a kernel stack overflow. I've arbitrarily chosen 32 as our new maximum. * translate.cxx (c_unparser::visit_print_format): Throw if >32 args. * testsuite/transko/varargs.stp: Assert that 33 args aren't allowed. * testsuite/transok/varargs.stp: Assert that 32 args are ok.
* | Kill off child processes correctly on exit.Tim Moore2009-10-271-30/+100
| | | | | | | | | | | | * grapher/grapher.cxx (ChildDeathReader::reap): New function. (StapLauncher): Keep a list of instantiated parsers. (StapLauncher::cleanup): Kill off all launched stap processes.
* | More refactoring for multiple stap processes.Tim Moore2009-10-273-162/+173
| | | | | | | | | | | | | | | | | | * grapher/StapParser.hxx (StapParser): Change _win and _widget from references to pointers. * grapher/StapParser.cxx (ioCallback): Ditto. * grapher/grapher.cxx (StapLauncher, GraphicalStapLauncher): Rewrite to make GraphicalStapLauncher a derived class of StapLauncher. (main): Accept graphing data from stdin with a "-" argument.
* | Change stap parser to use an input file descriptor other than stdinTim Moore2009-10-273-16/+15
|/ | | | | | | | * grapher/StapParser.hxx (_inFd, getInFd, setInFd): new member and fuctions * grapher/StapParser.cxx (ioCallback): Use _inFd variable instead of stdin. * grapher/grapher.cxx (StapLauncher::launch): Don't read input from stap on stdin; use the the read end of the pipe.
* Merge branch 'unwind_robust'Mark Wielaard2009-10-213-9/+51
|\
| * Limit the number of call frame instructions we process in the unwinder.Mark Wielaard2009-10-201-0/+7
| | | | | | | | | | * runtime/unwind.c (processCFI): Fail if the number of instructions is larger than MAX_CFI (currently 512).
| * Make sure cie and fde end point to sane values in while doing unwind_frame.Mark Wielaard2009-10-201-0/+11
| | | | | | | | | | * runtime/unwind.c (unwind_frame): Check end read from cie or fde doesn't go passed end of unwind table.
| * Be paranoid about table size resolving cie_for_fde and fde_pointer_type.Mark Wielaard2009-10-202-9/+22
| | | | | | | | | | | | * runtime/unwind.c (cie_for_fde): Take table and table_len into account. (fde_pointer_type): Likewise. * runtime/unwind/unwind.h: Adjust function prototypes.
| * Add limit on unwind table size we accept.Mark Wielaard2009-10-201-0/+11
| | | | | | | | | | * translate.cxx (MAX_UNWIND_TABLE_SIZE): New define. (dump_unwindsyms): Check debug_len and eh_len against new limit.
* | Added testsuite to test xulrunner sdt markers.Stan Cox2009-10-204-3/+136
| | | | | | | | | | | | | | xulrunner.exp: New testsuite, modelled after mysql.exp. mysql.exp (stap-mysql.sh): Use installed stap. postgres.exp (stap-mysql.sh): Use installed stap. tcl.exp (stap-mysql.sh): Use installed stap.
* | RHBZ519314: define task_struct cast to operate without debuginfoFrank Ch. Eigler2009-10-201-7/+7
| | | | | | | | | | * tapset/task.stp: Use @cast(...,"task_struct","kernel<linux/sched.h") throughout to operate dwarf-free.
* | tcl.exp path fix.Stan Cox2009-10-201-1/+1
|/ | | | tcl.exp (run_tests): Fix stap path.
* Add testsuite for tcl sdt markers.Stan Cox2009-10-192-1/+167
| | | | | dtrace.in (provider::generate): Set enabled to true until .so is resolved. tcl.exp: New testsuite for tcl sdt markers modelled after mysql.
* Improve some runtime struct layoutsJosh Stone2009-10-193-4/+4
| | | | | | | | | | | | | | Guided by pahole, I've shaved off a few padding bytes here and there. New sizes on x86_64: stap_task_finder_target 192 -> 184 stap_itrace_probe 216 -> 208 stap_utrace_probe 328 -> 312 stap_uprobe_tf 200 -> 192 stap_uprobe_spec 48 -> 40 I only changed field layouts, not types or names, so this should be perfectly safe. (FLW)
* bemoan that _stp_*printf can't be protected with gcc attribute printfFrank Ch. Eigler2009-10-191-1/+5
|
* fix 32-bit compatibility for @hist_log printingWenji Huang2009-10-191-1/+1
| | | | | * stat-common.c (_stp_stat_print_histogram_buf): Fix HIST_PRINTF parameter passing.
* PR10799: warn on possibly uintended local-vs-global namespace collisionFrank Ch. Eigler2009-10-195-12/+35
| | | | | | | | | * elaborate.cxx (find_var): Take extra token parameter. Look for cross-file global variable resolution, signal a warning. * testsuite/systemtap.examples/io/traceio2.stp: Fix it. * testsuite/systemtap.syscall/sys.stp: Fix it. * NEWS: Document it.
* provide error message token/context if loc2c doesn'tFrank Ch. Eigler2009-10-191-0/+1
| | | | | * tapsets.cxx (visit_target_symbol): When catching semantic_error, fill in token value if unset. Can happen for loc2c DIE() msgs.
* Avoid lockdep warnings.Srikar Dronamraju2009-10-192-14/+34
| | | | | | | | | | | | | | | | | | | | uprobe_fork_uproc() runs with parent_uproc->rwsem locked. However uprobe_mk_process() that gets called within uprobe_fork_uproc() also locks child_uproc->rwsem after initializing it. Lockdep report confuses this to acquiring a lock that already has been acquired and suggests using sub-classes. The alternatives we have are: 1. use classes level to distinguish different uproc structures. 2. unlock parent_uproc->rwsem before we call uprobe_fork_uproc(). 3. dont try locking child_uproc->rwsem; since we are protected by uproc_mutex as well as parent_uproc->rwsem; We use the last approach. Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com> ---