| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
2008-04-17 David Smith <dsmith@redhat.com>
* tapsets.cxx (utrace_builder::build): Make sure that the PATH of
'process("PATH")' probes is an absolute path.
(utrace_derived_probe_group::emit_module_decls): Made calls to
utrace probe handler functions conditional on which types of
utrace probes are going to be output.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* session.h (struct systemtap_session): Added utrace_derived_probe
group and task_finder_derived_probe_group members.
* elaborate.cxx (systemtap_session::systemtap_session): Added
initialization of utrace_derived_probes and
task_finder_derived_probes.
* tapsets.cxx (struct task_finder_derived_probe_group): New
derived_probe_group to handle task_finder framework.
(struct utrace_derived_probe_group): New derived_probe_group to
handle utrace probes.
2008-04-15 David Smith <dsmith@redhat.com>
PR 5961 (partial)
* task_finder.c (stap_start_task_finder): When an interesting
thread is found that is already running, make sure to set up
thread death notification.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* elaborate.h (struct derived_probe_group): Removed
emit_module_header virtual function.
* translate.cxx (c_unparser::emit_common_header): Removed calls to
emit_module_header function.
* tapsets.cxx (be_derived_probe>): Removed emit_module_header function.
(struct timer_derived_probe_group): Ditto.
(struct profile_derived_probe_group): Ditto.
(struct procfs_derived_probe_group): Ditto.
(struct hrtimer_derived_probe_group): Ditto.
(struct perfmon_derived_probe_group): Ditto.
(dwarf_derived_probe_group::emit_module_decls): Moved kernel check
back from deleted emit_module_header function.
(uprobe_derived_probe_group::emit_module_decls): Ditto.
(mark_derived_probe_group::join_group): Moved marker
kernel check (to a new embedded code section) from deleted
emit_module_header function.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* elaborate.h (struct derived_probe_group): Added
emit_module_header virtual function.
* translate.cxx (c_unparser::emit_common_header): Calls each probe
group's emit_module_header function.
(translate_pass): Moved inclusion of linux/marker.h to
mark_derived_probe_group::emit_module_header().
* tapsets.cxx (struct be_derived_probe_group): Added empty
emit_module_header function.
(struct timer_derived_probe_group): Ditto.
(struct profile_derived_probe_group): Ditto.
(struct procfs_derived_probe_group): Ditto.
(struct hrtimer_derived_probe_group): Ditto.
(struct perfmon_derived_probe_group): Ditto.
(dwarf_derived_probe_group::emit_module_header): Moved kprobes
kernel check from emit_module_decls() to here.
(uprobe_derived_probe_group::emit_module_header): Moved uprobe
kernel check from emit_module_decls() to here.
(uprobe_derived_probe_group::emit_module_decls): Moved uprobe
kernel check to emit_module_header().
(mark_derived_probe_group::emit_module_header): Moved marker
kernel check from emit_module_decls and translate_pass() to here.
(uprobe_derived_probe_group::emit_module_decls): Moved marker
kernel check to emit_module_header().
|
|
|
|
|
|
|
|
|
|
|
| |
PR 6028
* translate.cxx (c_unparser::emit_common_header): Add unwaddr for
caching unwound address.
* tapsets.cxx (common_probe_entryfn_prologue): Clear unwaddr.
* loc2c-runtime.h (fetch_register): Call ia64_fetch_register with
the address of c->unwaddr.
* regs-ia64.c (ia64_fetch_register): Don't unwind stack if it has
already unwound stack in same probe.
|
|
|
|
| |
* tapsets.cxx (common_probe_entryfn_prologue): Clear last_stmt.
|
|
|
|
|
| |
* translate.cxx (emit_function): Set context last_stmt, in case
an error occurs during the function.
|
|
|
|
|
|
| |
PR 5975.
* tapsets.cxx (*): Added a few (void) expressions for asserts that
may be compiled out.
|
|
|
|
|
|
|
|
|
|
|
| |
PR 3542
* buildrun.cxx (compile_pass): Add an autoconf to check the kernel
supports batch unregistration.
* tapsets.cxx (dwarf_derived_probe_group::emit_module_decls): Add an
array of probe pointers for batch unregistration.
* tapsets.cxx (dwarf_derived_probe_group::emit_module_exit): Use
unregister_k(ret)probes if it is supported.
* runtime/autoconf-unregister-kprobes.c : New file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-03-03 Frank Ch. Eigler <fche@elastic.org>
PR5516
* elaborate.cxx (symbol_fetcher, dead_assignment_remover):
Support unresolved $target lvalues. Propagate pretty error
messages.
* staptree.cxx (varuse_collecting_visitor target_symbol): Ditto.
* staptree.h: Corresponding decl.
* loc2c.c: c_translate_pointer_store: New function.
* loc2c.h: Corresponding decl.
* tapsets.cxx (dwflpp::translate_final_fetch_or_store): Call it
for $target pointer assignments.
2008-03-03 Frank Ch. Eigler <fche@elastic.org>
PR5516
* buildok/twentynine.stp: New test.
|
|
|
|
|
|
|
|
|
|
|
| |
2008-02-28 Frank Ch. Eigler <fche@elastic.org>
PR5045
* session.h (pending_interrupts): New global.
* main.cxx (handle_interrupts): New fn to handle SIGINT* etc.
* elaborate.cxx, translate.cxx, tapsets.cxx, main.cxx (*): Insert
pending_interrupts escape hatches inside potentially timetaking loops.
* buildrun.cxx: Don't deal with signals.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-02-22 Frank Ch. Eigler <fche@elastic.org>
PR5787, PR2608, .statement()
* tapsets.cxx (query_dwarf_func): Process .statement(NUM) probes too.
(query_cu): Ditto.
(query_func_info): Bypass prologue searching for .statement() probes.
(query_cu): Ditto.
(build_blacklist): Remove unsightly empty first alternative in
"^(|foo)$" regexps. Show them for -vvv.
* buildrun.cxx (compile_pass): Don't turn on "gcc -Q" on until -vvvv.
2008-02-22 Frank Ch. Eigler <fche@elastic.org>
* systemtap.base/stmtvars.exp: New test for PR 5787.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tapsets.cxx (struct mark_derived_probe): Renamed 'probe_sig' to
'probe_format'.
(mark_derived_probe::mark_derived_probe): Added new "format" probe
point component.
(mark_derived_probe::parse_probe_format): Renamed from
'mark_derived_probe::parse_probe_sig'.
(struct mark_builder): Added typedefs. Converted mark_cache from
a map to a multimap to handle markers with the same name but
different formats.
(mark_builder::build): Added new 'format' probe parameter.
(register_standard_tapsets): Added new 'format' marker probe
optional parameter.
* stapprobes.5.in (parts): Documented new "format" probe
component.
|
|
|
|
|
|
|
| |
* tapsets.cxx (query_module): Use dwfl_module_getdwarf rather
than dwfl_module_getelf for e_machine check.
(dwarf_query::get_blacklist_section): Likewise for section search.
Ignore non-SHF_ALLOC sections.
|
|
|
|
|
| |
* tapsets.cxx (query_module): Use dwfl_module_getdwarf rather
tha dwfl_module_getelf for e_machine check.
|
|
|
|
|
| |
* tapsets.cxx (query_module): Tweak elf-machine checking to
better represent elfutils idioms.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-02-19 Frank Ch. Eigler <fche@elastic.org>
PR 5766.
* tapsets.cxx (build_blacklist): Switch (back) to regexp-based
blacklist construction ...
(blacklist_p): ... and querying.
2008-02-19 Frank Ch. Eigler <fche@elastic.org>
PR5766.
* semko/fortyfive.stp: New test.
|
|
|
|
|
|
|
| |
PR 5672.
* tapsets.cxx (mark_derived_probe): Call probe_point copy ctor to
shallow-copy incoming base probe location before
recomputing/overwriting it.
|
|
|
|
|
| |
* tapsets.cxx (function_name_last_match): New function.
(query_dwarf_func): Call it to stop unnecessary further iteration.
|
|
|
|
|
|
| |
PR 5759
* tapsets.cxx (build_blacklist): Add some CONFIG_PREEMPT-related
functions.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-02-12 Frank Ch. Eigler <fche@elastic.org>
PR 4393
* tapsets.cxx (emit_address): Support relocatable kernels.
(dwarf_derived_probe ctor): Hack around for missing USHRT_MAX.
* elaborate.cxx (semantic_pass): Increment rc if exception caught.
2008-02-12 Frank Ch. Eigler <fche@elastic.org>
* systemtap.pass1-4/buildok.exp: No longer kfail buildok/seventeen.
|
|
|
|
|
| |
PR 5757
* tapsets.cxx, translate.cxx: Cleanup findentation a bit.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 4446 (partial)
* tapsets.cxx
(mark_var_expanding_copy_visitor::visit_target_symbol_arg): New
function.
(mark_var_expanding_copy_visitor::visit_target_symbol_format): New
function.
(mark_var_expanding_copy_visitor::visit_target_symbol): Handles
"$arg" or "$format".
(mark_derived_probe_group::emit_module_decls): Sets up "$format"
data.
|
| |
|
|
|
|
|
| |
* tapsets.cxx (dwarf_derived_probe_group::emit_module_decls):
Added 'const' to several members of stap_dwarf_probes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-01-26 Frank Ch. Eigler <fche@elastic.org>
PR 5673.
* tapsets.cxx (dwarf_derived_probe_group): Split stap_dwarf_probes[]
into bss-carried kprobes structs. Tune embedded strings for
minimizing relocation-vs-fixed-buffer wastage.
* tapsets.cxx (dwarf_derived_probe): Impose .maxactive() limits.
2008-01-26 Frank Ch. Eigler <fche@elastic.org>
PR 5673.
* testsuite/parseko/maxactive{04,05}.stp: New tests.
|
|
|
|
|
|
|
|
|
|
| |
2008-01-25 Frank Ch. Eigler <fche@elastic.org>
PR 5672.
* staptree.cxx (probe_point copy ctor): New function.
* staptree.h: Declare it.
* tapsets.cxx (dwarf_derived_probe ctor): Call it to shallow-copy
incoming base probe location before recomputing/overwriting it.
|
|
|
|
|
|
|
|
|
|
|
| |
2008-01-23 Frank Ch. Eigler <fche@elastic.org>
PR 2151
* tapsets.cxx (dwflpp::setup): Parametrize debuginfo_path.
* stap.1.in: Document this.
PR 2521.
* systemtap.base/debugpath.exp: New test.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-01-17 Frank Ch. Eigler <fche@elastic.org>
PR 4935.
Reorganize probe condition implementation.
* elaborate.cxx (add_condition): New function.
(derived_probe): Remove condition member.
(derived_probe ctors): Assert non-null incoming probe/location ptrs.
(insert_condition_statement): Remove; turn into ...
(semantic_pass_conditions): New pass-2 subpass.
(semantic_pass_symbols, visit_symbol, visit_functioncall, find_var):
Detect some condition-related error cases.
(match_key): Change type to exp_type from tok_type. Update callers.
(alias_expansion_builder): Propagate probe conditions.
* staptree.cxx (probe): Remove condition field and related functions.
* tapsets.cxx (dwarf_derived_probe ctor): Compute replacement
wildcard-expanded probe_point preserving more of the original
location.
(mark_derived_probe ctor): Make similar to others - take location
rather than condition parameters.
* translate.cxx (emit_common_header): Tweak ordering of tmpcounter
traversal and hashkey expression generation.
* elaborate.h: Corresponding changes.
2008-01-17 Frank Ch. Eigler <fche@elastic.org>
PR 4935.
* semko/forty.stp, fortyone.stp, fortytwo.stp: New tests.
* semok/twentynine.stp: Weaken test since condition expressions have
become more tightly constrained.
|
|
|
|
|
|
|
| |
* tapsets.cxx
(perfmon_var_expanding_copy_visitor::visit_target_symbol): Print an
error when trying to use the perfmon target variable '$counter as
an array or structure.
|
|
|
|
|
|
|
| |
* tapsets.cxx
(procfs_var_expanding_copy_visitor::visit_target_symbol): Print an
error when trying to use the procfs target variable '$value' as an
array or structure.
|
| |
|
|
|
|
|
|
| |
PR 5608.
* tapsets.cxx (visit_target_symbol): Print an error when trying to
use a marker argument as an array or structure.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 4935
* tapsets.cxx (dwarf_derived_probe::dwarf_derived_probe): Allow user
to access kernel variables in the condition of probe points.
* stapprobes.5.in : Document the conditional probe point.
* NEWS : Ditto.
* parseok/five.stp: Add an example of conditional probe point.
* parseko/probepoint04.stp: New test for conditional probe point.
* parseko/probepoint05.stp: Ditto.
* parseko/probepoint06.stp: Ditto.
* parseko/probepoint07.stp: Ditto.
* parseko/probepoint08.stp: Ditto.
* parseko/probepoint09.stp: Ditto.
* semok/twentynine.stp: Ditto.
* semko/thirtynine.stp: Ditto.
* systemtap.base/onoffprobe.*: Ditto.
|
|
|
|
|
|
| |
* tapsets.cxx (mark_derived_probe::initialize_probe_context_vars):
Handles the case where one marker has more than one string
argument.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 4935.
* parse.cxx (parser::parse_probe_point): Parse "if" condition
following probe point.
* staptree.h (probe_point): Add "condition" field.
(probe): Add "condition" field and "add_condition" method.
(deep_copy_visitor): Add "deep_copy" method for the expression.
* staptree.cxx (probe_point::probe_point): Initalize it.
(probe::add_condition): Implement it.
(probe::print): Output "condition" field.
(probe::str): Ditto.
(deep_copy_visitor::deep_copy): Implement it.
* elaborate.h (derived_probe): Add "insert_condition_statement"
method.
* elaborate.cxx (derived_probe::derived_probe): Initialize "condition"
field, and insert a condition check routine on the top of body.
(derived_probe::insert_condition_statement): Implement it.
(alias_expansion_builder::build): Pass the condition from the alias
referer to new alias.
* tapsets.cxx (be_derived_probe): Remove unused constructor.
(dwarf_derived_probe::dwarf_derived_probe): Insert a condition check
routine on the top of body.
(mark_derived_probe::mark_derived_probe): Ditto.
(mark_builder::build): Pass the base location to mark_derived_probe.
|
|
|
|
|
|
|
|
|
|
|
| |
* tapsets.cxx (mark_derived_probe::initialize_probe_context_vars):
Updated to work with latest LTTNG patch
patch-2.6.24-rc2-lttng-0.10-pre23.tar.bz2.
(mark_derived_probe_group::emit_module_decls): Ditto.
(mark_derived_probe_group::emit_module_init): Ditto.
(mark_derived_probe_group::emit_module_exit): Ditto.
* translate.cxx (c_unparser::emit_common_header): Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tapsets.cxx: Removed mark_query structure.
(mark_derived_probe::mark_derived_probe): Just looks for "kernel"
marker probes.
(mark_builder::build_no_more): No longer kern_dw, instead clears
the marker cache.
(mark_builder::build): Now parses Module.markers file to find
marker list and stores them in a cache.
(register_standard_tapsets): Removed 'module("foo").mark("bar")'.
All markers now go through 'kernel.mark("bar")'.
* stapprobes.5.in (parts): Updated marker text.
|
|
|
|
| |
* tapsets.cxx (build_blacklist): Add __raw_spin_is_locked.
|
|
|
|
|
|
|
| |
* tapsets.cxx (mark_query::handle_query_module): Checks for marker
to be in the proper section.
(mark_derived_probe_group::emit_module_decls): Updated emitted
marker C code for 10/2/2007 markers patch. Fixes PR 5178.
|
|
|
|
|
|
| |
From David Wilder <dwilder@us.ibm.com>
* tapsets.cxx (mark_query::handle_query_module): Updated to handle
64-bit platforms correctly.
|
|
|
|
|
|
|
|
|
| |
* tapsets.cxx (dwflpp::setup): Added 'debuginfo_needed' parameter
to not error if no debuginfo present.
(hex_dump): New function.
(mark_query::handle_query_module): Updated for
10/2/2007 markers patch. Currently only handles markers in the
kernel image itself - not in modules.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* main.cxx: Add pass 4.5: make uprobes.ko in runtime/uprobes
* buildrun.cxx: Add uprobes_enabled() and make_uprobes().
Factor run_make_cmd() out of compile_pass().
* buildrun.h: Add uprobes_enabled and make_uprobes decls.
* tapsets.cxx: Do correct #include for modprobed uprobes.ko;
set need_uprobes in pass 2.
* session.h: Add need_uprobes
* runtime/staprun/common.c: Add -u option -> need_uprobes
* runtime/staprun/staprun_funcs.c: Generalize insert_module()
to support inserting uprobes.ko.
* runtime/staprun/staprun.c: Add enable_uprobes(). insert_module
call becomes insert_stap_module().
* runtime/staprun/staprun.h: Reflect insert_module() and
need_uprobes changes
* runtime/uprobes/*.[c,h]: uprobes is built as a module,
rather than included into the source of the stap-generated
module.
* runtime/uprobes/Makefile: Added
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 5078
* tapsets.cxx (be_derived_probe): Rework to add error probe support.
Emit probe description array in C for traversal by generated code.
* register_standard_tapsets: Add error probes.
* stapprobes.5.in: Document.
* translate.cxx (emit_module_init): Handle errors that may occur
during begin probes.
(emit_module_exit): Use schedule() rather than cpu_relax() during
shutdown synchronization wait loop.
* staptree.cxx (probe::printsig): Put multiple probe points on same
line.
2007-10-02 Frank Ch. Eigler <fche@redhat.com>
PR 5078
* semok/twentysix.stp, systemtap.base/beginenderror.*: New tests.
|
| |
|
|
|
|
|
|
|
|
|
| |
* tapsets.cxx (mark_query::handle_query_module): Updated for
9/18/2007 markers patch.
(mark_derived_probe::parse_probe_sig): Ditto.
(mark_derived_probe_group::emit_module_decls): Ditto.
(mark_derived_probe_group::emit_module_init): Ditto.
(mark_derived_probe_group::emit_module_exit): Ditto.
|