| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 3681.
* staptree.h (struct vardecl): Add a literal 'init' member for the
initialization value of globals.
* staptree.cxx (vardecl::vardecl): Initialize 'init' to NULL.
(vardecl::print): Print global init value during pass-1 output.
* main.cxx (printscript): Print global init values during verbose
pass-2 output.
* parse.cxx (parser::parse_global): Set the initialization literal of
global vardecls.
* translate.cxx (var::init): Don't unconditionally override the value
of numeric globals when the module_param isn't used.
(c_unparser::emit_global_param): Write numeric module_params directly
into the global variable, as an int64_t instead of long.
(c_unparser::emit_global): Add initialization to global declarations.
Don't create a temp module_param long for numeric globals anymore.
runtime/
* runtime.h (param_set_int64_t, param_get_int64_t,
param_check_int64_t): New functions to allow taking module parameters
directly as int64_t values.
testsuite/
* systemtap.base/global_init.exp, systemtap.base/global_init.stp: New
test for checking the timeliness of global initialization.
|
|
|
|
|
| |
PR 3624.
* stapprobes.5.in: Document the new begin/end syntax.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 3624.
* tapsets.cxx (struct be_derived_probe): Add a new priority parameter
for begin/end probes, and a comparison function for sorting.
(be_builder::build): Parse the priority & pass it to be_derived_probe.
(be_derived_probe_group::emit_module_init, emit_module_exit): Sort the
probe list by priority before emitting any code.
(register_standard_tapsets): Add new begin/end variants.
* parse.cxx (parser::parse_literal): Allow negative numeric literals,
by checking for a '-' unary operator right before a number.
testsuite/
* systemtap.base/be_order.exp, systemtap.base/be_order.stp,
semok/beginend.stp: New tests for begin/end priorities.
* lib/stap_run.exp: Anchor OUTPUT_CHECK_STRING to the end of output.
* systemtap.base/maxactive.exp: Fix to compare output to the end.
* systemtap.base/probefunc.exp: Ditto.
* systemtap.samples/ioblocktest.exp: Ditto.
* systemtap.samples/ioblocktest.stp: Ditto.
* systemtap.samples/tcptest.exp: Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 3623.
* tapsets.cxx (timer_derived_probe_group::emit_module_decls): Restart
the timers if we are in STARTING or RUNNING state.
(hrtimer_derived_probe_group::emit_module_decls): Ditto.
(be_derived_probe_group::emit_module_init): indicate error to the rest
of the initialization if any begin probes fail.
* translate.cxx (c_unparser::emit_module_init): Set the global error
state on an initialization error so timers know to shut down.
runtime/
* time.c (stp_timer_reregister): Add a global to control whether the
gettimeofday timer should restart itself, for clean shutdown.
(__stp_time_timer_callback): Check the global.
(_stp_kill_time, _stp_init_time): Set the global.
(_stp_gettimeofday_ns): Switch to preempt_enable_no_resched.
* time.c (__stp_time_cpufreq_callback): Use the cpu# from the notifier.
(_stp_init_time): No need to disable preemption around cpufreq init.
|
|
|
|
|
|
| |
PR 3648
* main.cxx (main): Tweak error message for tapset script execution.
Also catch those clever rogues who use stdin.
|
|
|
|
|
| |
* bench2/bench.rb: Fixes for the latest runtime
changes.
|
| |
|
|
|
|
| |
misunderstanding
|
|
|
|
|
| |
* tapsets.cxx (common_probe_entryfn_prologue): Tweak
insufficient stack detection logic.
|
|
|
|
|
| |
* systemtap.samples/pfaults.exp: Fix regular expression
to handle buffering issues that broke on MP systems.
|
|
|
|
|
|
| |
* main.cxx (printscript): Prints global embedded code. Not
printing the global embedded code was causing bad caching
behavior.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tapsets.cxx (struct dwarf_var_expanding_copy_visitor): Added
'add_block' member variable. Constructor sets it to NULL.
(dwarf_var_expanding_copy_visitor::visit_target_symbol): Fixes the
problem of accessing a cached target variable in a loop. Cached
target variable is assigned to a temporary variable, which can be
safely access multiple times. In addition, the cached value is
deleted after being read.
(dwarf_derived_probe::dwarf_derived_probe): Adds in the new block
of code created in visit_target_symbol() to the beginning of the
derived probe.
|
| |
|
|
|
|
| |
new testcase of whitelist for safe probes
|
|
|
|
|
|
|
| |
* semko/thirtyfour.stp: Checks for writing to target variable in
.return probe.
* semok/twentyfour.stp: Tests read access to target variable in
.return probe.
|
|
|
|
|
|
|
| |
* tapsets.cxx
(dwarf_var_expanding_copy_visitor::visit_target_symbol):
Improved handling target variables in return probes by having a
per-thread counter.
|
|
|
|
|
|
|
|
|
|
|
|
| |
PRs 2685, 3596, toward 2725.
* tapsets.cxx (common_probe_entryfn_prologue): Skip probe on
insufficient stack.
(build_blacklist): Add a slew of lock-related calls.
(query_module): Check for debuginfo architecture match.
* translate.cxx (translate_pass): Add default MINSTACKSPACE.
* configure.ac: Link stap with -lebl too.
* configure: Regenerated.
* stap.1.in: Document MINSTACKSPACE parameter.
|
| |
|
| |
|
|
|
|
| |
* translate.cxx (emit_module_init): Adapt to 2.6.19 utsname().
|
|
|
|
|
|
| |
PR 3556.
* translate.cxx (emit_module_init): Emit code to check
system_utsname against translate-time version/machine strings.
|
| |
|
|
|
|
|
| |
change the return codes of lket-b2a and add a new macro b2a_error() for error
reporting
|
|
|
|
|
|
|
|
| |
* tapsets.cxx
(dwarf_var_expanding_copy_visitor::visit_target_symbol): BZ
1382. Target variables can be accessed in return probes. A new
function entry probe is generated that saves the target variables
so that they can be accesssed in the return probe.
|
|
|
|
| |
* context.stp (caller_addr): Declare return type.
|
| |
|
|
|
|
|
| |
* main.cxx (main): Signal parse error if a tapset script
is given as the user script.
|
|
|
|
|
|
|
|
|
| |
runtime/lket/b2a/lket_b2a.[ch]: bugfix for #3536
lket_trace.stp: add the logging of pid, ppid
process.stp: add logging of tid, ppid for lket_internal.process.execve.
Change to use for_each_process() in process_snapshot() to get
the info of all running processes.
register_event.stp: update the registering codes of execve event.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tapsets.cxx (d_v_e_c_v::visit_target_symbol): Restore lost
exception-saving functionality that improves error messages
for incorrect $target expressions.
(translate_components): Systematize error messages somewhat.
* translate.cxx (emit_function, emit_probe): Clarify
"array locals" error message.
2006-11-17 Frank Ch. Eigler <fche@redhat.com>
* semko/thirtysix.stp, transko/three.stp: New tests.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* symbols.c (do_kernel_symbols): Add sizeof(long) to sym_base
to preserve 64-bit alignment.
|
|
|
|
|
|
|
|
| |
* procfs.c (_stp_proc_write_cmd): For STP_SYMBOLS,
type field is a long to preserve alignment.
Use STP_ALLOC_FLAGS.
* symbols.c: Use STP_ALLOC_FLAGS.
|
|
|
|
|
|
|
| |
* alloc.c (STP_ALLOC_FLAGS): Define.
Cleanup ifdefs.
* map.c: Use STP_ALLOC_FLAGS.
* stat.c: ditto.
|
|
|
|
|
|
| |
performance(unfinished).
visit members in scripts for better safety check
|
|
|
|
| |
replace all minus signs used in man page with \-
|
|
|
|
| |
pass integer values explicitly as 64-bit into _lket_trace() to avoid error when parse va-arg by _stp_printf
|
|
|
|
|
|
|
| |
* tapsets.cxx
(dwarf_var_expanding_copy_visitor::visit_target_symbol): Minor
improvement to error handling by throwing exceptions before
allocations are done.
|
|
|
|
|
|
|
|
|
|
|
| |
* semko/maxactive03.stp: Stop on pass2 instead of on pass1.
* lib/stap_run.exp: As a side-effect, stap_run() sets global
'probe_errors' and 'skipped_probes' to the number of probe errors
and skipped probes seen while running the probe.
* systemtap.base/maxactive.exp: Uses extended stap_run() to find
number of skipped probes instead of using private stap_run()
variant.
|
|
|
|
|
| |
* stap.1.in: On urging of Adam Jackson, add blurbs on array syntax
and default limits.
|
|
|
|
| |
bugfix of lket-b2a
|
|
|
|
|
|
|
|
|
| |
add some trace aliases
tapset/LKET/register_event.stp:
register sys events in embedded c codes for stap to better optimize the generated codes
Update LKET man page accordingly
|
|
|
|
| |
bugfix of the obsolete buf_info and consumed_info.
|
|
|
|
| |
* Makefile.am (staprun_LDADD): Need PROCFLAGS here too.
|
| |
|
|
|
|
|
|
|
|
| |
* Makefile.am (staprun_CFLAGS): New. Use PROCFLAGS.
* configure.ac: Add PROCFLAGS. Processor-dependent
compilation flags.
* configure: Rebuilt.
* Makefile.in: Rebuilt.
|
|
|
|
|
|
|
|
| |
* transport_msgs.h: Change all ints to int32_t. Prefix
all struct names with "_stp".
* transport.c: Use new struct names.
(_stp_handle_start): Send pointer size and endianess.
* procfs.c: Use new struct names.
|
|
|
|
|
|
|
|
|
|
|
| |
* librelay.c: Change all references to transport messages
to use the new names with "_stp" prefix.
(stp_main_loop): For STP_SYMBOLS, check pointer size and
endianess to confirm staprun is compatible with the kernel.
* librelay.h: Move a bunch of common includes here.
* stpd.c: Cleanup includes.
* symbols.c: Ditto.
|
|
|
|
| |
* sym.h: Change int to int32_t.
|