| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-06-10 David Smith <dsmith@redhat.com>
* tapsets.cxx (utrace_derived_probe_group::emit_probe_decl):
Initializes .vm_callback.
2008-06-10 David Smith <dsmith@redhat.com>
* task_finder.c (struct stap_task_finder_target): Added
vm_callback public field.
(stap_register_task_finder_target): Sets up .report_quiesce
handler.
(__stp_utrace_task_finder_target_quiesce): New function.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-06-09 David Smith <dsmith@redhat.com>
* tapsets.cxx
(utrace_var_expanding_copy_visitor::visit_target_symbol): Calls
'syscall_nr' to get the value of '$syscall'.
2008-06-09 David Smith <dsmith@redhat.com>
* x86_64/registers.stp (syscall_nr): Added syscall_nr function.
* i686/registers.stp (syscall_nr): Ditto.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-06-09 David Smith <dsmith@redhat.com>
* tapsets.cxx (utrace_derived_probe::join_group): Removed
generated inclusion of tracehook.h.
(utrace_var_expanding_copy_visitor::visit_target_symbol): Uses
'_stp_arg(0)' to get value of '$syscall'.
2008-06-09 David Smith <dsmith@redhat.com>
* task_finder.c (__stp_utrace_task_finder_report_exec): Handles
2.6.25 kernels.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-06-06 David Smith <dsmith@redhat.com>
* tapsets.cxx (enum utrace_derived_probe_flags): Redefined in
terms of probe types instead of utrace events.
(utrace_var_expanding_copy_visitor::visit_target_symbol): Uses new
utrace_derived_probes_flags values.
(utrace_builder::build): Handles new probe types and new
utrace_derived_probes_flags values.
(utrace_derived_probe_group::emit_probe_decl): Updated to handle
new utrace_derived_probe_flags values.
(utrace_derived_probe_group::emit_module_decls): Ditto. Also
correctly handles 'begin' events correctly by installing a quiesce
handler (instead of running the probe directly).
(register_standard_tapsets): Registers updated utrace probe
types.
2008-06-06 David Smith <dsmith@redhat.com>
* task_finder.c: Added some debug logic. Use
'-DDEBUG_TASK_FINDER' to enable.
(stap_utrace_attach): Renamed from '__stp_utrace_attach'.
(__stp_utrace_attach_match_filename): Calls callback with
notification that this is a process or thread event.
(__stp_utrace_attach_match_tsk): Ditto.
(__stp_utrace_task_finder_report_clone): Ditto.
(__stp_utrace_task_finder_report_exec): Ditto.
(stap_utrace_task_finder_report_death): Ditto.
(stap_start_task_finder): Ditto.
(stap_stop_task_finder): Added debug logic.
2008-06-06 David Smith <dsmith@redhat.com>
* systemtap.base/utrace_p4.exp: Updated for utrace probe changes.
* systemtap.base/utrace_p5.exp: Ditto.
|
|
|
|
|
|
|
|
| |
2008-06-03 David Smith <dsmith@redhat.com>
* tapsets.cxx: Added several string tokens that are used instead
of hard-coded strings.
(register_standard_tapsets): Uses new string tokens.
|
| |
|
|
|
|
|
|
|
| |
2008-05-28 David Smith <dsmith@redhat.com>
* tapsets.cxx (utrace_derived_probe_group::emit_module_decls):
Removed debug print.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-05-28 David Smith <dsmith@redhat.com>
* tapsets.cxx (utrace_derived_probe_group::emit_probe_decl):
Instead of adding clone handlers, just call the probes directly.
(utrace_derived_probe_group::emit_module_decls): For syscall
probes, on exec detach the parent's utrace engine from the child.
2008-05-28 David Smith <dsmith@redhat.com>
* task_finder.c (__stp_utrace_attach_match_filename): Added
register_p parameter, which is passed on to the callback. Only
adds death notification if register_p is 1. If register_p is 0,
removes death notification.
(__stp_utrace_attach_match_tsk): Moved code from
__stp_utrace_task_finder_report_clone that handles the details of
grabbing a task's path.
(__stp_utrace_task_finder_report_clone): Calls new
__stp_utrace_attach_match_tsk().
(__stp_utrace_task_finder_report_exec): Notifies upper layer that
it might need to detach from newly exec'ed process.`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-05-21 David Smith <dsmith@redhat.com>
* tapsets.cxx (utrace_derived_probe_group::emit_module_decls):
Added new 'event_flag' parameter to task_finder callback. Only
calls probe handlers if we received the correct event.
2008-05-21 David Smith <dsmith@redhat.com>
* task_finder.c (__stp_utrace_attach_match_filename): Added
event_flag parameter of event to pass to callback.
(__stp_utrace_task_finder_target_death): Ditto.
(__stp_utrace_task_finder_report_clone): Calls
__stp_utrace_attach_match_filename() with new argument.
(__stp_utrace_task_finder_report_exec): Ditto.
(stap_start_task_finder): Calls callback with an invalid
event_flag since this callback call isn't related to an event.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 'master' of ssh://sources.redhat.com/git/systemtap:
The beginnings of a no-dwarf version of syscalls.stp. Selected
Added CPU REGISTERS and NUMBERED FUNCTION ARGUMENTS sections to
Replaced [u_]arg() with [u]int_arg(), [u]long_arg(), {s|u}32_arg(),
Added support for register(), u_register(), arg(), and u_arg() functions.
* testsuite/{semok,semko}/nodwf*.stp
PR 4311 - Function boundary tracing without debuginfo: Phase I
|
| |\ |
|
| |\ \
| | | |
| | | |
| | | | |
PR 4311 - Function boundary tracing without debuginfo: Phases 1 and 2
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
{s|u}64_arg(), etc. Added asmlinkage(), fastcall(), regparm().
Dealt with some surprises -- e.g., rax is ZERO-extended eax.
Seems to work well with -m32 and -m64 user apps, and with a (small)
dwarfless subset of syscall.stp.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* tapsets.cxx: Major rework of dwflpp, dwarf_query, and related
code to make do with elf info if dwarf info is absent, or
(in the case of vmlinux) make do with a System.map-style
symbol table if even the elf file is absent.
* main.cxx: Use getopt_long instead of getopt. Added --kelf,
--kmap, --ignore-vmlinux, and --ignore-dwarf.
* hash.cxx, session.h, stap.1.in: Added --kelf, --kmap,
--ignore-vmlinux, and --ignore-dwarf.
|
| |_|/
|/| |
| | |
| | |
| | |
| | | |
This reverts commit e0d0dcf974e2d0898a7f5a05a2a3fdc93ba51fea.
It seems that blacklisting kernel/timer.c is overbroad.
|
|/ / |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
2008-04-29 David Smith <dsmith@redhat.com>
* tapsets.cxx (utrace_derived_probe_group::emit_probe_decl): Added
death event handlers to ensure that for every utrace_attach there
is a corresponding utrace_detach.
(utrace_derived_probe_group::emit_module_decls): Ditto.
2008-04-29 David Smith <dsmith@redhat.com>
* task_finder.c: Made more robust by ensuring that all utrace
attaches have a corresponding utrace detach.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
btw, here's a test script to monitor the persistent context values:
function cycles(which:long) %{
THIS->__retvalue = (THIS->which == 0) ? CONTEXT->cycles_base :
CONTEXT->cycles_sum;
%}
probe timer.profile { /* just for */ backtrace() /* load generation */
printf("%d %d\n", cycles(0), cycles(1)) }
probe timer.s(1) { exit() }
|
| |
| |
| |
| |
| |
| |
| |
| | |
2008-04-25 David Smith <dsmith@redhat.com>
PR 6455.
* tapsets.cxx (mark_builder::build): Handles markers with no
format string.
|
| | |
|
| |
| |
| |
| | |
Reported-By: Peter Teoh <htmldeveloper@gmail.com>
|
| |
| |
| |
| |
| |
| |
| | |
2008-04-22 David Smith <dsmith@redhat.com>
* tapsets.cxx (utrace_derived_probe_group::emit_module_decls):
Removed debug statements.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
2008-04-18 David Smith <dsmith@redhat.com>
* tapsets.cxx (struct utrace_builder): Added exec probes.
(utrace_derived_probe_group::emit_probe_decl): Ditto.
(utrace_derived_probe_group::emit_module_decls): Ditto.
(register_standard_tapsets): Ditto.
* stapprobes.5.in: Added information about exec probes.
* NEWS: Added information about utrace probes.
2008-04-18 David Smith <dsmith@redhat.com>
* systemtap.base/utrace_p4.exp: Added exec probe test.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|