| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
* tapset/atomic.stp: Added atomic_read().
* testsuite/buildok/atomic.stp: Added atomic_read() compile test.
* testsuite/systemtap.base/atomic.exp: Added atomic_read() tests.
* testsuite/lib/stap_run_error.exp (stap_run_error): Logs stap command and
tries to ensure inferior process is killed.
|
|
|
|
| |
* testsuite/systemtap.base/set_kernel.stp: try/catch addresses of -1.
|
|
|
|
|
| |
* testsuite/buildok/set_kernel.stp: Test that all can build.
* testsuite/systemtap.base/set_kernel.stp: Test that values are all set.
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
|
|
|
|
| |
* tapset/proc_mem.stp: Tried to remove as much embedded-C as possible.
* tapset/atomic.stp: New file.
* testsuite/buildok/atomic.stp: New file.
* testsuite/systemtap.base/atomic.exp: Ditto.
* testsuite/systemtap.base/atomic_module.c: Ditto.
* testsuite/systemtap.base/atomic_module.makefile: Ditto.
|
|
|
|
|
|
|
|
| |
* testsuite/lib/stap_run_error.exp: New file.
* testsuite/config/unix.exp: Loads stap_run_error.exp.
* testsuite/systemtap.base/maxmemory.exp: Uses stap_run_error function
instead of local code.
* testsuite/systemtap.base/overload.exp: Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We didn't really have good semantics for what is meant by MAXTRYLOCK=0,
so when skipped.exp tried it, we ended up locking the variable and then
reporting a skip without ever unlocking it.
This is now cleaning up the semantics such that MAXTRYLOCK defines how
many times we should loop if the lock is busy. Thus MAXTRYLOCK=0 means
we try only once and fail immediately.
The testcase was accidentally creating contention due to the broken
unlock behavior. We now have to try a bit harder to create real
contention, so some lengthy delays are inserted to hoard the lock.
* runtime/probe_lock.h (stp_probe_lock): Fix the skip behavior.
* testsuite/systemtap.base/skipped.exp: Add a big udelay.
|
|
|
|
|
|
|
| |
* testsuite/systemtap.context/uprobe_stmt_num.exp: Change utrace test to
uprobes test.
* testsuite/systemtap.context/uprobe_uaddr.exp: Ditto.
* testsuite/systemtap.base/bz5274.exp: Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* parse.h (try_block): New class. Update basic visitors.
* staptree.cxx: Implement basic visitors.
* parse.cxx (expect_kw): Fix to actually look for keywords.
(parse_try_block): New function.
(lexer ctor): Designate 'try' and 'catch' as keywords.
* elaborate.cxx (dead_assignment_remover, dead_statmtexpr_remover): Optimize.
(other visitors): Implement.
* translate.cxx (c_unparser): Implement via super-handy __local__ labels.
(emit_probe, emit_function): Make outer out: label also __local__.
* testsuite/buildok/fortyone.stp, semko/fortynine.stp,
systemtap.base/trycatch.exp: Test it.
* NEWS, doc/langref.txt, stap.1.in: Document it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tapset-procfs.cxx (procfs_derived_probe::procfs_derived_probe): Added
'maxsize_val' initialization.
(procfs_derived_probe::join_group): Updated '_stp_procfs_data'
definition and added STP_PROCFS_BUFSIZE.
(procfs_derived_probe_group::emit_module_decls): Emits structure to
contain procfs file buffers. Initializes '.bufsize' structure member.
(procfs_var_expanding_visitor::visit_target_symbol): Uses 'bufsize' for
maximum buffer size instead of using MAXSTRINGLEN.
(procfs_builder::build): Looks for '.maxsize(NNN)' parameter.
(register_tapset_procfs): Added '.maxsize(NNN)' parameter binding.
* runtime/procfs-probes.c (stap_procfs_probe): Converted 'buffer' to a
pointer and added 'bufsize' member.
* testsuite/semko/procfs13.stp: New testcase.
* testsuite/semko/procfs14.stp: Ditto.
* testsuite/semko/procfs15.stp: Ditto.
* testsuite/systemtap.base/procfs_maxsize.exp: Ditto.
* testsuite/systemtap.base/procfs.exp: Minor fix.
* stapprobes.3stap.in: Added '.maxsize(NNN)' documentation.
* stap.1.in: Added STP_PROCFS_BUFSIZE documentation.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
unresolvable $variables
* staptree.cxx (target_symbol::chain): New function.
* staptree.h: Declare it.
* (*): Use it instead of hand-chaining to target_symbol->saved_conversion_error.
* tapset-mark.cxx (*::visit_target_symbol): Chain resolution error object,
do not throw.
* tapset-procfs.cxx (*::visit_target_symbol): Ditto.
* tapset-utrace.cxx (*::visit_target_symbol): Ditto.
* tapsets.cxx (*::visit_target_symbol): Ditto.
(*::visit_defined_op): Explain & enforce the above.
* testsuite/semok/thirtysix.stp: Expand.
* testsuite/systemtap.base/sdt_misc.exp: Bonus fix: make work with blddir != srcdir.
|
|
|
|
| |
* sdt_misc.exp: Make all semaphore references from the .so
|
| |
|
| |
|
|
|
|
|
|
| |
* testsuite/systemtap.base/labels.exp: Corrected order of
'spawn;expect;wait' calls. Added 'wait' calls when needed. Also,
doesn't run the "labels exe .label" test if uprobes isn't supported.
|
|
|
|
| |
This reverts commit f75409719f120a3dbee66d761cf23a64092d1414.
|
|
|
|
|
|
|
| |
* testsuite/systemtap.base/procfs_write.exp: Small changes for RHEL5
support.
* testsuite/lib/stap_run.exp (stap_run): Increase maximum number of
characters to match against.
|
|
|
|
| |
* testsuite/systemtap.base/overflow-get_argv.stp: Initialize var.
|
|
|
|
|
|
|
| |
That function was calling strlcpy as if the return value was the number
of bytes copied, but strlcpy actually returns the length of the input
string. We now use min() to handle the case when it's bigger than the
buffer length, and drop out of the loop when that happens.
|
|
|
|
|
|
|
| |
* staptree.cxx (varuse_collecting_visitor::visit_arrayindex):
Regard operations as pure writes.
* testsuite/systemtap.base/global_end.exp: Add test case.
* testsuite/systemtap.base/global_end.stp: Ditto.
|
|
|
|
|
|
| |
* tapset-procfs.cxx (procfs_var_expanding_visitor::visit_target_symbol):
Correctly null terminate strings in procfs write probes.
* testsuite/systemtap.base/procfs_write.exp: New test.
|
|
|
|
|
|
| |
* runtime/map.h: Set MAP_STRING_LENGTH to MAXSTRINGLEN so that large
strings can be stored in arrays.
* testsuite/systemtap.base/array_string.exp: New testcase.
|
|
|
|
| |
* uprobes-common.c (stap_uprobe_change_plus): Relax VM_EXEC check.
|
|
|
|
|
|
|
| |
* sdt_misc.exp (sdt_misc.c): New funcs loop_check, int_handler, alrm_handler.
(sdt_misc.sdt): Add timer.ms
(test attach to a running process): New.
(test attach to a running process with .so markers): New.
|
|
|
|
|
| |
* testsuite/systemtap.base/sdt_misc.exp: Make sure debug output of what
we're about to execute actually matches what we're about to execute.
|
|
|
|
|
|
|
|
|
| |
* runtime/alloc.c (_stp_kmalloc): Renamed 'MAXMEMORY' to 'STP_MAXMEMORY'.
(_stp_kzalloc): Ditto.
(_stp_vmalloc): Ditto.
(_stp_alloc_percpu): Ditto.
(_stp_kmalloc_node): Ditto.
* testsuite/systemtap.base/maxmemory.exp: New test for STP_MAXMEMORY.
|
|
|
|
| |
* testsuite/systemtap.base/declaration.exp: Remove test.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sdt.h (UTRACE_SDT): Remove.
* tapset-utrace.cxx (utrace_derived_probe): Remove has_library and library.
(utrace_derived_probe_group::emit_probe_decl): Remove mmap_callback,
sdt_sem_offset, and sdt_sem_address.
(utrace_derived_probe_group::emit_module_decls): Remove sdt_sem_offset and
sdt_sem_address support.
* tapsets.cxx (sdt_var_expanding_visitor): Remove utrace_probe.
(sdt_query::handle_query_module) Remove utrace_type.
(sdt_query::convert_probe): Likewise.
* postgres.exp: Remove utrace testing.
* sdt.exp: Likewise.
* sdt_misc.exp: Likewise.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
tapset-utrace.cxx (TOK_LIBRARY): New.
(utrace_derived_probe::utrace_derived_probe): Add library and has_library.
(utrace_builder::build): Handle library.
(utrace_derived_probe_group::emit_probe_decl): Add sdt_sem_offset to
emitted stap_utrace_probes. Add stap_task_finder_target
mmap_callback for handling shared library. Handle sdt_sem_offset in
emitted_stp_utrace_probe_cb. Add stap_utrace_mmap_found.
(register_tapset_utrace): Handle .library
tapset-utrace.cxx (TOK_LIBRARY): New.
(base_query::base_query): Add path and has_library.
(dwarf_derived_probe::dwarf_derived_probe) Likewise.
(dwarf_derived_probe::register_patterns): Handle .library
(sdt_query::convert_location): Likewise.
(dwarf_builder::build): Likewise.
(uprobe_derived_probe_group::emit_module_decls): Emit
sdt_sem_address. Add sdt_sem_offset to emitted stap_uprobe_spec.
Add offset and vm_flags to signature of stap_uprobe_change_plus, and
handle sdt_sem_offset. Allow writeable segments in emitted
stap_uprobe_mmap_found.
sdt_misc.exp: Test .library
util.cxx (find_executable): Add env_path to sig and use it in getenv.
util.h (find_executable): Likewise. Make "PATH" the default.
dtrace.in (provider): Turn on semaphores.
sdt.h: Likewise.
|
|
|
|
|
|
|
|
| |
dtrace -I is used to pass through include paths to cpp when run.
Thanks to David Malcolm <dmalcolm@redhat.com> for python coding and testing.
* dtrace.in: Add -I support.
* testsuite/systemtap.base/dtrace.exp: Add testcases for -C -I and -G -I.
|
|
|
|
|
| |
* testsuite/systemtap.base/cu-decl.exp: Check utrace.
* testsuite/lib/stap_compile.exp: Make catch after wait.
|
|
|
|
|
| |
Check that we can dereference a type declaration that is
defined in a separate CU from the function.
|
|
|
|
|
|
|
|
|
| |
Explicit testcase for PR10010 and PR10622.
* testsuite/systemtap.base/externalvar.c: New file.
* testsuite/systemtap.base/externalvar.exp: New file.
* testsuite/systemtap.base/externalvar.stp: New file.
* testsuite/systemtap.base/externalvar_lib.c: New file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since 2.6.25, kretprobes can carry a data packet to be filled in an
entry_handler. This patch lets us store our implicitly-saved $target
variables in .return probes in that data area.
* tapset/kretprobe.stp: New get/set functions for kretprobe data.
* translate.cxx (c_unparser::emit_common_header): Add context->pi_longs.
* tapsets.cxx
(dwarf_var_expanding_visitor::visit_target_symbol_saved_return): Switch
between the old and new methods of saving $vars in .return probes.
(dwarf_var_expanding_visitor::gen_mapped_saved_return): The old way.
(dwarf_var_expanding_visitor::gen_kretprobe_saved_return): The new way.
(dwarf_derived_probe::join_group): Don't register paired entry-handlers.
(dwarf_derived_probe::dwarf_derived_probe): Remember saved-var details.
(dwarf_derived_probe_group::emit_module_decls): Output saved-var details.
Also split the kretprobe handler whether we're on entry or return.
(dwarf_derived_probe_group::emit_module_init): Prepare the entry handler.
* testsuite/systemtap.base/kretprobe-vars.stp: Test implicit $var saving.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
| |
|
|
|
|
|
| |
* testsuite/systemtap.base/onoffprobe.exp: Wait for up to 10 seconds for
the procfs file to be created.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
tcl.exp (run_tests): Fix stap path.
|
|
|
|
|
| |
dtrace.in (provider::generate): Set enabled to true until .so is resolved.
tcl.exp: New testsuite for tcl sdt markers modelled after mysql.
|
|
|
|
|
|
|
|
| |
* testsuite/semok/utrace01.stp: Switch by CONFIG_UTRACE.
* testsuite/systemtap.base/bz10294.stp: Ditto.
* testsuite/systemtap.base/bz6905.stp: Ditto.
* testsuite/systemtap.base/statement.exp: Mark untested if
non-utrace kernel.
|
|
|
|
|
| |
* testsuite/systemtap.base/const_value.c: Allow inlining since PR10726 was
fixed.
|
|
|
|
|
|
|
|
| |
* testsuite/systemtap.base/const_value.exp: Handle both const_value blocks
and address separately. XFAIL second test as PR10739.
* testsuite/systemtap.base/const_value.stp: Only query baz const value.
* testsuite/systemtap.base/const_value_func.c: New test for bar address.
* testsuite/systemtap.base/const_value_func.stp: Likewise.
|