Frank Ch. Eigler [Sat, 28 Jun 2008 01:45:37 +0000 (21:45 -0400)]
Merge commit 'origin/master' into pr6429-comp-unwindsyms
* commit 'origin/master':
Always include libdw using link groups.
Fix bug in handling process(PID) probes.
Added tests for 'process(PID)' variants.
This commit makes changes to the VFS tapset. The changes include deprecation of
syscalls2.stp: Add sys_renameat.
Only probe lines once for the :* wildcard line pattern.
Revert checking address in runtime
bz451707: fix conversions.exp test $name
Cleanup in tapsets.cxx
Added powerpc support to runtime/syscall.h.
Remove validating _stext due to many aliased symbols
PR6646: Add checking address in runtime
Fixed offset argument to vm_callback.
Josh Stone [Fri, 27 Jun 2008 23:19:19 +0000 (16:19 -0700)]
Always include libdw using link groups.
This is necessary for distros that ship static libdw, Roland suggested
that it shouldn't hurt to do it this way on other distros too. It's
nicer now not to require the extra "--enable-staticdw" configure flag.
root [Fri, 27 Jun 2008 08:27:52 +0000 (13:57 +0530)]
This commit makes changes to the VFS tapset. The changes include deprecation of
some old probe points to older versions of kernel, adding new helper C functions
and probe points for the VFS subsystem. A new testcase is created for the VFS
tapset which performs a compile test (i.e. up4) on the probe points to verify
sanity. These details can also be found in the ChangeLog.
Frank Ch. Eigler [Mon, 23 Jun 2008 21:50:40 +0000 (17:50 -0400)]
Merge commit 'origin/pr6429-comp-unwindsyms' into pr6429-comp-unwindsyms
* commit 'origin/pr6429-comp-unwindsyms':
utrace process("PATH") also populate session unwindsym_modules
populate sess.unwindsym_modules set from dwarf probes
add module-name vector to session object, command line arguments
David Smith [Mon, 23 Jun 2008 19:42:03 +0000 (14:42 -0500)]
Made RHEL5 changes.
2008-06-23 David Smith <dsmith@redhat.com>
* task_finder_vma.c (__stp_tf_vma_hash): Improved determination of
whether this is a 64-bit platform.
* syscall.h: Handles kernels with older style register
definitions.
David Smith [Mon, 23 Jun 2008 17:41:45 +0000 (12:41 -0500)]
Major update to memory map change notification code.
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.
Josh Stone [Thu, 19 Jun 2008 00:07:15 +0000 (17:07 -0700)]
New optimization to break up statements in void contexts.
PR 6644
* elaborate.cxx (dead_stmtexpr_remover::visit_block): Flatten nested
block statements into a single block.
(dead_stmtexpr_remover::visit_if_statement): Remove the possibility
of if_statements with a null thenblock. When an if lacks both then
and else, either remove it completely or reduce it to a simple
statment evaluating the condition. With an else and no then, invert
the condition and else becomes then.
(void_statement_reducer): New optimization visitor that breaks
statements in void context into smaller pieces, to expose more
optimization opportunities.
(semantic_pass_opt5, semantic_pass_opt6): Bump opt5 to opt6, and
create a new opt5 that runs through void_statement_reducer.
David Smith [Tue, 17 Jun 2008 14:19:24 +0000 (09:19 -0500)]
Got smarter on which utrace events to set on a newly found thread.
2008-06-17 David Smith <dsmith@redhat.com>
* task_finder.c (__stp_utrace_attach_match_filename): Uses new
__STP_ATTACHED_TASK_EVENTS macro to determine which events to set
on a newly found process based on whether the
stap_task_finder_target structure has a vm_callback defined.
(stap_start_task_finder): Ditto.
Josh Stone [Fri, 13 Jun 2008 21:06:18 +0000 (14:06 -0700)]
Minimize last_error checking.
The old behavior was to check last_error all over the place, and if set,
jump to the out-label. Now it's changed to just jump to the out-label
directly after setting last_error.
David Smith [Wed, 11 Jun 2008 16:16:07 +0000 (11:16 -0500)]
utrace thread.begin and thread.end probe test fixes.
2008-06-11 David Smith <dsmith@redhat.com>
* systemtap.base/utrace_p5.exp: Made changes to work when not
configured in the src directory.
* systemtap.base/utrace_p5_multi.c: Made changes to work on x86_64
systems.
David Smith [Wed, 11 Jun 2008 15:37:32 +0000 (10:37 -0500)]
Added .thread.begin and .thread.end utrace probe tests.
2008-06-11 David Smith <dsmith@redhat.com>
* systemtap.base/utrace_p5.exp: Added 'process().thread.begin' and
'process().thread.end' tests.
* systemtap.base/utrace_p5_multi.c: Added multi-threaded test
program for utrace_p5.exp.
* .gitignore: Updated.
David Smith [Mon, 9 Jun 2008 18:10:14 +0000 (13:10 -0500)]
Made 2.6.25 kernel updates.
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'.
David Smith [Fri, 6 Jun 2008 13:43:59 +0000 (08:43 -0500)]
Changed/renamed utrace probes.
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.
Srinivasa DS <srinivasa@in.ibm.com> -fpie option puts limit on GOT size and hence systemtap build fails on s390. So use -fPIE which doesn't put limit on GOT size.