From 9963b5fc7945ce939aaa8027ca71927cb77a55ff Mon Sep 17 00:00:00 2001 From: David Smith Date: Fri, 8 Aug 2008 12:25:36 -0500 Subject: Saves thread vma information. 2008-08-08 David Smith * task_finder.c (__stp_tf_vm_cb): Added calls to save/delete vma information. * task_finder_vma.c (__stp_tf_vma_map_hash): New function. (__stp_tf_get_vma_map_entry_internal): Ditto. (stap_add_vma_map_info): Ditto. (stap_remove_vma_map_info): Ditto. (stap_find_vma_map_info): Ditto. --- runtime/task_finder.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'runtime/task_finder.c') diff --git a/runtime/task_finder.c b/runtime/task_finder.c index b22a60a8..1db7d836 100644 --- a/runtime/task_finder.c +++ b/runtime/task_finder.c @@ -47,6 +47,15 @@ int __stp_tf_vm_cb(struct task_struct *tsk, _stp_dbug(__FUNCTION__, __LINE__, "vm_cb: tsk %d:%d path %s, start 0x%08lx, end 0x%08lx, offset 0x%lx\n", tsk->pid, map_p, vm_path, vm_start, vm_end, vm_pgoff); + if (map_p) { + // FIXME: What should we do with vm_path? We can't save + // the vm_path pointer itself, but we don't have any + // storage space allocated to save it in... + stap_add_vma_map_info(tsk, vm_start, vm_end, vm_pgoff); + } + else { + stap_remove_vma_map_info(tsk, vm_start, vm_end, vm_pgoff); + } return 0; } #endif -- cgit