David Smith [Fri, 16 May 2008 19:51:07 +0000 (14:51 -0500)]
Fixed PR 6499 (utrace probe crash).
2008-05-16 David Smith <dsmith@redhat.com>
PR 6499.
* task_finder.c (stap_register_task_finder_target): Added error
check.
(__stp_utrace_task_finder_report_clone): Ditto.
(stap_utrace_detach_ops): Uses do_each_thread/while_each_thread
instead of for_each_process (which only iterated among process
group leaders instead of all threads).
(stap_start_task_finder): Ditto.
Frank Ch. Eigler [Fri, 16 May 2008 15:04:30 +0000 (11:04 -0400)]
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap
* 'master' of ssh://sources.redhat.com/git/systemtap:
Ignores signals when removing the temporary directory.
Add appropriate ChangeLog entry for earlier checkin.
David Smith [Thu, 15 May 2008 20:52:12 +0000 (15:52 -0500)]
Ignores signals when removing the temporary directory.
2008-05-15 David Smith <dsmith@redhat.com>
* main.cxx (setup_signals): New function.
(main): Calls setup_signals() to setup signal handling. When
removing the temporary directory, ignore signals.
Jim Keniston [Tue, 13 May 2008 22:34:00 +0000 (15:34 -0700)]
Converted more aliases to use arg numbers instead of names. In particular,
converted the aliases for futex, getrusage, and mq_open -- which presented
problems when this tapset is used without dwarf, even if those aliases
aren't used.
Frank Ch. Eigler [Mon, 12 May 2008 23:37:31 +0000 (19:37 -0400)]
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap
* '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
David Smith [Thu, 8 May 2008 21:19:08 +0000 (16:19 -0500)]
Fix for PR 6500.
2008-05-08 David Smith <dsmith@redhat.com>
PR 6500.
* task_finder.c (__stp_utrace_task_finder_report_exec): Moved
attach logic to __stp_utrace_attach_match_filename().
(__stp_utrace_attach_match_filename): New function.
(__stp_utrace_task_finder_report_clone): Calls
__stp_utrace_attach_match_filename() to attach to newly cloned
threads.
Jim Keniston [Tue, 6 May 2008 00:03:49 +0000 (17:03 -0700)]
Replaced [u_]arg() with [u]int_arg(), [u]long_arg(), {s|u}32_arg(),
{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.
David Smith [Mon, 5 May 2008 16:43:26 +0000 (11:43 -0500)]
Made runtime/task_finder.c improvements.
2008-05-05 David Smith <dsmith@redhat.com>
* task_finder.c (stap_utrace_detach_ops): Make sure we ignore
/sbin/init.
(__stp_utrace_attach): Added function to handle details of
attaching a utrace engine.
(__stp_utrace_task_finder_report_clone): Calls
__stp_utrace_attach.
(__stp_utrace_task_finder_report_exec): Ditto.
(stap_start_task_finder): Ditto.
Jim Keniston [Thu, 1 May 2008 23:02:29 +0000 (16:02 -0700)]
Added support for register(), u_register(), arg(), and u_arg() functions.
Still missing: arg64(), _stp_copy_from_user stack, .linkage clause,
tests, docs.
David Smith [Tue, 29 Apr 2008 21:23:30 +0000 (16:23 -0500)]
Made utrace probes more robust.
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.
Jim Keniston [Fri, 18 Apr 2008 23:21:18 +0000 (16:21 -0700)]
PR 4311 - Function boundary tracing without debuginfo: Phase I
* 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.
David Smith [Thu, 17 Apr 2008 17:49:32 +0000 (12:49 -0500)]
Added process PATH checking and conditional utrace handler function calls.
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.
David Smith [Tue, 15 Apr 2008 20:58:23 +0000 (15:58 -0500)]
2008-04-15 David Smith <dsmith@redhat.com>
* 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.