This is the mail archive of the
systemtap-cvs@sourceware.org
mailing list for the systemtap project.
[SCM] systemtap: system-wide probe/trace tool branch, master, updated. release-1.0-403-gea549ff
- From: mark at sourceware dot org
- To: systemtap-cvs at sourceware dot org
- Date: 21 Dec 2009 12:25:44 -0000
- Subject: [SCM] systemtap: system-wide probe/trace tool branch, master, updated. release-1.0-403-gea549ff
- Reply-to: systemtap at sourceware dot org
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "systemtap: system-wide probe/trace tool".
The branch, master has been updated
via ea549ffc2915aa58861637472b12196222673fa2 (commit)
from 0c487e433fd6343e49b1e9dbc6492f38cfe26143 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit ea549ffc2915aa58861637472b12196222673fa2
Author: Mark Wielaard <mjw@redhat.com>
Date: Mon Dec 21 13:02:19 2009 +0100
PR11015 Support shared library reloading (in different processes)
* runtime/task_finder_vma.c (stap_remove_vma_map_info): Return negative
status on failure.
(stap_find_vma_map_info): Likewise.
(stap_find_vma_map_info_user): New function.
(stap_drop_vma_maps): New function.
* runtime/sym.h (addr): Renamed to static_addr, to store addresses for
sections which are always mapped at the same address.
(_stp_module_relocate): Add extra struct task_struct *tsk argument.
* runtime/sym.c (_stp_tf_exec_cb): New callback, calls stap_drop_vma_maps.
(_stp_tf_mmap_cb): Don't store address in module.section, but call
stap_add_vma_map_info() per tsk->group_leader for matched module.
Don't register empty/null modules.
(_stp_module_relocate): Take extra struct task_struct *tsk argument,
cache last tsk used. Only use section->static_addr for none dynamic
modules. Use stap_find_vma_map_info_user() to locate dynamic modules.
(_stp_mod_sec_lookup): Add extra argument unsigned long *rel_addr to
optionally store relative address when module/section found.
(_stp_kallsyms_lookup): Use _stp_mod_sec_lookup to find relative address.
(_stp_sym_init): Register _stp_tf_exec_cb in stap_task_finder_target.
Add error check to see if task finder could be initialized.
* dwflpp.cxx (emit_address): Pass NULL for kernel/modules and current for
user tasks to _stp_module_relocate.
* runtime/transport/symbols.c (_stp_do_relocation): Set new static_addr
_stp_section field.
* runtime/unwind.c (adjustStartLoc): Take new struct task_struct *tsk
argument and pass to stap_find_vma_map_info_user and _stp_module_relocate
to find adjusted addr.
(_stp_search_unwind_hdr): Pass through struct task_struct *tsk.
(unwind_frame): Likewise.
* tapset/context-symbols.stp (probemod): Add NULL to _stp_mod_sec_lookup
call to indicate we aren't interested in relative address.
* tapsets.cxx (dwarf_derived_probe_group::emit_module_init): Pass NULL to
_stp_module_relocate to indicate kernel/module address.
-----------------------------------------------------------------------
Summary of changes:
dwflpp.cxx | 6 +-
runtime/sym.c | 167 ++++++++++++++++++++++++++++---------------
runtime/sym.h | 7 ++-
runtime/task_finder_vma.c | 71 +++++++++++++++++-
runtime/transport/symbols.c | 2 +-
runtime/unwind.c | 31 +++++----
tapset/context-symbols.stp | 4 +-
tapsets.cxx | 2 +-
8 files changed, 207 insertions(+), 83 deletions(-)
hooks/post-receive
--
systemtap: system-wide probe/trace tool