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.7-129-g337b7c4
- From: mark at sourceware dot org
- To: systemtap-cvs at sourceware dot org
- Date: 21 Mar 2012 15:46:22 -0000
- Subject: [SCM] systemtap: system-wide probe/trace tool branch, master, updated. release-1.7-129-g337b7c4
- 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 337b7c44b1cd672f76e58166a562c12a300ddb20 (commit)
from 1485ded3f2d709c9011bd9f340ce39b1930f7e32 (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 337b7c44b1cd672f76e58166a562c12a300ddb20
Author: Tom Tromey <tromey@redhat.com>
Date: Fri Mar 16 10:44:14 2012 -0600
Partial fix for PR12997 - support dwarf4 .debug_types
This fix does not solve the ET_REL case pointed out in the PR.
However, it does work ok for ordinary code.
* dwflpp.cxx (dwflpp::iterate_over_cus): Add 'want_types' argument.
Iterate over type units.
(dwflpp::declaration_resolve_other_cus): Update.
(dwflpp::iterate_single_function): Update.
(dwflpp::iterate_over_globals): Also allow DW_TAG_type_unit.
* dwflpp.h (module_tus_read_t): New typedef.
(dwflpp::iterate_over_cus): Update.
(dwflpp::module_tus_read): New member.
* tapsets.cxx (dwarf_query::query_module_dwarf): Update.
(tracepoint_query::handle_query_module): Update.
* testsuite/systemtap.pass1-4/debugtypes.cxx: New file.
* testsuite/systemtap.pass1-4/debugtypes.exp: New file.
* testsuite/systemtap.pass1-4/debugtypes.stp: New file.
I built gdb with '-gdwarf-4 -fdebug-types-section'.
Then I tried this stap script:
probe process("/home/tromey/gnu/archer/build/gdb/gdb").function("dwarf2_attr") {
println(@cast($dwarf2_per_objfile, "struct dwarf2_per_objfile")->objfile)
}
With Fedora 16 stap:
barimba. stap -p2 /tmp/q.stp
semantic error: type definition 'struct dwarf2_per_objfile' not found: identifier '@cast' at /tmp/q.stp:2:15
source: println(@cast($dwarf2_per_objfile, "struct dwarf2_per_objfile")->objfile)
^
Pass 2: analysis failed. Try again with another '--vp 01' option.
After the patch, this works.
-----------------------------------------------------------------------
Summary of changes:
dwflpp.cxx | 31 +++++++++++++++++++++++----
dwflpp.h | 9 ++++++-
tapsets.cxx | 4 +-
testsuite/systemtap.pass1-4/debugtypes.cxx | 21 +++++++++++++++++++
testsuite/systemtap.pass1-4/debugtypes.exp | 16 ++++++++++++++
testsuite/systemtap.pass1-4/debugtypes.stp | 6 +++++
6 files changed, 78 insertions(+), 9 deletions(-)
create mode 100644 testsuite/systemtap.pass1-4/debugtypes.cxx
create mode 100644 testsuite/systemtap.pass1-4/debugtypes.exp
create mode 100755 testsuite/systemtap.pass1-4/debugtypes.stp
hooks/post-receive
--
systemtap: system-wide probe/trace tool