From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24744 invoked by alias); 20 Aug 2010 07:24:42 -0000 Received: (qmail 24711 invoked by uid 9586); 20 Aug 2010 07:24:40 -0000 Date: Fri, 20 Aug 2010 07:24:00 -0000 Message-ID: <20100820072439.24699.qmail@sourceware.org> From: jistone@sourceware.org To: systemtap-cvs@sourceware.org Subject: [SCM] systemtap: system-wide probe/trace tool branch, master, updated. release-1.3-66-g785cf26 X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 8c67c3379b9be66d977a70e09f121997f5d85a19 X-Git-Newrev: 785cf26dc2120b1d47c42a85fd8cd29d7481d41c Mailing-List: contact systemtap-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: systemtap-cvs-owner@sourceware.org List-Archive: Reply-To: systemtap@sourceware.org X-SW-Source: 2010-q3/txt/msg00157.txt.bz2 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 785cf26dc2120b1d47c42a85fd8cd29d7481d41c (commit) via 626d0de72e6882ff0ec015c8c728e6d9aaaa590b (commit) via 5ee00816648f564f541811657d894e0be8e970dc (commit) via fde50242adbeee67cb93ab6b887ddb824f87f7c9 (commit) via d48bc7eb832b818d2a4043e7a02c1d13fdf3f6b7 (commit) via 4ef356968e9f7406e6fc324d5010fa9d66bcfce7 (commit) via f5958c8f368ffab013222116bb42f4c0ee969252 (commit) from 8c67c3379b9be66d977a70e09f121997f5d85a19 (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 785cf26dc2120b1d47c42a85fd8cd29d7481d41c Author: Josh Stone Date: Fri Aug 20 00:18:37 2010 -0700 Kill a stray paren in examples/io/inodewatch2.stp commit 626d0de72e6882ff0ec015c8c728e6d9aaaa590b Author: Josh Stone Date: Fri Aug 20 00:18:03 2010 -0700 Support a slight 32/64-bit difference in semok/mangled.stp commit 5ee00816648f564f541811657d894e0be8e970dc Author: Josh Stone Date: Fri Aug 20 00:16:55 2010 -0700 Add shebang to buildok/syscalls-arch-detailed.stp commit fde50242adbeee67cb93ab6b887ddb824f87f7c9 Author: Josh Stone Date: Thu Aug 19 17:15:06 2010 -0700 Print nicer placeholders for aggregates in $$vars et al. * tapsets.cxx (dwarf_var_expanding_visitor::visit_target_symbol_context): Use {...} and [...] to indicate aggregate types. commit d48bc7eb832b818d2a4043e7a02c1d13fdf3f6b7 Author: Josh Stone Date: Thu Aug 19 16:06:23 2010 -0700 Include variables from containing scopes in $$vars too We now iterate through the lexical scopes up to but not including the file level, so we can print variables in containing scopes too. * tapsets.cxx * (dwarf_var_expanding_visitor::visit_target_symbol_context): Iterate through scopes to find available vars. commit 4ef356968e9f7406e6fc324d5010fa9d66bcfce7 Author: Josh Stone Date: Thu Aug 19 15:42:55 2010 -0700 List variables from containing scopes too Now we iterate through the lexical scopes up to but not including the file level, so we can find variables in containing scopes too. This is most significant for statement probes to list everything available. Excluding file-level means that globals aren't listed, but we could consider a more verbose version to include those too. * tapsets.cxx (dwarf_derived_probe::saveargs): Iterate through scopes. commit f5958c8f368ffab013222116bb42f4c0ee969252 Author: Josh Stone Date: Thu Aug 19 14:32:09 2010 -0700 Resolve statement scopes lexically instead of by raw PC When we have a statement PC within a function that we wish to probe, it's not reliable to use getscopes(PC) for variable scoping. This is because there may also be inline instances at the PC, and so you can end up in a different scope altogether. So now we can traverse the DIEs within a function looking for the innermost containing the PC, avoiding those nested DIEs which are actually inlines. This also lets us get rid of the hack that made function prologues do a PC search, so we should have more reliable scoping all around. * dwflpp.cxx (dwflpp::inner_die_containing_pc): New, scan lexical scopes for the innermost DIE that contains a PC, avoiding inlines. (dwflpp::iterate_over_labels): Use the above to find the lexical scope containing the label's address. * tapsets.cxx (query_srcfile_line): Use the above to find the closest DIE for each statement probe. (dwarf_var_expanding_visitor::getscopes): Always call getscopes on the given scope_die, so we don't have the trouble that a PC search entails. ----------------------------------------------------------------------- Summary of changes: dwflpp.cxx | 48 ++++- dwflpp.h | 2 + tapsets.cxx | 275 +++++++++++++---------- testsuite/buildok/syscalls-arch-detailed.stp | 1 + testsuite/semok/mangled.stp | 2 +- testsuite/systemtap.examples/io/inodewatch2.stp | 2 +- 6 files changed, 203 insertions(+), 127 deletions(-) hooks/post-receive -- systemtap: system-wide probe/trace tool