| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1570
* NEWS: Document probe handler language change re. inline functions.
* stapprobes.5.in: Likewise.
* tapsets.cxx: Many changes to simplify caches and implement new
handling of inline functions, removed of stubs for future probes.
* elaborate.cxx (derived_probe printsig_nested): New function.
* elaborate.h: Declare it.
* main.cxx (usage): Clarify "-r" meaning.
(main): Tweak related "-p 4" message.
2007-03-30 Frank Ch. Eigler <fche@elastic.org>
PR 1570.
* memory.stp, scheduler.stp, signal.stp, LKET/signal.stp: Adapt
to .inline -> .function change.
2007-03-30 Frank Ch. Eigler <fche@elastic.org>
PR 1570
* */*.stp: Adapt to .inline -> .function change.
* lib/stap_run.exp, stap_run2.exp, stap_run_binary.exp: Shorten
pass/fail dejagnu log lines.
* systemtap.syscall/sys.stp, test.tcl: Make slightly more
compatible and failure more verbose.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 4224.
* staptree.h (probe): Add privileged field.
* elaborate.cxx, parse.cxx: Pass privileged flag to probes.
* tapsets.cxx (dwarf_query): Add has_absolute field.
(dwarf_derived_probe ctor): Tolerate it.
(register_patterns): Expose it.
(dwarf_builder::build): Implement it with no dwfl whatsoever.
* NEWS: Document kernel.statement().absolute.
* stapprobes.5.in: Ditto.
2007-03-22 Frank Ch. Eigler <fche@elastic.org>
PR 4224.
* systemtap.base/probefunc.exp: Use kernel.statement().absolute
instead with grep-found schedule_tick address.
* semko/thirtyseven.stp, thirtyeight.stp: New tests.
* buildok/twentyeight.stp: New test.
2007-03-22 Frank Ch. Eigler <fche@elastic.org>
* sym.c (_stp_module_relocate): Tolerate empty section string.
|
|
|
|
| |
* buildok/twenty.stp, semok/seventeen.stp: Adapt to kernel 2.6.20.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 4171.
* Makefile.am (check, installcheck): Pass build-tree pointers
in environment variables.
* configure.ac: Run separate configury for testsuite/.
* configure, Makefile.in: Regenerated.
2007-03-14 Frank Ch. Eigler <fche@redhat.com>
PR 4171.
* configure.ac, configure, aclocal.m4: New files to permit
testsuite-only build tree.
* Makefile.am (RUNTEST): Arrange a crazy concoction of
environment/make variable for runtest.
* Makefile.in: Regenerated.
* */*.stp: Switch test cases from "./stap" to "stap" throughout.
* lib/systemtap.exp: Assume/trace environment variables.
(stap_run_batch): Add "#! stap"-handling hack.
|
|
|
|
|
|
| |
PR 4116.
* buildok/twentyseven.stp: New test.
* systemtap.pass1-4/buildok.exp: kfail it.
|
|
|
|
|
|
| |
PR 4105
* buildok/twentysix.stp: New test.
* systemtap.pass1-4/buildok.exp: kfail it.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* test suites for all of 'em too
* even documentation
* mm, donuts
2007-02-06 Frank Ch. Eigler <fche@elastic.org>
* stapfuncs.5.in: Add docs for kernel_{long,int,short,char} and
some user_string* variants.
2007-02-06 Frank Ch. Eigler <fche@elastic.org>
* conversions.stp (kernel_long/int/short/char): New functions.
2007-02-06 Frank Ch. Eigler <fche@elastic.org>
* buildok/conversions.stp: Build-test all conversions.stp functions.
* systemtap.stress/conversions.*: New test.
|
| |
|
|
|
|
| |
without checking kernel version to support audit code backports
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 3523.
* tapsets.cxx (common_probe_entryfn_prologue,epilogue): Restore
support for -t (benchmarking) mode.
* translate.cxx (emit_common_header,emit_module_init):Ditto.
(emit_module_exit,emit_probe): Ditto, with most meat here.
2006-12-29 Frank Ch. Eigler <fche@redhat.com>
PR 3523.
* buildok/fourteen.stp, fourteen-plus.stp: Tweak & add a test.
* systemtap.base/bench.stp: Work around randomized-ordered probes.
* systemtap.base/bench.exp: Tighten output requirements.
|
|
|
|
|
|
|
|
|
|
| |
* stap.1.in: Document how to specify the size of global arrays.
testsuite/
* buildok/array_size.stp, parseko/array01.stp, parseko/array02.stp,
parseko/array03.stp, parseko/array04.stp, transko/array01.stp,
systemtap.base/array_size.exp, systemtap.base/array_size.stp:
Tests for specifying the size of global arrays.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 3522.
* tapsets.cxx (dwflpp::emit_address): Call
_stp_module_relocate only once per session.
Error message cleanup: duplicate elimination etc.
* session.h (saved_errors): Store a set of 'em.
(num_errors): Return set size. Remove old numeric field.
Update all callers.
* elaborate.cxx (systemtap_session::print_errors):
Print each encountered message just once.
* staptree (semantic_error): Make msg2 writeable.
Add a chain field.
* tapsets.cxx (*var_expanding*:visit_target_symbol): Set saved
semantic_error's chain field.
* elaborate.cxx (register_library_aliases, visit_foreach_loop,
visit_functioncall, derive_probes): Plop "while: ..." error
message prefix/suffix right into the semantic_error message string.
* parse.cxx (lexer::scan): Identify erroneous token better
in error message for unresolvable $N/@M command line args.
* util.h (lex_cast_hex): Use std::hex, not std::ios::hex.
2006-12-19 Frank Ch. Eigler <fche@redhat.com>
PR 3522.
* buildok/twentyfive.stp: New test for static $var access.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* buildok/maxactive01.stp: Added test for "maxactive(N)"
return probe processing.
* parseko/maxactive01.stp: Ditto.
* parseko/maxactive02.stp: Ditto.
* parseko/maxactive03.stp: Ditto.
* parseko/maxactive04.stp: Ditto.
* semko/maxactive01.stp: Ditto.
* semko/maxactive02.stp: Ditto.
* semko/maxactive03.stp: Ditto.
* systemtap.base/maxactive.exp: Ditto.
|
|
|
|
|
| |
* buildok/eighteen.stp: Fix for 2.6.18.
* buildok/two.stp: Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* session.h (struct systemtap_session): Add kernel_base_release
to store the kernel version without the -NNN suffix.
* main.cxx (main): Generate and use kernel_base_release.
* parse.cxx (eval_pp_conditional): Use kernel_base_release.
* tapsets.cxx (profile_derived_probe::profile_derived_probe):
Use kernel_base_release.
* tapsets.cxx (timer_builder::build): Support a wide variety of
timer varients -- jiffies, s/sec, ms/msec, us/usec, ns/nsec, and
hz. Use hrtimers automatically on kernels that have it.
(timer_builder::register_patterns): Bind all of the new timer
varients in one easy place.
(register_standard_tapsets): Call timer_builder::register_patterns.
(struct hrtimer_builder): Removed since timer_builder is generic.
* stapprobes.5.in: Document new timer.* functionality.
* tapsets.cxx (hrtimer_derived_probe_group::emit_probes): Add a
shared global for the actual hrtimer resolution, _stp_hrtimer_res.
(hrtimer_derived_probe_group::emit_module): Init _stp_hrtimer_res.
(hrtimer_derived_probe::emit_interval): Limit intervals at a
minimum to the hrtimer's actual resolution.
(hrtimer_derived_probe::emit_probe_entries): Forward timers
based on previous expiration instead of restarting relative.
testsuite/
* buildok/fourteen.stp: Test new timer functionality.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 3233
./
* stapfuncs.5.in: Document new gettimeofday_ns.
runtime/
* time.c (stp_time_t): Use ns for the base time, and freq is now kHz.
(__stp_estimate_cpufreq): Compute kHz instead of MHz.
(__stp_time_timer_callback, __stp_init_time): Compute base in ns.
(__stp_time_cpufreq_callback): Record kHz instead of MHz.
(_stp_init_time): Record kHz, and disable preemption to avoid a race
in the cpufreq notifier.
(_stp_gettimeofday_ns): Converted from _stp_gettimeofday_us.
tapset/
* timestamp.stp (gettimeofday_ns): New function
(gettimeofday_us, gettimeofday_ms, gettimeofday_s):
Use gettimeofday_ns as the base unit.
testsuite/
* buildok/timestamp.stp: add gettimeofday_ns test.
|
| |
|
|
|
|
| |
* testsuite/buildok/iolock_test.stp: Updated for ioblock.stp
|
|
|
|
|
|
|
|
|
|
|
|
| |
* stapprobes.5.in, testsuite/buildok/memory.stp: move pagefault
to vm.* namespace
tapset/
* memory.stp: move pagefault to vm.* namespace, and add many other
virtual-memory themed probes.
tapset/LKET/
* pagefault.stp: move pagefault to vm.* namespace
|
|
|
|
|
|
|
|
|
| |
* tapset/signal.stp: Create a new tapset that addresses process signals.
Much of this was contributed by Manoj Pattabhiraman (IBM).
* tapset/process.stp: Remove aliases that now belong in signal tapset
* examples/small_demos/proc_snoop.stp,
testsuite/buildok/process_test.stp: Rename process.signal_* to
new signal.* tapset.
|
|
|
|
|
|
| |
* tapset/context.stp (probemod): New function.
* stapfuncs.5.in: Document it.
* testsuite/buildok/probemod.stp: Test it.
|
| |
|
|
|
|
|
| |
* testsuite/buildok/scsi.stp: Only run the scsi test if the scsi
kernel subsystem is running.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* testsuite/buildok/process_test.stp: add signal_handle test
* examples/small_demos/proc_snoop.stp: log signal_handle
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 2645.
* stapprobes.5.in: Document "?" probe point suffix.
* parse.cxx (parse_probe_point): Recognize "?" optional suffix.
* elaborate.cxx (derive_probes): Observe probe_point->optional.
* staptree.h, staptree.cxx: Corresponding changes.
* tapsets.cxx (never_derived_probe, never_builder): New classes.
(register_standard_tapsets): Support "never" probe point.
* testsuite/buildok/six.stp, parseok/five.stp: Modifed tests.
* translate.cxx (emit_module_init): Format "-t" (benchmarking)
cycle-time reports similarly to "-v" (verbose) times.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* main.cxx (usage): Added exitcode parameter.
(main): Improved a few error messages. Also, when an error is
given, stap now always exits with a status of 1.
* testsuite/buildok/cmdline01.stp: New test.
* testsuite/parseko/cmdline01.stp: Ditto.
* testsuite/parseko/cmdline02.stp: Ditto.
* testsuite/parseko/cmdline03.stp: Ditto.
* testsuite/parseko/cmdline04.stp: Ditto.
* testsuite/parseko/cmdline05.stp: Ditto.
* testsuite/parseko/cmdline06.stp: Ditto.
* testsuite/parseok/cmdline01.stp: Ditto.
* testsuite/parseok/cmdline02.stp: Ditto.
|
| |
|
|
|
|
|
|
| |
* testsuite/buildok/sched_test.stp: test scheduler tapset
* examples/small_demos/sched_snoop.stp: demo scheduler tapset
* tapset/scheduler.stp: New scheduler tapset
|
|
|
|
| |
scsi.stp, tskschedule.stp
|
|
|
|
|
|
|
| |
* process.stp: Rename signal.send to signal_send and process.complete
to process_complete, to allow process.* to work properly.
* process.stp (_IS_ERR): declare parameter type
* process.stp (process.create): correct new_pid assignment
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* parse.cxx (parser::parser): Added initializer for 'context'
member variable.
(tt2str): Added support for new tok_keyword type.
(operator <<): Ignores keyword content when outputting error
message.
(lexer::scan): Recognizes keywords, such as 'probe', 'global',
'function', etc. and classifies them as type 'tok_keyword'. This
causes keywords to become reserved so they cannot be used for
function names, variable names, etc.
(parser::parse): Changed tok_identifier to tok_keyword when looking
for "probe", "global", or "function". Also sets context member
variable which remembers if we're in probe, global, function, or
embedded context.
(parser::parse_probe, parser::parse_statement)
(parser::parse_global, parser::parse_functiondecl)
(parser::parse_if_statement, parser::parse_delete_statement)
(parser::parse_break_statement, parser::parse_continue_statement)
(parser::parse_for_loop, parser::parse_while_loop)
(parser::parse_foreach_loop, parser::parse_array_in): Looks for
tok_keyword instead of tok_identifier.
(parser::parse_probe_point): Allows keywords as part of a probe
name, since "return" and "function" are keywords.
(parser::parse_return_statement): Looks for tok_keyword instead of
tok_identifier. Make sure we're in function context.
(parser::parse_next_statement): Looks for tok_keyword instead of
tok_identifier. Make sure we're in probe context.
* parse.h: Added parse_context enum. Added 'tok_keyword' to
token_type enum. Added parse_context 'context' member variable to
parser class.
* stap.1.in: Because the string() function has been removed,
the 'string()' function reference has been changed to a 'sprint()'
function reference.
* stapex.5.in: Ditto.
* stapfuncs.5.in: The description of the string() and hexstring()
functions has been removed.
* testsuite/buildok/context_test.stp: Calls to the string()
function were converted to sprint() function calls.
* testsuite/buildok/fifteen.stp: Ditto.
* testsuite/buildok/nineteen.stp: Ditto.
* testsuite/buildok/process_test.stp: Ditto.
* testsuite/buildok/task_test.stp: Ditto.
* testsuite/buildok/timestamp.stp: Ditto.
* testsuite/buildok/twentyone.stp: Ditto.
* testsuite/semok/args.stp: Ditto.
* testsuite/semok/seven.stp: Ditto.
* testsuite/buildok/fourteen.stp: Calls to log()/string() were
converted to a call to printf().
* testsuite/buildok/sixteen.stp: Ditto.
* testsuite/buildok/thirteen.stp: Ditto.
* testsuite/buildok/twentythree.stp: Ditto.
* testsuite/buildok/twentytwo.stp: Ditto.
* testsuite/buildok/seven.stp: Calls to the string()
function were converted to sprint() calls. Calls to the
hexstring() function were converted to sprintf() calls.
* testsuite/semok/eleven.stp: Ditto.
* testsuite/buildok/seventeen.stp: Calls to log()/hexstring() were
converted to a call to printf().
* testsuite/semko/nineteen.stp: Ditto.
* testsuite/parseok/three.stp: Because keywords are reserved, a
variable named 'string' was renamed to 'str'.
* testsuite/parseok/two.stp: Because keywords are reserved, a
variable named 'global' was renamed to 'gbl'.
* testsuite/transko/two.stp: Because the parser now checks for
'next' and 'return' statement context, a 'next' statement was
removed from a function and a 'return' statement was removed from
a probe.
|
|
|
|
| |
* testsuite/buildok/probefunc.stp: test probefunc()
|
|
|
|
|
|
|
|
| |
* examples/small_demos/proc_snoop.stp: monitor all process events.
* testsuite/buildok/task_test.stp: test compilation of all task
functions.
* testsuite/buildok/process_test.stp: test all process events and
associated variables.
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 2643
* testsuite/buildok/syscalls.stp: Take "-u" away again.
* configure.ac, systemtap.spec.in: Bump version to 0.5.7.
* configure: Regenerated.
2006-05-05 Frank Ch. Eigler <fche@elastic.org>
PR 2643
* syscalls.stp: Put back some dummy syscall.exit*.return probes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 2427.
* staptree.cxx (varuse_collecting_visitor::visit_embeddedcode):
Support /* pure */ declaration. Stop using __tvar_ naming hack.
(v_c_u::visit_print_format): Mark sprint and sprintf as
side-effect-free.
(deep_copy_visitor::visit_print_format): Propagate raw_components.
* stap.1.in: Document declaration.
* elaborate.cxx (semantic_pass_opt2): Verbose message tweak.
(dead_stmtexpr_remover): Extend for more aggressive optimization.
* tapsets.cxx (dwarf,mark_var_expanding_copy_visotor): Add
/* pure */ declaration to rvalue expansions.
* tapset/*.stp: Added /* pure */ declarations to many functions.
* testsuite/parseok/unparsers.stp: Propagate guru mode flag.
* testsuite/buildok/twentyfour.stp: New test.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 953
* elaborate.h (derived_probe): Add field "name". Stop passing
"probe index" to other emit_* calls.
(emit_probe_context_vars): New member function.
* elaborate.cxx (derived_probe ctor): Generate unique name.
* translate.cxx (*): Adapt to index->name.
(emit_probe): Realize that probe locals only occur at nesting=0.
* tapsets.cxx (*derived_probe::emit_*): Adapt to index->name.
(mark_var_expanding_copy_visitor): New class to process $argN.
(mark_derived_probe ctor): Call it.
(mark_derived_probe::emit_probe_context_vars): Do it.
* buildrun.cxx (compile_pass): Add more optional gcc verbosity.
Add CFLAGS += -freorder-blocks.
* testsuite/buildok/marker.stp: New test.
|
|
|
|
|
| |
* testsuite/buildok/syscall.stp: Update so
it works again.
|
| |
|
|
|
|
|
|
| |
* tapset/indent.stp, indent-default.stp: New little tapset.
* stapfuncs.5.in: Document it.
* testsuite/buildok/indent.stp: Build it.
|
|
|
|
|
|
|
|
|
| |
* stapfuncs.5.in: Document get_cycles().
* testsuite/buildok/timestamp.stp: Build it and its friends.
2006-02-22 Frank Ch. Eigler <fche@elastic.org>
* timestamp.stp (get_cycles): New function.
|
|
|
|
|
|
| |
* src/testsuite/buildok/syscalls.stp: Build with "-u" to build-test
all auxiliary functions.
* tapsets.cxx (dwarf_query::add_probe_point): Add some "-vv" output.
|
|
|
|
|
|
| |
* stapfuncs.5.in: Document is_return(), returnval() and
probefunc().
* testsuite/buildok/syscall.stp: Basic syscall test.
|
|
|
|
|
| |
PR 2156
* testsuite/buildok/pmap_foreach.stp: Add test with sorting
|
|
|
|
|
|
|
|
|
|
|
| |
PR 2142
* translate.cxx (EXTRACTORS_PERMISSIVE): New experimental policy
parameter.
(c_unparser::visit_arrayindex, visit_print_format, visit_stat_op):
Tolerate absent index (= NULL runtime return) in pmap.
(*): Make semantic_error messages consistently lower case.
* testsuite/buildok/iterate_histogram_buckets.stp: Note some missing
functionality.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 2140
* translate.cxx (mapvar::del): Add ability to delete an indexed stat
from (p)maps.
(delete_statement_operand_visitor::visit_symbol): Add ability to
delete entire pmaps and scalars.
(delete_statement_operand_tmp_visitor): Add a special tmpvar visitor
to parallel delete_statement_operand_visitor.
(c_tmpcounter::visit_delete_statement): Invoke the new visitor.
* testsuite/buildok/delete.stp: Also test scalar deletes.
* vim/syntax/stap.vim: Recognize 'delete' operator.
2006-01-16 Josh Stone <joshua.i.stone@intel.com>
* stat.c (_stp_stat_clear): add a function that just
clears a Stat, so we can use delete in the translator.
|