]> sourceware.org Git - systemtap.git/commit
PR10726: Get the correct scope for statement(NUM)
authorJosh Stone <jistone@redhat.com>
Tue, 6 Oct 2009 00:41:30 +0000 (17:41 -0700)
committerJosh Stone <jistone@redhat.com>
Tue, 6 Oct 2009 02:21:29 +0000 (19:21 -0700)
commit6b517475576ac5f2209e5231d14d0b8aa0b6a4d5
treea6a9bf02abb2723e9acef0290c2ef93ac83fd191
parent6e2d11625b991b4094c9f2cc04e30f8d00f711a6
PR10726: Get the correct scope for statement(NUM)

The problem in this bug is that our statement(NUM) lookup was only
searching for the outermost function (not inlined) which contains the PC
in question.  When that PC happens to be the beginning of the function
and also the beginning of an inline, the caching was using the wrong
variable scope.

The function/statement(NUM) lookup has been rewritten to bypass all of
the CU and function iteration, and just go straight to a getscopes(pc)
lookup, so it will now always use the innermost containing die for the
variable scope.

* tapsets.cxx (query_addr): New, short-circuit for numeric probes.
  (dwarf_query::query_module_dwarf): Route num probes to query_addr.
  (query_label): Assume now that we only need to handle _str probes.
  (query_dwarf_inline_instance): Ditto.
  (query_dwarf_func): Ditto.
  (query_cu): Ditto.
tapsets.cxx
This page took 0.052554 seconds and 5 git commands to generate.