| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
|
|/ |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-06-23 David Smith <dsmith@redhat.com>
* tapsets.cxx (utrace_derived_probe_group::emit_probe_decl):
Handles UDPF_NONE value.
(utrace_derived_probe_group::emit_vm_callback_probe_decl): New
function.
(utrace_derived_probe_group::emit_module_decls): Calls
emit_vm_callback_probe_decl() to set up vm_callbacks.
2008-06-23 David Smith <dsmith@redhat.com>
* task_finder.c (__stp_tf_vm_cb): New function.
(stap_register_task_finder_target): Sets up syscall entry and
syscall exit handlers.
(__stp_find_file_based_vma): New function.
(__stp_utrace_task_finder_target_syscall_entry): New function.
Saves vma information off at syscall entry.
(__stp_target_call_vm_callback): New function.
(__stp_utrace_task_finder_target_syscall_exit): New function.
Handles changes to memory maps based on information saved at
syscall entry.
* syscall.h: New file containing syscall function.
* task_finder_vma.c: New file containing saved vma information
handling functions.
|
| |
|
| |
|
|
|
|
|
| |
The problem was caused by ptrdiff_t being a long on x86_64 and not
matching any of the overloaded definitions of dwfl_assert.
|
| |
|
|
|
|
|
| |
New dwarf_wrappers.h, dwarf_wrappers.cxx for for idiomatic access to
libdwarf and refactoring somethings out of the giant classes in tapsets.cxx.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|